跳转至

DLP: Dynamic Layerwise Pruning in Large Language Models

会议: ICML 2025
arXiv: 2505.23807
代码: https://github.com/ironartisan/DLP
领域: 模型压缩
关键词: LLM剪枝, 非均匀层级稀疏, 中位数, 动态重要性分配, 高稀疏率

一句话总结

提出动态层级剪枝方法 DLP,利用权重与激活值的中位数自适应计算每层的相对重要性,按"越重要稀疏率越低"的原则进行非均匀剪枝,在 70% 高稀疏率下将 LLaMA2-7B 的困惑度降低 7.79、平均零样本准确率提升 2.7%。

研究背景与动机

现有 LLM 剪枝方法(SparseGPT、Wanda 等)对所有层采用均匀稀疏率,忽略了不同层对模型性能的贡献差异,导致在高稀疏率(≥70%)下性能严重退化。OWL 方法虽然尝试了非均匀层级剪枝,但依赖人工设定的离群值阈值 M,该值对模型类型和参数规模极为敏感:

  • LLaMA1-7B 和 LLaMA1-13B(同架构不同规模)最优 M 值不同
  • LLaMA1-7B 和 Vicuna-7B(同规模不同架构)最优 M 值也不同

这意味着 OWL 在实际应用中需要大量调参,且固定阈值可能约束稀疏分配到局部模式,忽略全局重要性分布。DLP 的核心动机就是完全不依赖经验值或模型类型,自动确定每层的相对重要性。

方法详解

整体框架

DLP 的核心思路分三步:

  1. 计算层内绝对不重要性:对每层 Transformer block,基于权重-激活值联合分数的中位数衡量该层的"不重要程度"
  2. 转换为层间相对重要性:通过归一化将绝对不重要性转换为跨层可比较的相对重要性分布 (RID)
  3. 分配非均匀稀疏率:按"重要性越高→稀疏率越低"的原则,结合超参数 α 控制稀疏率的浮动范围

关键设计

1. 权重-激活联合重要性分数

沿用 Wanda 的评分方式,将权重绝对值与对应输入激活的 ℓ₂ 范数相乘,作为每个权重的重要性度量:

\[\mathbf{A}_{ij}^{l} = |\mathbf{W}_{ij}^{l}| \cdot \|\mathbf{X}_{j}^{l}\|_{2}\]

这个分数同时考虑了权重大小和该位置在推理时被激活的程度。

2. 基于中位数的层不重要性度量

DLP 选择中位数作为衡量层不重要性的函数 F(·),即:

\[S^{l} = \sum_{i=1}^{C_{\text{out}}} \sum_{j=1}^{C_{\text{in}}} \text{Median}(\mathbf{A}_{ij}^{l})\]

选择中位数的三大优势:

  • 对离群值不敏感:LLM 中存在大量离群激活值,中位数不会被这些极端值拉偏,更准确反映"中心趋势"
  • 更好捕捉冗余性:接近中位数的元素容易被同层其他元素表示,移除后对性能影响最小;中位数越高表示该层冗余越大
  • 计算简单:相比几何中位数(需要迭代逼近),普通中位数的计算开销极低

论文通过实证研究验证了中位数优于 Sum、Mean、Max、Variance、SD 等统计量(见下方消融实验)。

3. 相对重要性分布 (RID)

将层不重要性归一化并取反,得到每层的相对重要性:

\[I^{l} = 1 - \frac{S^{l}}{\sum_{i=1}^{L} S^{i}}\]

所有层的重要性分数构成 RID = [I¹, I², ..., I^L]。RID 的分布规律与近期研究(深层 layer 功能不如预期)一致:浅层更重要,因为它们负责捕获低层次通用特征;深层倾向于更专业化的信息,对剪枝更具容忍度。

4. 动态稀疏率分配

引入超参数 α 控制稀疏率浮动范围,将 RID 映射到 [0, 2α] 区间:

