本文提出滑动层合并(SLM)方法,通过基于CKA相似性动态合并大型语言模型的连续层,实现深度剪枝,在零样本任务和推理效率上显著优于现有方法,同时探索了深度与宽度剪枝结合的潜力。
Large Language Model, Transformer, Efficiency, Pre-training, Fine-tuning
Xuan Ding, Rui Sun, Yunjian Zhang, Xiu Yan, Yueqi Zhou, Kaihao Huang, Suzhong Fu, Angelica I Aviles-Rivero, Chuanlong Xie, Yao Zhu
Beijing Normal University, The Chinese University of Hong Kong, Shenzhen, Zhejiang University, University of Chinese Academy of Sciences, Tsinghua University
Generated by grok-3
Background Problem
大型语言模型(LLMs)因其卓越性能而受到广泛关注,但其庞大的参数规模对实际部署和资源受限环境构成了重大挑战。模型剪枝作为一种有效的压缩方法,通过移除冗余参数来降低复杂度和资源需求。相比于宽度剪枝(Width-Wise Pruning),深度剪枝(Depth-Wise Pruning)通过移除整个层来减少模型深度,能在资源受限场景下显著加速推理。然而,现有深度剪枝方法常因直接移除层而导致性能下降,缺乏对层间相关性的深入分析和精细处理。本文从探索LLM中不同层输出特征的相关性入手,揭示了连续层之间高度相似的’Patch-like’结构,并基于此提出了一种新的深度剪枝方法,旨在解决如何在大幅压缩模型的同时尽可能保留其性能这一关键问题。
Method
本文提出了一种滑动层合并(Sliding Layer Merging, SLM)方法,用于大型语言模型的深度剪枝。其核心思想和步骤如下:
- 核心思想:基于层间特征表示的相似性,动态合并连续层以减少模型深度,同时尽量保留关键功能表示。作者通过在再生核希尔伯特空间(Reproducing Kernel Hilbert Space)中使用中心核对齐(CKA)度量来分析层间输出相关性,发现某些连续层具有高度相似的’Patch-like’结构,为合并提供了依据。
- 具体步骤:
- 模型初始化:将目标压缩模型初始化为原始模型的副本,并定义压缩范围(排除顶部和底部关键层以保护核心功能)。
- 动态窗口更新:采用滑动窗口机制,从最深层开始向下迭代选择合并范围。每次迭代中,合并窗口内层并计算临时模型与原始模型的余弦相似度(基于少样本校准数据的最后隐藏状态)。若相似度超过预设阈值,则扩展窗口至更浅层;若低于阈值,则停止扩展,更新压缩模型并滑动窗口至新基准层。
- 参数合并策略:对于待合并层,基于层间差异计算合并参数,即以基准层参数为基础,累加后续层与基准层的参数差异,确保保留基准层核心能力并整合其他层的补充特征,公式为:。
- 性能恢复:合并完成后,使用低秩近似(LoRA)技术对剪枝后的模型进行微调,以恢复性能。
- 关键创新与问题:该方法通过相似性阈值自适应地控制合并范围,避免了盲目移除层导致的性能损失。然而,CKA度量可能无法全面捕捉层间复杂关系,依赖经验设定的阈值可能缺乏普适性,且对不同模型架构的适应性需进一步验证。此外,滑动窗口从深层到浅层的单向合并策略可能忽略了浅层到深层的潜在依赖关系。
Experiment
实验设计和结果如下:
- 实验设置:在多个开源大型语言模型(如LLaMA2-7B/13B, Vicuna-7B/13B, LLaMA3-8B)上测试,剪枝比例为20%和35%。对比方法包括宽度剪枝(如LLM-Pruner, FLAP, Wanda-sp)和深度剪枝(如SLEB, Shortened-LLM)。性能评估基于七个常识推理数据集(如BoolQ, PIQA等)的零样本任务表现,同时测量推理延迟、吞吐量和GPU内存使用。使用少量校准数据(如BookCorpus的10个样本)计算相似度,LoRA微调使用50K Alpaca数据样本。
- 结果分析:
- 零样本性能:SLM方法在大多数情况下优于基线方法。例如,在Vicuna-7B模型35%剪枝比例下,平均性能比最佳基线方法高1.654%;在LLaMA2-7B模型20%剪枝比例下,比LLM-Pruner高2.676%。LoRA微调后性能进一步提升,如LLaMA2-7B 20%剪枝比例下从57.360%提升至61.944%。
- 推理效率:深度剪枝方法(包括SLM)在延迟和吞吐量上普遍优于宽度剪枝,SLM在同等剪枝比例下表现最佳。例如,在LLaMA2-7B 35%剪枝比例下,SLM的延迟为1.889秒,吞吐量为67.770 tokens/s,优于其他深度剪枝方法。
- 深度与宽度剪枝结合:结合实验显示,适当比例(如LLaMA2-7B模型36%深度+64%宽度)可进一步提升性能,表明两种方法互补。
- 评价与问题:实验设置较为全面,涵盖多种模型和剪枝比例,数据集选择合理,结果表明SLM在性能和效率上均有改进。然而,实验未涉及更大规模模型(如70B参数),对阈值选择的敏感性分析不足,校准数据选择的影响虽被证明较小,但样本量过少可能限制结论的可靠性。此外,结合深度与宽度剪枝的实验虽有潜力,但比例优化未深入,可能错过最佳配置。
Further Thoughts
本文提出的滑动层合并方法在深度剪枝领域提供了有价值的思路,尤其是在层间相似性分析和动态合并策略上的创新。然而,我认为其对CKA度量的依赖可能是一个潜在的局限,因为CKA主要关注线性相关性,可能无法捕捉非线性依赖或上下文相关的层间关系,未来可以探索其他度量方法(如互信息或基于任务的性能影响评估)来补充分析。此外,滑动窗口的单向合并策略(从深到浅)可能忽略了双向依赖,是否可以通过双向或多轮合并进一步优化值得研究。另一个有趣的方向是深度与宽度剪枝结合的潜力,本文虽有初步探索,但未深入分析不同比例对性能和效率的具体影响,未来可以结合自动化搜索(如NAS)来寻找最优组合策略。最后,考虑到LLMs在不同任务上的表现差异(如推理、生成),是否可以通过任务特定的剪枝策略进一步提升性能,也是一个值得探索的跨领域问题,特别是在资源受限的边缘设备部署场景中。