Back to blog

SoLA: Leveraging Soft Activation Sparsity and Low-Rank Decomposition for Large

利用软激活稀疏性和低秩分解的LLM压缩方法

一、论文概述

项目内容
标题SoLA: Leveraging Soft Activation Sparsity and Low-Rank Decomposition for Large Language Model Compression
作者Xinhao Huang, You-Liang Huang, Zeyi Wen
机构The Hong Kong University of Science and Technology (Guangzhou), HKUST
论文arXiv:2604.03258
代码GitHub
发布2026-03-12
领域cs.CL, cs.AI

二、核心思想

问题定义

大语言模型(LLM)的数十亿参数给部署带来挑战。现有压缩方法存在以下问题:

方法类型局限性
非结构化剪枝现代LLM使用SiLU/GeLU而非ReLU,无法利用零激活稀疏性;硬件不支持
结构化剪枝激进修改模型结构导致精度下降,需要微调恢复
量化需要后续微调以获得更好的精度恢复
低秩分解忽略输入输出数据分布和模块差异,性能下降严重

解决方案概述

SoLA (Soft activation sparsity + Low-rAnk decomposition) 提出一种无需训练的压缩方法:

  1. 识别软激活稀疏性:现代LLM的FFN中存在长尾分布的激活模式
  2. 保留关键神经元:保留少数高激活范数的”主神经元”(Prime Neurons)
  3. 压缩边际神经元:对剩余的”边际神经元”应用SVD低秩分解
  4. 自适应秩分配:为不同权重矩阵分配最优截断位置

SoLA框架

三、技术架构

软激活稀疏性

虽然现代LLM使用SiLU/GeLU而非ReLU,但仍存在软激活稀疏性:

激活稀疏性可视化

关键发现:

  • 少数神经元的激活范数占据总范数的绝大部分(如LLaMA-2-13B中15%神经元占95%)
  • 移除高激活范数神经元(PN)会导致性能急剧下降
  • 移除低激活范数神经元(MN)对性能影响较小

实验验证(LLaMA-2-13B):

操作困惑度变化
原始模型4.57
移除1% PN9665.4 (灾难性)
移除10% PN4.83 (轻微)
移除30% MN6.58 (可接受)
移除50% MN17.03 (较大)

核心公式

FFN计算:

h = \sigma(X W^{in}) \tag{1}

out = h W^{out} \tag{2}

FFN分解:

FFN(X)=σ(XWin)×WoutFFN(X) = \sigma(X W^{in}) \times W^{out} = \sigma(X W_{\alpha}^{in}) W_{\alpha}^{out} + \sigma(X W_{\beta}^{in}) W_{\beta}^{out} \tag{6}

其中 WαW_{\alpha} 对应主神经元(PN),WβW_{\beta} 对应边际神经元(MN)。

SVD分解:

W = U \Sigma V \tag{3}

W \approx AB \tag{4}

其中 A=(UkΣk)A = (U_k \sqrt{\Sigma_k}), B=(ΣkVkT)B = (\sqrt{\Sigma_k} V_k^T)

重建损失:

L = \|W - W'\|_F \tag{5}

压缩损失定理(Theorem 1):

给定输入 XX、权重矩阵 WW 的SVD分解 UΣVT=WU\Sigma V^T = W,以及 XXTXX^T 的Cholesky分解 SS:

L2=∥∑i=m+1rσiui∣iTS−1X∥F2=∑i=m+1r(σi)2L^2 = \left\| \sum_{i=m+1}^{r} \sigma_i u_i |i^T S^{-1} X \right\|_F^2 = \sum_{i=m+1}^{r} (\sigma_i)^2

自适应秩分配

性能评分函数:

f(r) = \frac{\sum_{i=0}^{r} \sigma_i^2}{\sum \sigma^2} \tag{8}

优化问题:

arg⁡max⁡r∑f(rc)\arg\max_{r} \sum f(r_c) \text{s.t. } \sum g(r_c) \leq \mathcal{B} \tag{9}

其中 rcr_c 是组件 cc 的截断位置,g(rc)g(r_c) 是内存占用,B\mathcal{B} 是内存预算。

压缩流程

  1. 校准数据收集:256个样本,序列长度4096
  2. 神经元排序分组:按激活范数降序排列,分为PN和MN
  3. 权重矩阵分区:保留PN权重不压缩,仅对MN应用SVD
  4. 自适应秩分配:贪心搜索算法,秩设为16的倍数(NVIDIA硬件加速)

