CFSP: An Efficient Structured Pruning Framework for LLMs with Coarse-to-Fine Activation Information
作者: Yuxin Wang, Minghua Ma, Zekun Wang, Jingchang Chen, Huiming Fan, Liping Shan, Qing Yang, Dongliang Xu, Ming Liu, Bing Qin
分类: cs.CL
发布日期: 2024-09-20 (更新: 2024-12-10)
备注: Proc. The 31st International Conference on Computational Linguistics (COLING2025)
🔗 代码/项目: GITHUB
💡 一句话要点
提出CFSP:一种高效的LLM结构化剪枝框架,利用粗细粒度激活信息。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 结构化剪枝 模型压缩 激活信息 稀疏性 模型优化 高效推理
📋 核心要点
- 现有LLM剪枝方法多为非结构化剪枝,依赖特定硬件加速,通用性受限,结构化剪枝在高稀疏度下性能维持困难。
- CFSP框架利用粗细粒度激活信息指导剪枝,一次前向计算激活值即可完成,高效分配稀疏预算并保留重要权重。
- 引入自适应训练开销的恢复微调策略,基于粗粒度重要性分配训练资源,实验证明CFSP在多种模型和稀疏度下表现优异。
📝 摘要(中文)
大型语言模型(LLM)的巨大参数量和计算开销对其在实际应用中提出了挑战。网络剪枝,通过移除冗余参数来实现非结构化或结构化稀疏性,最近被用于加速LLM。现有的LLM剪枝工作主要集中在非结构化剪枝上,这通常需要特殊的硬件支持才能实现实际的加速。相比之下,结构化剪枝可以在通用设备上减少延迟。然而,高效地执行结构化剪枝并保持性能仍然是一个挑战,尤其是在高稀疏度下。为此,我们提出了一种高效的结构化剪枝框架,名为CFSP,它利用粗粒度(块间)和细粒度(块内)激活信息作为重要性标准来指导剪枝。剪枝非常高效,因为它只需要一次前向传递来计算特征激活。具体来说,我们首先根据块的重要性在块之间分配稀疏性预算,然后保留每个块内的重要权重。此外,我们引入了一种恢复微调策略,该策略基于粗粒度重要性自适应地分配训练开销,以进一步提高性能。实验结果表明,CFSP在各种稀疏度下,在不同的模型上优于现有的方法。
🔬 方法详解
问题定义:论文旨在解决大型语言模型(LLM)结构化剪枝的效率和性能问题。现有方法,特别是针对LLM的结构化剪枝方法,在高稀疏度下难以维持模型性能,且剪枝过程可能计算开销大,限制了其在实际场景中的应用。
核心思路:论文的核心思路是利用模型内部的激活信息来指导结构化剪枝过程。通过同时考虑粗粒度(块间)和细粒度(块内)的激活信息,更准确地评估模型参数的重要性,从而在剪枝时保留更关键的参数,提高剪枝后的模型性能。这种方法旨在实现高效的剪枝,仅需一次前向传播即可完成激活信息的计算。
技术框架:CFSP框架主要包含两个阶段:剪枝阶段和恢复微调阶段。在剪枝阶段,首先根据粗粒度激活信息(块间重要性)分配稀疏性预算,确定每个块需要剪枝的比例。然后,在每个块内部,根据细粒度激活信息(块内重要性)选择保留的权重。在恢复微调阶段,根据粗粒度重要性自适应地分配训练资源,对重要性高的块进行更充分的微调,以弥补剪枝带来的性能损失。
关键创新:CFSP的关键创新在于同时利用粗细粒度激活信息指导结构化剪枝。与仅使用单一粒度信息或依赖复杂优化算法的方法相比,CFSP能够更准确地评估参数的重要性,并实现高效的剪枝。此外,自适应训练开销的恢复微调策略也是一个创新点,它能够更有效地利用有限的计算资源,提高剪枝后模型的性能。
关键设计:在剪枝阶段,粗粒度重要性通过计算每个Transformer块的平均激活值来衡量,细粒度重要性通过计算块内每个权重的激活值来衡量。稀疏性预算的分配基于粗粒度重要性的比例。恢复微调阶段,对不同块使用不同的学习率,重要性高的块使用更大的学习率。损失函数采用标准的交叉熵损失函数。
🖼️ 关键图片
📊 实验亮点
实验结果表明,CFSP在多种LLM模型和不同稀疏度下均优于现有方法。例如,在某个模型上,CFSP在保持相同性能的情况下,可以将模型大小减少到原来的1/4。此外,CFSP的剪枝效率很高,只需要一次前向传播即可完成激活信息的计算,大大缩短了剪枝时间。
🎯 应用场景
CFSP框架可应用于各种需要部署大型语言模型的场景,例如移动设备、边缘计算设备等资源受限的环境。通过结构化剪枝,可以显著降低模型的计算复杂度和存储空间,从而实现LLM在这些设备上的高效部署和推理。该研究对于推动LLM在实际应用中的普及具有重要意义。
📄 摘要(原文)
The colossal parameters and computational overhead of Large Language Models (LLMs) challenge their real-world applications. Network pruning, which targets unstructured or structured sparsity by removing redundant parameters, has recently been explored for LLM acceleration. Existing LLM pruning works focus on unstructured pruning, which typically requires special hardware support for a practical speed-up. In contrast, structured pruning can reduce latency on general devices. However, it remains a challenge to perform structured pruning efficiently and maintain performance, especially at high sparsity ratios. To this end, we introduce an efficient structured pruning framework named CFSP, which leverages both Coarse (interblock) and Fine-grained (intrablock) activation information as an importance criterion to guide pruning. The pruning is highly efficient, as it only requires one forward pass to compute feature activations. Specifically, we first allocate the sparsity budget across blocks based on their importance and then retain important weights within each block. In addition, we introduce a recovery fine-tuning strategy that adaptively allocates training overhead based on coarse-grained importance to further improve performance. Experimental results demonstrate that CFSP outperforms existing methods on diverse models across various sparsity budgets. Our code will be available at https://github.com/wyxscir/CFSP.