Accelerating LLM Inference with Flexible N:M Sparsity via A Fully Digital Compute-in-Memory Accelerator

📄 arXiv: 2504.14365v1 📥 PDF

作者: Akshat Ramachandran, Souvik Kundu, Arnab Raha, Shamik Kundu, Deepak K. Mathaikutty, Tushar Krishna

分类: cs.LG, cs.AI, cs.AR

发布日期: 2025-04-19

🔗 代码/项目: GITHUB


💡 一句话要点

提出FLOW与FlexCiM,加速具有灵活N:M稀疏性的大语言模型推理。

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大语言模型 稀疏性 剪枝 存内计算 硬件加速 推理优化 异常值密度 自适应稀疏

📋 核心要点

  1. 现有固定N:M稀疏性限制了稀疏模型的表达能力,导致性能欠佳,而支持多种N:M模式会带来硬件开销。
  2. 提出FLOW方法,通过感知层级异常值密度来选择最优N:M值,从而提升稀疏模型的表达自由度。
  3. FlexCiM架构通过灵活的子宏聚合与分解,支持多种N:M稀疏模式,降低推理延迟和能耗。

📝 摘要(中文)

本文提出了一种灵活的、面向层级异常值密度感知的N:M稀疏性(FLOW)选择方法,旨在解决固定N:M结构化稀疏性对大语言模型(LLM)性能的限制。FLOW通过同时考虑异常值的存在和分布,实现了对最优层级N和M值的识别,从而提供更高的表示自由度。为了部署具有这种N:M灵活性的稀疏模型,本文还介绍了一种灵活、低开销的数字存内计算架构(FlexCiM)。FlexCiM通过将数字CiM(DCiM)宏划分为更小的子宏来支持不同的稀疏模式,这些子宏通过分配和合并机制自适应地聚合和分解,以适应不同的N和M值。在基于Transformer和基于循环的状态空间基础模型(SSM)上的大量实验表明,FLOW优于现有的替代方案,精度提高了高达36%,而FlexCiM与现有的稀疏加速器相比,实现了高达1.75倍的推理延迟降低和1.5倍的能耗降低。代码可在https://github.com/FLOW-open-project/FLOW 获取。

🔬 方法详解

问题定义:现有的大语言模型剪枝方法通常采用固定的N:M结构化稀疏性,这种方法限制了模型的表达能力,导致性能下降。虽然支持多种N:M模式可以提高表达能力,但会显著增加硬件开销,使得部署变得困难。因此,需要一种既能保持模型表达能力,又能降低硬件开销的稀疏化方案。

核心思路:本文的核心思路是提出一种灵活的N:M稀疏性选择方法(FLOW),该方法能够根据每一层的异常值密度自适应地选择最优的N和M值,从而在保持模型表达能力的同时,降低硬件开销。此外,还设计了一种灵活的数字存内计算架构(FlexCiM),该架构能够高效地支持不同的N:M稀疏模式。

技术框架:整体框架包含两个主要部分:FLOW稀疏性选择方法和FlexCiM加速器架构。FLOW方法首先分析每一层的异常值密度,然后根据异常值密度选择最优的N和M值。FlexCiM加速器架构将DCiM宏划分为更小的子宏,并通过分配和合并机制自适应地聚合和分解这些子宏,以支持不同的N和M值。

关键创新:最重要的技术创新点在于FLOW方法能够根据每一层的异常值密度自适应地选择最优的N和M值,从而在保持模型表达能力的同时,降低硬件开销。此外,FlexCiM架构通过灵活的子宏聚合与分解,能够高效地支持不同的N:M稀疏模式,降低推理延迟和能耗。与现有方法的本质区别在于,FLOW方法不再局限于固定的N:M稀疏模式,而是能够根据每一层的特性进行自适应调整。

关键设计:FLOW方法的关键设计在于如何定义和计算异常值密度,以及如何根据异常值密度选择最优的N和M值。FlexCiM架构的关键设计在于如何将DCiM宏划分为更小的子宏,以及如何通过分配和合并机制自适应地聚合和分解这些子宏。具体的参数设置、损失函数和网络结构等技术细节在论文中有详细描述。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,FLOW方法在精度上优于现有的替代方案,精度提高了高达36%。FlexCiM架构与现有的稀疏加速器相比,实现了高达1.75倍的推理延迟降低和1.5倍的能耗降低。这些结果表明,FLOW方法和FlexCiM架构能够有效地提高大语言模型的推理性能和能效。

🎯 应用场景

该研究成果可应用于各种需要高性能和低功耗的大语言模型推理场景,例如移动设备、边缘计算设备和数据中心。通过FLOW方法和FlexCiM架构,可以显著降低大语言模型的推理延迟和能耗,从而提高用户体验和降低运营成本。未来,该研究成果有望推动大语言模型在更多领域的应用。

📄 摘要(原文)

Large language model (LLM) pruning with fixed N:M structured sparsity significantly limits the expressivity of the sparse model, yielding sub-optimal performance. In contrast, supporting multiple N:M patterns to provide sparse representational freedom introduces costly overhead in hardware. To address these challenges for LLMs, we first present a flexible layer-wise outlier-density-aware N:M sparsity (FLOW) selection method. FLOW enables the identification of optimal layer-wise N and M values (from a given range) by simultaneously accounting for the presence and distribution of outliers, allowing a higher degree of representational freedom. To deploy sparse models with such N:M flexibility, we then introduce a flexible, low-overhead digital compute-in-memory architecture (FlexCiM). FlexCiM supports diverse sparsity patterns by partitioning a digital CiM (DCiM) macro into smaller sub-macros, which are adaptively aggregated and disaggregated through distribution and merging mechanisms for different N and M values. Extensive experiments on both transformer-based and recurrence-based state space foundation models (SSMs) demonstrate that FLOW outperforms existing alternatives with an accuracy improvement of up to 36%, while FlexCiM achieves up to 1.75x lower inference latency and 1.5x lower energy consumption compared to existing sparse accelerators. Code is available at: https://github.com/FLOW-open-project/FLOW