\[d_j = \frac{I_j - I_{\min}}{I_{\max} - I_{\min}} \times 2\alpha\]

最终每层稀疏率:

\[R_j = p + m - d_j\]

其中 p 为全局目标稀疏率,m 为 d 的均值。这保证:

  • 全局平均稀疏率恰好等于 p
  • 每层稀疏率在 [p-α, p+α] 范围内浮动
  • 避免某一层被过度剪枝导致性能崩溃

5. 剪枝粒度选择

论文在附录中对比了按 Transformer block 分配和按 layer 分配的效果,发现按 layer 分配性能更好。实际剪枝时采用 per-output 而非 per-layer 的方式执行。

损失函数 / 训练策略

DLP 本身是无需训练的剪枝方法,仅需 128 条 C4 校准样本(每条 2048 tokens)用于前向传播获取激活值。层级优化目标沿用标准的 ℓ₂ 重建误差:

\[\min_{\hat{\mathbf{W}}^l} \|\mathbf{W}^l \mathbf{X}^l - \hat{\mathbf{W}}^l \mathbf{X}^l\|_2^2\]

在剪枝后可选地使用 LoRA 微调恢复性能:固定剪枝掩码,使用预训练自回归损失在 C4 训练集上微调,LLaMA1-7B 困惑度可从 17.76 降至 12.15。

实验关键数据

主实验

实验覆盖 LLaMA1 (7B/13B/30B)、LLaMA2 (7B/13B)、LLaMA3-8B、Mistral-7B、Vicuna-7B、Qwen-7B 等 10+ 种模型,在 70% 非结构化稀疏率下的困惑度结果:

剪枝方法 层级策略 LLaMA1-7B LLaMA1-13B LLaMA2-7B LLaMA2-13B 相比OWL提升
SparseGPT Uniform 25.38 18.93 27.84 19.38 -
SparseGPT OWL 19.95 14.02 19.71 15.12 -
SparseGPT DLP 17.76 12.63 18.58 13.30 PPL↓2.19/1.39/1.13/1.82
Wanda Uniform 86.38 56.26 76.84 45.76 -
Wanda OWL 24.46 16.23 30.58 20.65 -
Wanda DLP 20.46 13.65 22.79 16.19 PPL↓4.00/2.58/7.79/4.46

零样本平均准确率(70% 稀疏率,7 个下游任务):

剪枝方法 层级策略 LLaMA1-7B LLaMA1-13B LLaMA2-7B LLaMA2-13B
Dense - 64.33 66.78 64.42 67.04
SparseGPT Uniform 45.32 48.34 44.72 47.99
SparseGPT DLP 48.32 53.06 49.65 53.47
Wanda Uniform 39.91 41.62 37.04 40.44
Wanda DLP 48.62 52.03 46.25 51.11

消融实验

不重要性度量函数的对比(LLaMA1-7B,70% 稀疏率,WikiText PPL):

度量方法 Magnitude SparseGPT Wanda 说明
Sum 3.7e3 18.24 21.03 求和,等价于Mean
Mean 3.7e3 18.24 21.03 均值,受离群值影响
Median 3.4e3 17.76 20.40 中位数,最优
Max 2.9e4 38.57 931.89 最大值,极不稳定
Variance 4.7e5 21.33 43.31 方差,性能较差
SD 2.5e5 21.42 38.03 标准差,性能较差

LOD(离群值保留率)对比(LLaMA1-13B,70% 稀疏率):

方法 LOD(%)↑ PPL↓ 说明
Uniform (SparseGPT) 47.70 18.93 基线
OWL (SparseGPT) 51.97 14.02 离群值保留增加
DLP (SparseGPT) 64.46 12.63 离群值保留最多
Uniform (Wanda) 55.14 56.26 基线
DLP (Wanda) 70.06 13.65 LOD比OWL高13.76%

