EoRA: Fine-tuning-free Compensation for Compressed LLM with Eigenspace Low-Rank Approximation
作者: Shih-Yang Liu, Maksim Khadkevich, Nai Chit Fung, Charbel Sakr, Chao-Han Huck Yang, Chien-Yi Wang, Saurav Muralidharan, Hongxu Yin, Kwang-Ting Cheng, Jan Kautz, Yu-Chiang Frank Wang, Pavlo Molchanov, Min-Hung Chen
分类: cs.CL, cs.AI
发布日期: 2024-10-28 (更新: 2025-06-03)
🔗 代码/项目: GITHUB
💡 一句话要点
EoRA:一种免微调的低秩本征空间近似方法,用于补偿压缩LLM的精度损失。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型压缩 低秩近似 免微调学习 模型优化 量化 CUDA内核优化 精度恢复
📋 核心要点
- 压缩LLM虽能降低资源消耗,但会牺牲精度,且受限于硬件和压缩格式。
- EoRA通过低秩矩阵增强压缩模型,无需微调即可提升任务特定性能,灵活平衡精度与计算开销。
- 实验表明,EoRA显著优于现有免训练方法,在多个基准测试中恢复了压缩模型的精度,并优化了推理速度。
📝 摘要(中文)
后训练压缩技术能有效减少大型语言模型(LLM)的内存占用、延迟和功耗,但通常会导致明显的精度下降,并受到硬件和内核约束的限制,这些约束限制了支持的压缩格式,最终降低了在各种部署场景中的灵活性。本文提出了一种新颖的免微调方法EoRA,它使用低秩矩阵来增强压缩的LLM,允许用户快速提高特定任务的性能,并自由地平衡精度和计算开销之间的权衡,超越了压缩格式的限制。EoRA在恢复压缩LLM的精度方面始终优于先前的免训练低秩方法,在LLaMA3-8B压缩到3-bit时,实现了显著的精度提升(例如,在ARC-Challenge上提升了10.84%,在MathQA上提升了6.74%,在GSM8K上提升了6.74%)。我们还引入了一个优化的CUDA内核,通过量化EoRA,将推理速度提高了1.4倍,并降低了内存开销。总的来说,EoRA为提高压缩模型的精度提供了一个及时的解决方案,满足不同的用户需求,从而实现更高效和灵活的LLM部署。
🔬 方法详解
问题定义:论文旨在解决压缩大型语言模型(LLM)后精度显著下降的问题。现有的压缩方法,如量化和剪枝,虽然能有效降低模型大小和计算复杂度,但通常会导致性能损失。此外,这些方法还受到硬件和内核的限制,难以灵活适应不同的部署场景和用户需求。
核心思路:EoRA的核心思路是通过引入低秩矩阵来补偿压缩过程中损失的信息。具体来说,EoRA在压缩后的模型中添加可学习的低秩矩阵,这些矩阵能够捕捉原始模型中重要的特征和关系,从而恢复模型的表达能力。这种方法无需对整个模型进行微调,降低了计算成本,并能灵活地调整低秩矩阵的维度,以平衡精度和计算开销。
技术框架:EoRA的技术框架主要包括以下几个步骤:1) 对原始LLM进行压缩,例如使用量化或剪枝等方法。2) 在压缩后的模型中,选择需要补偿的层(通常是Transformer层)。3) 对于每个选定的层,添加一个低秩矩阵,该矩阵由两个较小的矩阵相乘得到。4) 使用少量数据(例如,验证集)来训练这些低秩矩阵,目标是最小化压缩模型和原始模型之间的差异。5) 在推理阶段,将低秩矩阵的输出添加到压缩模型的输出中。
关键创新:EoRA的关键创新在于其免微调的特性和低秩近似方法。与传统的微调方法相比,EoRA无需对整个模型进行训练,大大降低了计算成本。此外,EoRA使用低秩矩阵来捕捉原始模型中的重要信息,这种方法能够有效地恢复模型的表达能力,同时保持较低的计算开销。
关键设计:EoRA的关键设计包括:1) 低秩矩阵的维度选择:需要根据具体的任务和模型来调整低秩矩阵的维度,以平衡精度和计算开销。2) 训练数据的选择:选择具有代表性的数据来训练低秩矩阵,以确保其能够捕捉原始模型中的重要信息。3) 损失函数的设计:可以使用多种损失函数来衡量压缩模型和原始模型之间的差异,例如均方误差或交叉熵损失。
🖼️ 关键图片
📊 实验亮点
实验结果表明,EoRA在恢复压缩LLM的精度方面显著优于现有的免训练方法。例如,对于压缩到3-bit的LLaMA3-8B模型,EoRA在ARC-Challenge上提升了10.84%,在MathQA上提升了6.74%,在GSM8K上提升了6.74%。此外,通过优化CUDA内核和量化EoRA,推理速度提高了1.4倍,并降低了内存开销。
🎯 应用场景
EoRA可广泛应用于各种需要部署压缩LLM的场景,例如移动设备、边缘计算和资源受限的环境。该方法能够有效提高压缩模型的精度,使其在各种任务中表现更好,例如文本生成、机器翻译和问答系统。此外,EoRA的免微调特性使其能够快速适应新的任务和数据集,降低了部署成本。
📄 摘要(原文)
While post-training compression techniques effectively reduce the memory footprint, latency, and power consumption of Large Language Models (LLMs), they often result in noticeable accuracy degradation and remain limited by hardware and kernel constraints that restrict supported compression formats ultimately reducing flexibility across a wide range of deployment scenarios. In this work, we propose EoRA, a novel fine-tuning-free method that augments compressed LLMs with low-rank matrices, allowing users to rapidly enhance task-specific performance and freely balance the trade-off between accuracy and computational overhead beyond the constraints of compression formats. EoRA consistently outperforms prior training-free low rank methods in recovering the accuracy of compressed LLMs, achieving notable accuracy improvements (e.g., $\mathbf{10.84\%}$ on ARC-Challenge, $\mathbf{6.74\%}$ on MathQA, and $\mathbf{6.74\%}$ on GSM8K) for LLaMA3-8B compressed to 3-bit. We also introduce an optimized CUDA kernel, accelerating inference by up to 1.4x and reducing memory overhead through quantizing EoRA. Overall, EoRA offers a prompt solution for improving the accuracy of compressed models under varying user requirements, enabling more efficient and flexible deployment of LLMs. Code is available at https://github.com/NVlabs/EoRA.