深度剖析 LLM 的深度剪枝
机器学习
2024-07-24 v1 人工智能
摘要
大型语言模型(LLMs)不仅训练成本高昂,而部署到实际生产环境中的成本更为沉重。因此,近期研究尝试基于用于估计模块重要性的廉价代理方法,对 LLMs 进行块级剪枝,成功在经过充分训练的 LLaMa-2 和 Mistral 7b 模型中去除约10%的模块,却未显著损害下游指标。在本文中,我们通过考虑自适应指标(如Shapley值)等不同模块重要性度量方式,以及前期工作中所探讨的静态指标,进一步探索了这些度量方法。我们表明,自适应指标在不同任务之间呈现性能权衡,即在一个任务上的提升可能导致另一个任务的性能下降,这源于对不同模块影响力的计算差异。此外,我们将分析范围从完整模块扩展至单个自注意力层和前馈层,强调自注意力层更容易被剪裁,甚至可以无需在 Mistral 7b 的 MMLU 上产生性能下降的情况下移除最高达33%的自注意力层(显著降低了昂贵的 KV-cache 维护成本)。最后,我们考察了简单的性能恢复技术,通过训练轻量级的可加偏置或低秩线性适配器来模拟被剪枝的模块。使用模拟更新进行的性能恢复可避免前期模块的性能下降(在 MMLU 上可实现最高5%的绝对值提升),该方法在性能上与基于学习的方法相当乃至更优。
引用
@article{arxiv.2407.16286,
title = {A deeper look at depth pruning of LLMs},
author = {Shoaib Ahmed Siddiqui and Xin Dong and Greg Heinrich and Thomas Breuel and Jan Kautz and David Krueger and Pavlo Molchanov},
journal= {arXiv preprint arXiv:2407.16286},
year = {2024}
}