SlimGPT: Layer-wise Structured Pruning for Large Language Models

📄 arXiv: 2412.18110v1 📥 PDF

作者: Gui Ling, Ziyang Wang, Yuliang Yan, Qingwen Liu

分类: cs.AI

发布日期: 2024-12-24


💡 一句话要点

SlimGPT:面向大语言模型的层级结构化剪枝方法,提升部署效率

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大语言模型 结构化剪枝 模型压缩 最优脑外科医生 批量贪婪剪枝

📋 核心要点

  1. 大语言模型部署面临参数量巨大带来的挑战,现有剪枝方法在资源受限情况下性能恢复困难。
  2. SlimGPT基于最优脑外科医生框架,提出批量贪婪剪枝和动态组大小策略,加速剪枝过程并提升精度。
  3. 实验表明,SlimGPT在LLaMA基准测试中优于其他方法,实现了最先进的性能。

📝 摘要(中文)

大型语言模型(LLMs)因其在各个领域中的卓越能力而备受关注,但其庞大的参数规模给实际部署带来了挑战。结构化剪枝是一种平衡模型性能和效率的有效方法,但在计算资源约束下恢复性能是剪枝LLMs的主要挑战。因此,我们提出了一种基于最优脑外科医生框架的低成本、快速的LLM结构化剪枝方法,名为SlimGPT。我们提出了批量贪婪剪枝,用于快速且接近最优的剪枝,通过分组Cholesky分解提高了head-wise剪枝误差估计的准确性,并通过动态组大小提高了FFN的剪枝效率,从而在一小时内实现了近似局部最优的剪枝结果。此外,我们从误差累积的角度探讨了层级剪枝的局限性,并提出了增量剪枝率,这是一种非均匀剪枝策略,以减少性能下降。在LLaMA基准上的实验结果表明,SlimGPT优于其他方法,并取得了最先进的结果。

🔬 方法详解

问题定义:论文旨在解决大语言模型(LLMs)在资源受限环境下部署困难的问题。现有结构化剪枝方法在计算资源有限的情况下,难以在保证模型性能的同时实现高效剪枝,尤其是在head-wise剪枝和FFN剪枝方面,误差估计不准确和剪枝效率低下是主要痛点。

核心思路:SlimGPT的核心思路是利用最优脑外科医生(Optimal Brain Surgeon, OBS)框架,通过低成本的批量贪婪剪枝策略,快速找到接近最优的剪枝方案。通过改进误差估计方法和动态调整剪枝粒度,在保证剪枝精度的同时,显著提升剪枝效率。此外,针对层级剪枝的误差累积问题,提出了非均匀的增量剪枝率策略。

技术框架:SlimGPT的整体框架主要包含以下几个阶段:1) 基于OBS框架进行初始化;2) 采用批量贪婪剪枝(Batched Greedy Pruning)策略,对模型进行head-wise剪枝和FFN剪枝;3) 使用分组Cholesky分解提高head-wise剪枝误差估计的准确性;4) 通过动态组大小(Dynamic Group Size)策略提高FFN的剪枝效率;5) 采用增量剪枝率(Incremental Pruning Ratio)策略,对不同层进行非均匀剪枝。

关键创新:SlimGPT的关键创新点在于:1) 提出了批量贪婪剪枝策略,加速了剪枝过程,使其能够在可接受的时间内完成;2) 改进了head-wise剪枝的误差估计方法,通过分组Cholesky分解提高了估计的准确性;3) 提出了动态组大小策略,自适应地调整FFN的剪枝粒度,提高了剪枝效率;4) 提出了增量剪枝率策略,缓解了层级剪枝带来的误差累积问题。与现有方法相比,SlimGPT在保证剪枝精度的同时,显著提升了剪枝效率。

关键设计:在批量贪婪剪枝中,采用了分组Cholesky分解来近似计算Hessian矩阵的逆,从而降低了计算复杂度。动态组大小策略根据FFN层的参数量自适应地调整剪枝的粒度,平衡了剪枝精度和效率。增量剪枝率策略根据层数动态调整剪枝比例,避免了浅层剪枝过多导致的信息损失。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

SlimGPT在LLaMA基准测试中取得了state-of-the-art的结果,证明了其有效性。实验结果表明,SlimGPT能够在保证模型性能的前提下,显著降低模型的大小和计算复杂度。例如,在特定剪枝比例下,SlimGPT的性能优于其他剪枝方法,并且能够在1小时内完成剪枝过程,大大提高了剪枝效率。

🎯 应用场景

SlimGPT可应用于各种需要部署大型语言模型的场景,例如移动设备、边缘计算设备等资源受限的环境。通过降低模型的大小和计算复杂度,SlimGPT能够使LLMs在这些设备上高效运行,从而推动LLMs在实际应用中的普及。此外,该方法也可以用于加速LLMs的训练和推理过程,提高开发效率。

📄 摘要(原文)

Large language models (LLMs) have garnered significant attention for their remarkable capabilities across various domains, whose vast parameter scales present challenges for practical deployment. Structured pruning is an effective method to balance model performance with efficiency, but performance restoration under computational resource constraints is a principal challenge in pruning LLMs. Therefore, we present a low-cost and fast structured pruning method for LLMs named SlimGPT based on the Optimal Brain Surgeon framework. We propose Batched Greedy Pruning for rapid and near-optimal pruning, which enhances the accuracy of head-wise pruning error estimation through grouped Cholesky decomposition and improves the pruning efficiency of FFN via Dynamic Group Size, thereby achieving approximate local optimal pruning results within one hour. Besides, we explore the limitations of layer-wise pruning from the perspective of error accumulation and propose Incremental Pruning Ratio, a non-uniform pruning strategy to reduce performance degradation. Experimental results on the LLaMA benchmark show that SlimGPT outperforms other methods and achieves state-of-the-art results.