QLORA: Efficient Finetuning of Quantized LLMs
QLoRA论文概述
前言(省流版本)
微调需要大量显存资源。
之前工作的量化大都是在推理而非训练。
实验中发现数据的质量比数量重要。
评估采用人类和GPT-4相结合。
提出了三个技术方案实现单个GPU微调65B模型,达到和16位微调任务相同的性能
- 4-bit NormalFloat(NF4)量化:QLORA使用一种新的数据类型NF4,它在信息理论上最适合正态分布的权重,并在实践中优于4-bit整数和4-bit浮点数。
- 双量化:QLORA采用双量化方法,对量化常数进行第二次量化,从而减少每个参数的内存占用。
- 分页优化器:QLORA引入了分页优化器,在梯度检查点时防止内存溢出错误。这个方法使用NVIDIA统一内存特性,在CPU和GPU之间自动进行页面到页面的传输,以便在GPU内存不足时进行无错误的GPU处理。优化器状态分配分页内存,然后在GPU运行内存不足时自动逐出到CPU RAM,并在优化器更新步骤中重新分页到GPU内存。
摘要
我们提出了QLORA,这是一种有效的微调方法,它减少了内存使用,足以在单个48GB GPU上微调65B参数模型,同时保留完整的16位微调任务性能。
QLORA通过冻结的4位量化预训练语言模型将梯度反向传播到低秩适配器(Low Rank Adapters, LoRA)。我们最好的模型家族,我们命名为Guanaco,在Vicuna基准上优于之前所有公开发布的模型,达到ChatGPT性能水平的99.3%,而只需要在单个GPU上进行24小时的微调。
QLORA引入了许多创新来节省内存而不牺牲性能:(a) 4位NormalFloat (NF4),这是一种新的数据类型,理论上对正态分布权重是最优的;(b)双量化,通过量化量化常量来减少平均内存占用;©分页优化器来管理内存峰值。
我们使用QLORA对1000多个模型进行了微调,提供了8个指令数据集、多种模型类型(LLaMA、T5)和常规微调无法运行的模型规模(例如33B和65B参数模型)上的指令跟随和聊天机器人性能的详细分析。
我们的结果表明,即使使用比以前的SoTA更小的模型,在小的高质量数据集上进行QLoRA微调也可以得到最先进的结果。我们提供了基于人类和GPT-4评估的聊天机器人性能的详细分析,表明GPT-4评估是人类评估的廉价和合理的替代方案。
此外,我们发现目前的聊天机器人基准并不值得信赖,无法准确评估聊天机器人的性能水平。一个柠檬分析显示了与ChatGPT相比,Guanaco失败的地方。我们发布了所有的模型和代码,包括用于4位训练的CUDA内核
论文十问
- 论文试图解决什么问题?
这篇论文试图解决大规模语言模型微调(finetuning)所需的巨大GPU内存问题,以使这类模型能在单GPU上进行微调。
- 这是否是一个新的问题?
是的,这是一个新的问题。以前的工作主要集中在推理时的量化,而没有研究过训练和微调过程中的量化。
- 这篇文章要验证一个什么科学假设?
这篇论文的核心科学假设是4比特量化微调可以不损失性能地实现16比特完全微调的效果。
- 有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?
相关研究包括语言模型量化、低秩适配器微调等。值得关注的研究员有Tim Dettmers、Luke Zettlemoyer等。
- 论文中提到的解决方案之关键是什么?
关键的解决方案是提出了4比特NormalFloat数据类型,以及双量化和分页优化器等技术。这些技术协同工作,实现了高精度的4比特量化。
- 论文中的实验是如何设计的?
设计了不同模型结构、数据集和模型规模的比较实验,通过学术基准测试验验证了方法的有效性。
- 用于定量评估的数据集是什么?代码有没有开源?
使用的数据集包括GLUE、Super-Natural Instructions等,代码已在GitHub上开源。
- 论文中的实验及结果有没有很好地支持需要验证的科学假设?
是的,详细的实验结果充分验证了4比特量化微调能够不损失性能地实现16比特完全微调的效果这个核心科学假设。
- 这篇论文到底有什么贡献?
这篇论文的主要贡献是首次证明了4比特量化微调的有效性,并在此基础上训练出新状态的聊天机器人模型。
- 下一步呢?有什么工作可以继续深入?
后续可继续研究不同bit精度下的量化微调效果、在更大模型尺寸下的验证,以及在其他任务上的探索等。
实验
实验1
数据集和模型
GLUE、Super-Natural Instructions
RoBERTa-large 、T5
实验结论
我们的结果一致表明,具有NF4数据类型的4位QLORA在学术基准测试中具有良好的评估设置,与16位全调优和16位LoRA调优性能相匹配。我们还表明NF4比FP4更有效,双量化不会降低性能。综合起来,这形成了令人信服的证据,证明4位QLORA调优可靠地产生与16位方法相匹配的结果。
实验2
数据集和模型
MMLU:这是一个选择题基准,涵盖57个任务,包括小学数学、美国历史、计算机科学、法律等。
Alpaca、FLAN V2
实验结论
在Alpaca和FLAN v2上对不同数据类型的适配器进行微调后,LLaMA 7-65B模型的平均5次MMLU测试精度。总体而言,具有双量化(DQ)的NF4与BFloat16性能相当,而FP4始终比两者落后一个百分点。
局限性
模型尺度
在33B和65B模型尺度上,QLORA可能无法完全匹配16位全微调性能。这主要是由于资源成本巨大
数据集
虽然在MMLU、Vicuna基准和OA基准上进行了评估,但在BigBench、RAFT和HELM等其他基准上没有进行评估,因此无法确保评估结果推广到这些基准。
其他微调方法
除了LoRA之外,还有各种各样的参数有效微调(PEFT)方法没有参与到评估中。