Nov, 2023

LQ-LoRA: 用于语言模型微调的低秩加量化矩阵分解

TL;DR我们提出了一种简单的方法来对预训练语言模型进行内存高效的适应。我们的方法使用迭代算法将每个预训练矩阵分解成高精度低秩部分和内存高效的量化部分。在微调过程中,量化部分保持固定,只有低秩部分被更新。我们提出了量化部分的整数线性规划形式,可以在总体存储器预算的情况下动态配置量化参数(例如,位宽,块大小)给每个矩阵。我们进一步探索了数据感知版本的算法,该算法使用 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 模型(考虑了低秩部分的平均位数,并且需要 27GB 的 GPU 内存)与原始模型在全精度上竞争。