关键发现

  1. 推理加速显著:在 DeepSparse 引擎上,LLaMA2-7B 在 70% 稀疏率下实现 2.8x 加速,80% 稀疏率达 3.5x,90% 稀疏率达 3.7x
  2. 计算开销可忽略:DLP 的非均匀稀疏率预计算和实际剪枝时间与均匀剪枝几乎相同(Wanda+DLP 仅比 Wanda 多 0.03 秒)
  3. LoRA 微调可进一步恢复:70% 稀疏率下 LLaMA1-7B 的 PPL 从 17.76 降至 12.15(降幅 31.6%)
  4. 稀疏率越高,DLP 优势越大:在 80% 稀疏率下 DLP 相对 OWL 的 PPL 降幅达 56%
  5. 广泛兼容:DLP 可与非结构化剪枝、N:M 稀疏、结构化剪枝、量化 (GPTQ)、SVD、PEFT (LoRA) 方法无缝集成

亮点与洞察

  • 简洁而有效的核心思想:仅用中位数一个统计量就取代了 OWL 需要调参的离群值阈值 M,方法极简但效果显著
  • 逆向思维:先算"不重要性"再取反得到重要性,比直接定义重要性更自然——因为"冗余"比"关键"更容易度量
  • α 参数的优雅设计:将重要性映射到有界区间 [0, 2α] 避免了极端稀疏率对单层的毁灭性影响,同时保证全局稀疏率精确等于目标值
  • 深层不重要性递增的发现与近期 layer pruning/ShortGPT 等工作相吻合,提供了从剪枝角度的交叉验证

局限与展望

  1. Magnitude 基线配合 DLP 仍然较差:虽然有提升,但 Magnitude+DLP 在 7B 模型上 PPL 仍高达 3.4e3,说明 DLP 本质上是"增强剂"而非独立方案
  2. 超参数 α 仍需选择:虽然去掉了 M 的依赖,但引入了 α,论文在附录 G 中对不同稀疏率给出了推荐值,仍有调参空间
  3. 校准数据敏感性未充分探讨:仅使用 C4 的 128 条样本,不同领域/分布的校准数据可能影响 RID 计算
  4. 缺少对 MoE 架构的评估:仅测试了 dense 架构的 LLM,Mixtral 等 MoE 模型的层重要性分布可能截然不同
  5. 高稀疏率下绝对性能仍然堪忧:即便加上 LoRA 微调,70% 稀疏率的 LLaMA1-7B 困惑度(12.15)也远高于 dense 模型(5.68)

相关工作与启发

  • SparseGPT / Wanda:DLP 的直接基线,DLP 作为其层级分配的即插即用增强模块
  • OWL:最直接的竞争对手,基于离群值比例分配稀疏率,但依赖经验阈值
  • FPGM / LRMF:中位数在剪枝中的先驱工作,但用的是几何中位数(计算复杂),DLP 简化为普通中位数
  • ShortGPT / Layer Pruning:发现深层可以被直接删除的工作,与 DLP 的 RID 趋势一致
  • LAMP:另一种自适应层级剪枝方法,DLP 在 40%+ 稀疏率下全面超越

评分

  • 新颖性: ⭐⭐⭐⭐ — 核心思想(中位数+逆向重要性)简洁巧妙,但整体框架偏增量式改进
  • 实验充分度: ⭐⭐⭐⭐⭐ — 10+ 模型、3 个剪枝方法、多种稀疏率、6 类扩展实验,非常全面
  • 写作质量: ⭐⭐⭐⭐ — 结构清晰,实证研究层层递进,但符号偏多,部分公式展开较冗长
  • 价值: ⭐⭐⭐⭐ — 即插即用、零额外开销、广泛兼容各种压缩方法,实用性强

评分

  • 新颖性: 待评
  • 实验充分度: 待评
  • 写作质量: 待评
  • 价值: 待评

相关论文