
我们提出QLoRA,一种高效的微调方法,可在单张48GB显存的GPU上实现对650亿参数模型的微调,同时将显存占用降至极低水平,且不损失16位全精度微调任务的性能。QLoRA通过一个冻结的、4位量化预训练语言模型,将梯度反向传播至低秩适配器(Low Rank Adapters, LoRA)中。我们所训练的最佳模型系列命名为Guanaco,在Vicuna基准测试中超越了此前所有公开发布的模型,其性能达到ChatGPT的99.3%,且仅需在单张GPU上进行24小时的微调即可实现。QLoRA引入了多项创新技术,在不牺牲性能的前提下显著降低显存消耗:(a)提出一种新型数据类型——4位正态浮点数(NormalFloat, NF4),该类型在信息论上对服从正态分布的权重参数具有最优表示效率;(b)采用双重量化机制,通过对量化常数再次量化,进一步降低平均内存占用;(c)引入分页优化器(paged optimizers),有效应对训练过程中的内存峰值问题。我们利用QLoRA对超过1,000个模型进行了微调,并对8个指令数据集、多种模型类型(如LLaMA、T5)以及不同规模的模型(包括330亿和650亿参数模型)进行了详尽分析,这些规模的模型在传统微调方式下难以运行。实验结果表明,仅使用高质量的小规模数据集进行QLoRA微调,即可获得当前最先进的性能表现,甚至在模型规模小于以往SOTA模型的情况下仍能实现领先效果。我们基于人工评估与GPT-4评估对聊天机器人性能进行了深入分析,结果表明GPT-4评估是一种成本低廉且合理的替代人工评估的方法。此外,我们发现现有聊天机器人基准测试存在可信度问题,难以准确反映聊天机器人的实际性能水平。通过“挑刺式”分析(lemon-picked analysis),我们揭示了Guanaco与ChatGPT之间的关键差距所在。我们已开源全部模型与代码,包括支持4位训练的CUDA内核,以推动高效大模型微调技术的发展。