论文标题:
A Simple and Effective Pruning Approach for Large Language Models
https://arxiv.org/pdf/2306.11695.pdf
https://github.com/locuslab/wanda
大规模语言模型(LLMs)的实用化部署需要解决高计算成本的问题,模型剪枝是主流且很有潜力的解决方案。现有的剪枝方法大都需要重新训练或漫长的迭代修剪,LLMs 巨大的微调成本阻碍了这些方法的应用。今年年初出现的 SparseGPT 不再需要传统的重新训练,但仍需要一个计算密集型的权重补偿过程。
SparseGPT 工作中的实验表明——幅值剪枝在较高剪枝率下在 LLMs 的性能退化严重,这与过往幅值剪枝在小模型的趋势不符。作者敏锐地观察到了这一差异,提出了一种简单有效的方法来解决幅值剪枝在 LLMs 下的性能退化,称为 Wanda(Pruning by Weights and activations)。
N:M 结构化稀疏:Wanda可以自然地扩展到结构化的 N:M 稀疏性,只需要在每 M 个连续权重中使用相同的度量来比较与输出连接的所有权重的权重。
实验
1. 语言模型:如表 2 所示,Wanda 在任何剪枝模式下都大大优于幅值剪枝,且在完全不更新权重的情况下和 SparseGPT 持平。从图 2 中也可以看出 Wanda 解决了幅值剪枝的性能退化问题,随着稀疏率的增加,Wanda 和 SparseGPT 呈现相近的退化趋势。
2. Zero-shot 任务:表 3 对比了不同剪枝方法在下游 zero-shot 任务的性能表现,Wanda 远超幅值剪枝,与 SparseGPT 各有优劣。
3. 剪枝成本:表 4 对比了在不同模型规模下 Wanda 和 SparseGPT 的剪枝成本,与 SparseGPT 相比 Wanda 的时间开销可以忽略不计,在 65B 的模型上至需要 5.6 秒。
▲ 表4. Wanda和SparseGPT的时间开销(单位:秒),不包括共享的前向传递过程
4. 消融实验:表 5 分析了不同剪枝度量和剪枝粒度的性能对比,证明了适当的剪枝粒度对于修剪 LLMs 的重要性。图 3 分析了不同参考样本下剪枝算法的性能变化,样本越多性能越好,Wanda 比 SparseGPT 对少样本更鲁棒。表 6 尝试将 SparseGPT 的权重更新策略与 Wanda 结合,实验发现权重更新不能帮助 Wanda 进一步提升性能。
5. 扩展-图像分类:图 4 分析了 Wanda 在 ViT 图像分类任务的性能,在图像分类任务上,Wanda 仍优于幅值剪枝,但没有有效缓解性能退化的问题,我猜测这是因为实验所采用的 ViT 过小,没有出现类似 LLM 的“紧凑大幅值特征”的特性。
参考文献
[1] Elias Frantar and Dan Alistarh. SparseGPT: Massive language models can be accurately pruned in one-shot. arXiv preprint arXiv:2301.00774, 2023.
[2] Tim Dettmers, Mike Lewis, Younes Belkada, and Luke Zettlemoyer. LLM.int8(): 8-bit matrix multiplication for transformers at scale. In Advances in Neural Information Processing Systems, 2022.
[3] Babak Hassibi, David G Stork, and Gregory J Wolff. Optimal brain surgeon and general network pruning. In IEEE International Conference on Neural Networks, 1993.
[4] Yann LeCun, John S Denker, and Sara A Solla. Optimal brain damage. In Advances in Neural Information Processing Systems, 1989.
更多阅读
联系客服