作者: Tim Dettmers, Artidoro Pagnoni, Ari Holtzman, Luke Zettlemoyer
提交日期: 2023年5月23日
主题: 机器学习 (cs.LG)
摘要:
本文提出了QLoRA,一种高效的微调方法,该方法能将内存使用量降低到足以在单个48GB GPU上微调一个650亿参数的模型,同时保持完整的16位微调任务性能。QLoRA通过一个冻结的、4位量化的预训练语言模型,将梯度反向传播到低秩适配器(LoRA)中。我们将其最佳模型系列命名为Guanaco,它在Vicuna基准测试中超越了所有先前公开发布的模型,达到了ChatGPT性能水平的99.3%,而仅需在单个GPU上进行24小时的微调。QLoRA引入了一系列创新来节省内存而不牺牲性能:(a) 4位NormalFloat(NF4),这是一种在信息论上对正态分布权重最优的新数据类型;(b) 双重量化,通过量化量化常数来减少平均内存占用;(c) 分页优化器,用于管理内存峰值。我们使用QLoRA微调了超过1000个模型,对8个指令数据集、多种模型类型(LLaMA, T5)以及常规微调难以运行的模型规模(例如330亿和650亿参数模型)进行了指令遵循和聊天机器人性能的详细分析。我们的结果表明,在小型高质量数据集上进行QLoRA微调能带来最先进的结果,即使使用的模型比之前的SoTA更小。我们基于人工和GPT-4评估对聊天机器人性能进行了详细分析,表明GPT-4评估是人工评估的一种廉价且合理的替代方案。此外,我们发现当前的聊天机器人基准测试并不可靠,无法准确评估聊天机器人的性能水平。一个经过精心挑选的分析展示了Guanaco与ChatGPT相比失败的地方。我们发布了所有的模型和代码,包括用于4位训练的CUDA内核。