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内存)与原始模型在全精度上竞争。