超越单维压缩:大语言模型的复合稀疏前沿
摘要
本文提出了一种针对LLM的复合稀疏框架,结合了静态参数剪枝与动态令牌级计算,表明混合这两种机制优于单维压缩,并能延迟性能退化。
arXiv:2607.18280v1 Announce Type: new
摘要:大型语言模型(LLM)通常通过静态参数剪枝或动态令牌级计算进行压缩,然而过度的稀疏化会在达到一个本质稀疏边界后引发快速性能退化。本文探讨了\emph{这两种机制的结合能否通过分配压缩负担来延迟这种退化}。我们研究了一个极简的复合稀疏框架,该框架首先应用低秩近似和通道剪枝来获得一个静态压缩的主干网络,然后引入轻量级路由器用于逐令牌动态层跳过。这种设计使得参数稀疏性和令牌级计算稀疏性可以独立控制。在语言理解和建模基准上的实验表明,在总稀疏率相同的情况下,复合稀疏始终优于单一机制压缩,能够推迟理解任务中的退化点并保持更强的建模性能。进一步分析揭示了参数剪枝与令牌跳过之间的跨维度干扰,并表明在固定稀疏预算下,接近平衡的分配最为有效。这些结果表明,复合压缩为改进LLM压缩提供了一种实用方法,同时揭示了一个更广泛的跨维度稀疏边界,该边界最终限制了进一步的压缩。代码将在 https://github.com/EIT-NLP/LLM-Pruning 提供。
查看缓存全文
缓存时间: 2026/07/22 08:18
# 超越单一维度压缩:大语言模型的复合稀疏性边界 ## 摘要 大型语言模型通常通过静态参数剪枝或动态令牌级计算进行压缩,然而,超越某个必要稀疏边界后,激进的稀疏化会引发性能快速下降。本研究旨在探究**结合这两种机制能否通过分散压缩负担来延缓这种性能衰减**。我们研究了一个极简的复合稀疏框架,该框架首先应用低秩近似和通道剪枝获得静态压缩的主干网络,然后引入轻量级路由器实现每个令牌的动态层级跳过。这种设计使得参数稀疏性和令牌级计算稀疏性可以独立控制。在语言理解和建模基准上的实验表明,在相同总稀疏度下,复合稀疏性始终优于单一机制压缩,能够延缓理解任务上的性能衰减点,并保持更强的建模性能。进一步的分析揭示了参数剪枝与令牌跳过之间存在跨维度干扰,并显示在固定稀疏预算下,接近平衡的分配最为有效。这些结果表明,复合压缩为提高大语言模型压缩效果提供了一种实用途径,同时揭示了一个更广泛的、最终限制进一步压缩的跨维度稀疏边界。代码将在 https://github.com/EIT-NLP/LLM-Pruning/ 提供。 --- # 超越单一维度压缩:大语言模型的复合稀疏性前沿 Chao Han, Haozhe Hu, Xiaoyu Shen††通讯作者 宁波数字孪生研究院,东方理工大学,宁波 通讯邮箱:Xiaoyu Shen <[email protected]> ## 1 引言 大型语言模型的规模化发展在语言理解和生成方面取得了显著进展;然而,其高昂的推理成本使其在资源受限环境中的部署变得困难。因此,模型压缩成为了在保持模型能力的同时减少内存使用和计算量的核心方向。 大语言模型压缩的一个关键挑战是**本质稀疏性**的存在。压缩通常可以移除部分模型或计算,且性能下降有限,但超过临界点后,进一步的稀疏化会导致性能快速衰减。 这个稀疏边界通常是通过单一压缩方法来研究的。在大语言模型压缩中,两个代表性方向是静态参数剪枝和动态令牌级计算。静态参数剪枝通过在推理前移除或分解参数来降低模型的结构成本。动态令牌级计算方法则通过在推理过程中自适应地将计算分配给不同的令牌或输入,从而降低推理成本。尽管这些方法利用了不同来源的冗余,但它们通常被分别推进和评估,因此由此产生的稀疏极限往往被视为单一压缩机制的内在属性。 这种单一机制的观点留下了一个重要问题:**如果一种压缩机制最终达到了其稀疏边界,那么将其与另一种机制相结合能否延缓性能衰减的发生?** 直觉很简单。大语言模型中的冗余出现在多个层面,包括参数、层和令牌级计算,因此目标压缩预算不必完全施加于单一冗余来源。相反,部分预算可以分配给静态参数剪枝以降低主干网络成本,而另一部分则可以分配给动态令牌跳过以减少依赖于输入的计算。通过分散压缩压力,复合压缩可能在实现相同总稀疏度的同时,使每个单一机制保持在较为温和的范围内。 在本工作中,我们以静态参数剪枝和动态令牌跳过的组合作为代表性且可控的案例来研究这个问题。具体地,我们首先应用LoRAP和通道剪枝来获得一个静态压缩的主干网络,然后为每个令牌添加轻量级路由器以实现动态层级跳过。这种设计使我们能够独立控制参数稀疏性和令牌级计算稀疏性,从而分析不同的压缩分配如何影响稀疏性-性能权衡。 我们的实验表明,在相同的总稀疏度下,复合稀疏性始终比单一机制压缩获得更好的压缩-性能权衡。在理解任务上,它将尖锐的衰减点从约20%推迟到了约30%的稀疏度。在语言建模上,它也保持了更高的性能,例如,在30%稀疏度下达到约70%的相对性能,而令牌跳过约为60%,参数剪枝约为56%。进一步的分析揭示了跨维度干扰:轻度剪枝后的主干网络对令牌稀疏性变得更加敏感。在固定的50%总稀疏度预算下,接近平衡的分配获得了最佳性能。这些发现支持了**"两个维度,一堵墙"**原则:复合压缩延缓了性能衰减,但一个更广泛的跨维度稀疏边界仍然存在。 我们的贡献有三方面:(1) 我们从复合压缩的视角研究本质稀疏性,探究结合静态参数剪枝和动态令牌跳过是否能延缓性能衰减。(2) 我们引入了一个基于LoRAP、通道剪枝和每个令牌动态层级跳过的极简且可控的框架,实现了参数和令牌稀疏性的独立控制。(3) 我们证明,与单一机制压缩相比,复合稀疏性改善了压缩-性能权衡并延缓了衰减,但仍然会收敛到一个跨维度稀疏边界。 ## 2 方法 我们的目标是建立一个标准化、可控的范式来探索复合稀疏性,研究参数稀疏性与令牌级动态计算稀疏性之间的相互作用和基本极限。我们采用两种成熟的方法:LoRAP用于静态参数剪枝,SkipGPT用于令牌级动态层级跳过。使用现成的技术排除了定制设计带来的偏差,确保我们的观察纯粹反映跨维度稀疏分配的效果。 ### 2.1 复合压缩流程 我们首先制定预训练大语言模型标准Transformer层的前向计算范式。将未压缩Transformer层的原始前向映射(如图1(a)所示)表示为: $$y = \mathcal{F}(x) \qquad (1)$$ 其中 $x \in \mathbb{R}^{N \times d}$ 表示输入令牌嵌入序列,序列长度为 $N$,隐藏维度为 $d$,$\mathcal{F}(\cdot)$ 表示完整的Transformer层的完整计算算子。 #### 步骤1:静态参数空间压缩 我们首先对原始层算子 $\mathcal{F}(\cdot)$ 进行结构化参数剪枝。令 $s_p \in [0,1]$ 表示**参数稀疏率**,它量化了层内被剪枝的多余参数的比例。参数剪枝后,原始的全层算子被转换为稀疏参数主干算子 $\mathcal{F}_p(\cdot)$。相应地,该层的总体计算开销降低到原始规模的 $(1 - s_p)$。参数压缩后的前向传播(见图1(b))表示为: $$y_p = \mathcal{F}_p(x) \qquad (2)$$ 在我们的实现中,我们采用LoRAP进行参数剪枝,它对注意力模块应用低秩分解,对MLP模块应用通道剪枝。 #### 步骤2:动态令牌级计算压缩 在剪枝后的稀疏主干网络上,我们进一步集成轻量级的推理自适应路由机制,以执行每个令牌的计算跳过。我们定义 $s_t \in [0,1]$ 为**令牌计算稀疏率**,表示免于全层前向计算的令牌的预期比例。 按照SkipGPT的思路,我们在每个Transformer层内部署一个轻量级的后训练路由模块,为每个令牌生成二值路由指示。整个输入令牌序列 $x$ 根据路由决策被划分为两个不相交的子集(对应图1(c)中的蓝色和灰色方块):执行前向计算的**活跃令牌子集** $x_{\mathcal{A}}$ 和直接被传递到下一层的**非活跃令牌子集** $x_{\mathcal{I}}$。 复合稀疏层的最终混合前向计算可以分段形式正式写为: $$y_t = \begin{cases} \mathcal{F}_p(x), & x \in x_{\mathcal{A}} \\ x, & x \in x_{\mathcal{I}} \end{cases} \qquad (3)$$ 这种分层两阶段压缩范式严格分离了参数结构稀疏性和令牌自适应计算稀疏性,并在两个正交优化维度上实现了对稀疏强度的解耦控制。 ### 2.2 复合稀疏性的定义 在本工作中,我们从**有效推理计算减少率**的角度统一定义稀疏性,该定义在不同压缩维度上维持一致的衡量标准,便于公平比较。 经过级联的参数剪枝和动态令牌跳过,目标层的保留计算量被量化为两个维度保留计算率的乘积: $$\text{保留计算率} = (1 - s_p) \cdot (1 - s_t)$$ 相应地,我们定义**全局复合稀疏度** $S_{\text{comp}}$ 为被消除的计算资源的总比例: $$S_{\text{comp}} = 1 - (1 - s_p)(1 - s_t) \qquad (4)$$ 在固定的目标稀疏度 $S_{\text{target}}$ 下,我们可以调整 $(s_p, s_t)$ 的组合来实现多样化的稀疏分配策略:将更多压缩预算分配给参数维度,将更多稀疏负担放置在令牌动态维度,或采用平衡的双维分配。这种灵活的分配策略构成了我们探索"转移压缩压力能否规避单一维度稀疏崩溃极限"的核心实验基础。 ### 2.3 平衡稀疏性分配 我们采用均匀稀疏性分配来实现平衡的压缩预算分布。给定参数稀疏度 $s_p$ 和令牌稀疏度 $s_t$,总复合稀疏度定义为 $S_{\text{comp}} = 1 - (1 - s_p)(1 - s_t)$。对于目标全局稀疏度,我们通过设置 $s_p = s_t = X$ 将压缩强度均匀分配到两个维度。求解 $(1 - X)^2 = 1 - S_{\text{comp}}$ 得到统一稀疏率。从数学上讲,等量分配最小化了任一维度上施加的最大稀疏度,这成为了我们实验中的基本分配原则。第3.3节表明这种范式在实际中也效果良好。 ## 3 实验 ### 3.1 实验设置 我们使用Llama3.1-8B作为基础模型,使用Redpajama作为训练数据。我们在理解和建模任务上评估模型性能。 **理解任务**:BoolQ、PIQA、HellaSwag、Winogrande、ARC-E/ARC-C和OBQA上的准确率。 **建模任务**:WikiText-2上的困惑度(PPL)。 所有任务均通过lm-eval 0.4.9进行评估。我们报告相对性能(例如,压缩后准确率/原始准确率),以直观地量化模型能力的保持程度。 ### 3.2 主要结果 #### 建模更敏感 首先,语言建模比语言理解遭受更严重的性能下降。差异在于任务性质:由于语言模式简单,多项选择理解任务对压缩噪声具有鲁棒性,而建模
相似文章
面向大语言模型激活稀疏化的敏感性感知阈值化与令牌路由
本文提出了SATS(面向稀疏性的敏感性感知阈值化)及令牌路由框架,通过动态稀疏化MLP激活,提升LLM推理效率。与基于百分位数的基线方法相比,这些方法实现了更优的质量-吞吐量权衡。
大规模下的Hidden Decoding: 大型语言模型的潜在计算扩展
本文介绍了Hidden Decoding,这是一种针对LLM的序列长度扩展方法,通过将每个令牌扩展为多个具有独立嵌入表的流,并在每个令牌内增加内部计算,同时使用Stream-Factorized Attention来保持低成本。在多达617B参数的模型上的实验显示,该方法较基线有一致的改进,展示了一条实用的固定骨干扩展路径。
通过幂变换和保号分数聚合实现自适应特征保留的大语言模型结构化剪枝
本文提出了一种针对大语言模型的结构化剪枝方法,解决了在将非结构化剪枝技术适配到结构化剪枝时出现的分布不匹配、符号信息丢失和异常值影响等问题,在Llama-3-8B和Vicuna-v1.5-13B等模型上实现了相当精度,并获得了1.56-1.57倍的加速。
小型LLM:剪枝与从头训练
本文实证比较了剪枝与从头训练小型语言模型的差异,发现在有限token预算下剪枝具有明显优势,但随着训练规模扩大,优势逐渐减小,尤其是在粗粒度剪枝情况下。
压缩重要部分:神经元重要性与数据感知低秩逼近相结合的语言模型压缩
本文提出了一种通过结合神经元重要性和数据感知低秩逼近来压缩大型语言模型的方法,同时采用高效的动态压缩率分配算法,性能与之前的最先进水平相当或更优。