- 简介我们提出了一种简单的方法,用于预训练语言模型的内存高效适应。我们的方法使用迭代算法将每个预训练矩阵分解为高精度低秩分量和内存高效量化分量。在微调期间,量化分量保持不变,只有低秩分量被更新。我们提出了一个整数线性规划公式来描述量化分量,该公式能够根据整体目标内存预算动态配置量化参数(例如,位宽、块大小)以适应每个矩阵。我们进一步探讨了一种数据感知算法的版本,该算法使用Fisher信息矩阵的近似值来加权矩阵分解期间的重构目标。在适应RoBERTa和LLaMA-2(7B和70B)的实验中,我们的低秩加量化矩阵分解方法(LQ-LoRA)优于强基线Qlora和GPTQ-LoRA,并且能够实现更激进的量化。例如,在OpenAssistant基准测试中,LQ-LoRA能够学习一个2.5位的LLaMA-2模型,该模型与使用4位Qlora微调的模型相竞争。当在语言建模校准数据集上进行微调时,LQ-LoRA也可用于模型压缩;在这种情况下,我们的2.75位LLaMA-2-70B模型(在包括低秩分量时平均为2.85位,需要27GB的GPU内存)与完全精度的原始模型相竞争。
- 图表
- 解决问题本文试图解决预训练语言模型内存适应的问题,提出了一种低秩加量化矩阵分解的方法(LQ-LoRA),并探索了数据感知的算法。该方法能够在满足内存限制的情况下,提高模型的精度和压缩率。
- 关键思路本文提出的LQ-LoRA方法使用迭代算法将预训练矩阵分解为高精度低秩分量和内存更高效的量化分量。在微调过程中,量化分量保持不变,只有低秩分量被更新。本文还提出了一个整数线性规划的量化分量公式,能够动态配置每个矩阵的量化参数。此外,本文还探索了一种基于Fisher信息矩阵的数据感知算法。
- 其它亮点本文实验使用了RoBERTa和LLaMA-2(7B和70B)数据集,证明了LQ-LoRA方法优于QLoRA和GPTQ-LoRA基线,并且能够实现更激进的量化。LQ-LoRA方法可以用于模型压缩,实验结果表明,该方法可以生成与原模型相当的2.75比特LLaMA-2-70B模型,并且需要的GPU内存只有27GB。
- 最近在这个领域中,还有一些相关的研究。例如,有研究使用低秩矩阵分解来压缩预训练语言模型。还有一些研究使用量化技术来减少模型的内存占用。这些研究包括:“Compressing BERT: Studying the Effects of Weight Pruning on Transfer Learning”和“Training Quantized Neural Networks with a Full-Precision Auxiliary Module”。
沙发等你来抢
去评论
评论
沙发等你来抢