关键设置:

  • 默认 γ=0.15\gamma = 0.15(PN比例15%)
  • V投影不参与压缩(性能下降显著)

四、核心创新

创新点说明理论/实验依据
软激活稀疏性发现现代LLM中SiLU/GeLU的长尾激活分布15%神经元占95%激活范数
细粒度分解区分PN和MN,仅压缩MN移除1% PN导致灾难性下降
自适应秩分配为不同权重矩阵分配最优截断位置8%-18%困惑度降低
无需训练仅需校准数据,无需微调256样本即可

五、实验结果

困惑度对比

困惑度对比

方法压缩率LLaMA-2-7BLLaMA-2-13BLLaMA-2-70BMistral-7B
Dense0%5.114.573.124.92
SoLA20%6.525.614.066.06
SVD-LLM20%8.076.185.967.26
SoLA30%7.816.314.447.38
SVD-LLM30%11.407.936.9512.32

关键结果:LLaMA-2-70B 30%压缩率下,困惑度从6.95(SVD-LLM)降至4.44。

下游任务精度

LLaMA-2-70B 30%压缩率:

  • SoLA平均精度:0.6625
  • SVD-LLM平均精度:0.6091
  • 提升:~10%

评测基准:MMLU (5-shot), BoolQ, PIQA, WinoGrande, HellaSwag, ARC-easy, ARC-challenge, OpenBookQA

主神经元影响

主神经元影响

PN比例20%压缩困惑度30%压缩困惑度
0%~6.5~8.0
5%~5.8~7.0
15% (默认)~5.6~6.3
30%~5.5~6.2
50%~5.5~6.2

自适应 vs 均匀秩分配

校准数据鲁棒性

模型压缩率均匀困惑度自适应困惑度均匀精度自适应精度
LLaMA-2-7B20%8.077.180.4670.541
LLaMA-2-13B30%7.937.020.4850.541
Mistral-7B30%12.3210.090.4320.491

提升:8%-18%困惑度降低,最高14%精度提升

推理效率

模型压缩率推理时间 (ms)加速比
LLaMA-2-7B0%20.04-
LLaMA-2-7B20%16.391.22×
LLaMA-2-7B30%13.041.54×
LLaMA-2-13B20%21.921.44×
LLaMA-2-13B30%17.871.77×
LLaMA-2-70B20%65.761.47×
LLaMA-2-70B30%57.041.69×

硬件:RTX4090,序列长度2048

组件级耗时分析(LLaMA-2-13B)

组件原始 (ms)20% (ms)30% (ms)
Gate7.145.615.19
Up7.125.084.53
Down8.115.444.77
Q3.071.340.93
K3.091.340.68
O3.123.121.77
总计31.6421.9217.87

六、相关工作

方法类型特点与SoLA的区别
SparseGPT非结构化剪枝稀疏回归需要硬件支持
Wanda非结构化剪枝权重和激活重要性硬件不支持
LLM-Pruner结构化剪枝一阶Taylor展开需要微调
FLAP结构化剪枝波动剪枝指标需要偏置恢复
GPTQ量化逆Hessian信息需要微调
ASVD低秩分解对角矩阵缩放忽略模块差异
SVD-LLM低秩分解奇异值与损失关系SoLA改进
Bolaco低秩分解贝叶斯优化需要精确特征估计

七、总结

核心贡献

  1. 软激活稀疏性发现:首次分析并利用现代LLM中SiLU/GeLU的激活模式
  2. 细粒度分解方法:区分主神经元和边际神经元,仅压缩后者
  3. 自适应秩分配策略:为不同权重矩阵分配最优截断位置
  4. 无需训练压缩:仅需256个校准样本,无需微调

技术影响

  • 部署友好:无需特殊硬件支持或昂贵的后训练
  • 质量保持:20-30%压缩率下保持模型质量
  • 通用性:适用于LLaMA-2和Mistral系列
  • 高效推理:1.22×-1.77×推理加速

局限性

  1. 压缩率限制:超过40%压缩率性能下降明显
  2. V投影敏感:V投影层不能参与压缩
  3. 校准依赖:需要代表性校准数据
  4. 硬件适配:秩需设为16的倍数以利用NVIDIA加速

八、参考资源