FoldGPT: Simple and Effective Large Language Model Compression Scheme

📄 arXiv: 2407.00928v1 📥 PDF

作者: Songwei Liu, Chao Zeng, Lianqiang Li, Chenqian Yan, Lean Fu, Xing Mei, Fangmin Chen

分类: cs.LG, cs.CL

发布日期: 2024-07-01


💡 一句话要点

FoldGPT:一种简单高效的大语言模型压缩方案,通过块移除和参数共享实现模型轻量化。

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大语言模型压缩 模型轻量化 块移除 参数共享 移动设备部署

📋 核心要点

  1. 现有大语言模型部署在移动设备上受限于带宽和内存,需要有效的压缩方法。
  2. FoldGPT通过分析模型层输出的相似性,提出块移除和参数共享的压缩策略。
  3. 实验表明FoldGPT在模型压缩方面优于现有方法,验证了其轻量化的可行性。

📝 摘要(中文)

为了应对日益增长的数据安全需求和云成本,将大型语言模型(LLMs)部署到移动设备的需求不断增加。然而,网络带宽和内存限制对在移动设备上部署数十亿参数的模型提出了挑战。本研究通过分析不同规模LLMs中各层的输出,发现大多数层的输出表现出显著的相似性。而且,这种相似性随着模型规模的增大而更加明显,表明LLMs的深度方向存在大量的冗余。基于此,我们提出了一种高效的模型体积压缩策略,称为FoldGPT,它结合了块移除和块参数共享。该策略包含三个部分:(1)基于可学习的门控参数,我们确定块的重要性排序,同时对块之间的耦合效应进行建模。然后,基于给定的移除率,我们删除一些冗余层。(2)对于保留的块,我们应用一种专门设计的组参数共享策略,其中同一组内的块共享相同的权重,从而显著压缩参数数量,并略微降低延迟开销。(3)在共享这些块之后,我们通过少量的微调来“修复”由稀疏性引起的不匹配,并引入尾层蒸馏策略来提高性能。实验表明,FoldGPT在高效模型压缩方面优于以往的SOTA方法,证明了通过简单的块移除和参数共享实现模型轻量化的可行性。

🔬 方法详解

问题定义:论文旨在解决大型语言模型(LLMs)在移动设备上部署时面临的参数量过大、内存占用高的问题。现有方法在压缩模型时,往往会造成显著的性能下降,或者需要复杂的训练技巧。因此,如何在保证模型性能的前提下,有效地压缩模型体积,是本研究要解决的核心问题。现有方法的痛点在于压缩效率和性能保持之间的平衡。

核心思路:FoldGPT的核心思路是利用LLMs层之间的冗余性。通过观察发现,LLMs中不同层的输出存在高度相似性,尤其是在模型规模较大时。因此,可以通过移除冗余层和共享相似层的参数来压缩模型,同时尽量保持模型的性能。这种方法避免了复杂的知识蒸馏或量化过程,从而简化了压缩流程。

技术框架:FoldGPT的整体框架包含三个主要阶段:(1)块重要性评估与移除:使用可学习的门控参数来评估每个块的重要性,并考虑块之间的耦合效应。根据设定的移除率,移除不重要的块。(2)组参数共享:将保留的块划分为不同的组,同一组内的块共享相同的参数。这种参数共享策略可以显著减少模型参数量。(3)微调与尾层蒸馏:通过少量微调来修复由于块移除和参数共享引入的性能损失。同时,采用尾层蒸馏策略,利用原始模型的尾层信息来提升压缩模型的性能。

关键创新:FoldGPT的关键创新在于其简单而有效的压缩策略,即块移除和组参数共享的结合。与以往的复杂压缩方法相比,FoldGPT更加直接,易于实现。此外,通过可学习的门控参数来评估块的重要性,并考虑块之间的耦合效应,可以更准确地识别和移除冗余块。尾层蒸馏策略进一步提升了压缩模型的性能。

关键设计:在块重要性评估阶段,使用可学习的门控参数来衡量每个块的重要性,并使用损失函数来鼓励门控参数的稀疏性,从而更容易识别冗余块。在组参数共享阶段,需要确定如何将保留的块划分为不同的组。论文中可能采用了某种聚类算法或启发式方法来实现这一目标。尾层蒸馏策略使用原始模型的尾层输出作为目标,来训练压缩模型的尾层,从而提升性能。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

FoldGPT在模型压缩方面表现出色,通过块移除和参数共享,能够在显著减少模型参数量的同时,保持较高的模型性能。实验结果表明,FoldGPT优于以往的SOTA方法,证明了其在高效模型压缩方面的优势。具体的性能数据和对比基线需要在论文中查找。

🎯 应用场景

FoldGPT具有广泛的应用前景,尤其适用于在资源受限的移动设备或边缘设备上部署大型语言模型。该方法可以降低模型存储空间需求,减少计算开销,从而使得在本地运行复杂的AI应用成为可能。此外,FoldGPT还可以应用于云计算领域,通过压缩模型来降低存储和计算成本,提高服务效率。

📄 摘要(原文)

The demand for deploying large language models(LLMs) on mobile devices continues to increase, driven by escalating data security concerns and cloud costs. However, network bandwidth and memory limitations pose challenges for deploying billion-level models on mobile devices. In this study, we investigate the outputs of different layers across various scales of LLMs and found that the outputs of most layers exhibit significant similarity. Moreover, this similarity becomes more pronounced as the model size increases, indicating substantial redundancy in the depth direction of the LLMs. Based on this observation, we propose an efficient model volume compression strategy, termed FoldGPT, which combines block removal and block parameter sharing.This strategy consists of three parts: (1) Based on the learnable gating parameters, we determine the block importance ranking while modeling the coupling effect between blocks. Then we delete some redundant layers based on the given removal rate. (2) For the retained blocks, we apply a specially designed group parameter sharing strategy, where blocks within the same group share identical weights, significantly compressing the number of parameters and slightly reducing latency overhead. (3) After sharing these Blocks, we "cure" the mismatch caused by sparsity with a minor amount of fine-tuning and introduce a tail-layer distillation strategy to improve the performance. Experiments demonstrate that FoldGPT outperforms previous state-of-the-art(SOTA) methods in efficient model compression, demonstrating the feasibility of achieving model lightweighting through straightforward block removal and parameter sharing.