FinerCut: Finer-grained Interpretable Layer Pruning for Large Language Models
作者: Yang Zhang, Yawei Li, Xinpeng Wang, Qianli Shen, Barbara Plank, Bernd Bischl, Mina Rezaei, Kenji Kawaguchi
分类: cs.LG
发布日期: 2024-05-28 (更新: 2024-10-20)
备注: Accepted by Compression Worshop at NeurIPS 2024
💡 一句话要点
FinerCut:一种细粒度可解释的大语言模型层剪枝方法
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型 模型剪枝 Transformer 自注意力 模型压缩 可解释性 Llama3
📋 核心要点
- 现有LLM模型参数量巨大,导致计算成本高昂和环境问题,需要有效的模型压缩方法。
- FinerCut提出一种细粒度的层剪枝方法,将Transformer块内的自注意力层和FFN层作为独立剪枝单元。
- 实验表明,FinerCut在Llama3模型上能显著减少层数,同时保持较高的性能,无需微调。
📝 摘要(中文)
大规模语言模型(LLM)采用的超参数Transformer网络是目前最先进的架构。然而,这种模型包含数十亿个参数,需要大量的计算资源,同时也引发了环境问题。为了解决这些问题,我们提出了一种新的细粒度层剪枝方法FinerCut。与以往在Transformer块级别进行剪枝的工作不同,FinerCut将块内的所有自注意力层和前馈网络(FFN)层视为独立的剪枝候选对象。FinerCut剪枝那些移除后对模型输出影响最小的层,从而实现了一种新的、精简的、可解释的、与任务无关的剪枝方法。在9个基准测试中,我们的方法在移除25%的层后,保留了Llama3-8B 90%的性能;在移除30%的层后,保留了Llama3-70B 95%的性能,所有这些都没有经过微调或剪枝后重建。值得注意的是,我们观察到FinerCut的有趣结果:在保留99%性能的同时,可以移除Llama3-70B中42%(80个中的34个)的自注意力层,而无需在移除后进行额外的微调。此外,FinerCut提供了一种工具来检查被剪枝层的类型和位置,从而可以观察到有趣的剪枝行为。例如,我们观察到一种偏好,即剪枝自注意力层,通常是在更深层的连续解码器层。我们希望我们的见解能够启发未来高效的LLM架构设计。
🔬 方法详解
问题定义:现有的大语言模型(LLM)由于参数量巨大,导致计算资源消耗巨大,并且对环境造成影响。传统的剪枝方法通常在Transformer块级别进行,粒度较粗,无法充分挖掘模型中的冗余信息。因此,需要一种更细粒度的剪枝方法,能够在保证模型性能的同时,显著减少模型的参数量和计算量。
核心思路:FinerCut的核心思路是将Transformer块内的自注意力层和前馈网络(FFN)层视为独立的剪枝候选对象,而不是像传统方法那样将整个Transformer块作为一个整体进行剪枝。通过评估每个层对模型输出的影响,选择性地移除那些影响最小的层,从而实现更精细的剪枝。这种方法旨在保留模型的核心功能,同时减少冗余参数。
技术框架:FinerCut的整体框架包括以下几个主要步骤:1) 候选层选择:将Transformer模型中的每个自注意力层和FFN层都视为剪枝的候选对象。2) 重要性评估:评估每个层对模型输出的影响,例如通过计算移除该层后模型性能的下降程度。3) 剪枝决策:根据重要性评估的结果,选择性地移除那些重要性较低的层。4) 模型评估:评估剪枝后的模型在各种任务上的性能,以确保模型性能没有显著下降。
关键创新:FinerCut最重要的技术创新点在于其细粒度的剪枝策略。与传统的Transformer块级别剪枝相比,FinerCut能够更精确地识别和移除模型中的冗余层,从而实现更高的压缩率和更好的性能保持。此外,FinerCut还提供了一种可解释性分析工具,可以帮助研究人员理解哪些层对模型的性能至关重要,哪些层可以安全地移除。
关键设计:FinerCut的关键设计包括:1) 重要性评估指标:论文可能采用了多种指标来评估每个层的重要性,例如基于梯度、激活值或模型输出差异的指标。2) 剪枝策略:论文可能采用了不同的剪枝策略,例如基于阈值的剪枝或基于比例的剪枝。3) 实验设置:论文在多个基准测试数据集上评估了FinerCut的性能,并与现有的剪枝方法进行了比较。
🖼️ 关键图片
📊 实验亮点
FinerCut在Llama3-8B上移除25%的层后,保留了90%的性能;在Llama3-70B上移除30%的层后,保留了95%的性能,且无需微调。更令人惊讶的是,Llama3-70B中42%的自注意力层可以被移除,同时保持99%的性能,同样无需微调。这些结果表明FinerCut是一种高效且有效的LLM剪枝方法。
🎯 应用场景
FinerCut具有广泛的应用前景,可用于降低大型语言模型的计算成本和存储需求,使其更容易部署在资源受限的设备上,例如移动设备和边缘设备。此外,FinerCut提供的可解释性分析工具可以帮助研究人员更好地理解LLM的工作原理,并为未来高效LLM架构设计提供指导。
📄 摘要(原文)
Overparametrized transformer networks are the state-of-the-art architecture for Large Language Models (LLMs). However, such models contain billions of parameters making large compute a necessity, while raising environmental concerns. To address these issues, we propose FinerCut, a new form of fine-grained layer pruning, which in contrast to prior work at the transformer block level, considers all self-attention and feed-forward network (FFN) layers within blocks as individual pruning candidates. FinerCut prunes layers whose removal causes minimal alternation to the model's output -- contributing to a new, lean, interpretable, and task-agnostic pruning method. Tested across 9 benchmarks, our approach retains 90% performance of Llama3-8B with 25% layers removed, and 95% performance of Llama3-70B with 30% layers removed, all without fine-tuning or post-pruning reconstruction. Strikingly, we observe intriguing results with FinerCut: 42% (34 out of 80) of the self-attention layers in Llama3-70B can be removed while preserving 99% of its performance -- without additional fine-tuning after removal. Moreover, FinerCut provides a tool to inspect the types and locations of pruned layers, allowing to observe interesting pruning behaviors. For instance, we observe a preference for pruning self-attention layers, often at deeper consecutive decoder layers. We hope our insights inspire future efficient LLM architecture designs.