QLoRA论文概述

QLORA: Efficient Finetuning of Quantized LLMs

  • QLoRA论文概述
    • 前言(省流版本)
    • 摘要
    • 论文十问
    • 实验
      • 实验1
        • 数据集和模型
        • 实验结论
      • 实验2
        • 数据集和模型
        • 实验结论
    • 局限性
      • 模型尺度
      • 数据集
      • 其他微调方法

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内核

论文十问

  1. 论文试图解决什么问题?

这篇论文试图解决大规模语言模型微调(finetuning)所需的巨大GPU内存问题,以使这类模型能在单GPU上进行微调。

  1. 这是否是一个新的问题?

是的,这是一个新的问题。以前的工作主要集中在推理时的量化,而没有研究过训练和微调过程中的量化。

  1. 这篇文章要验证一个什么科学假设?

这篇论文的核心科学假设是4比特量化微调可以不损失性能地实现16比特完全微调的效果。

  1. 有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?

相关研究包括语言模型量化、低秩适配器微调等。值得关注的研究员有Tim Dettmers、Luke Zettlemoyer等。

  1. 论文中提到的解决方案之关键是什么?

关键的解决方案是提出了4比特NormalFloat数据类型,以及双量化和分页优化器等技术。这些技术协同工作,实现了高精度的4比特量化。

  1. 论文中的实验是如何设计的?

设计了不同模型结构、数据集和模型规模的比较实验,通过学术基准测试验验证了方法的有效性。

  1. 用于定量评估的数据集是什么?代码有没有开源?

使用的数据集包括GLUE、Super-Natural Instructions等,代码已在GitHub上开源。

  1. 论文中的实验及结果有没有很好地支持需要验证的科学假设?

是的,详细的实验结果充分验证了4比特量化微调能够不损失性能地实现16比特完全微调的效果这个核心科学假设。

  1. 这篇论文到底有什么贡献?

这篇论文的主要贡献是首次证明了4比特量化微调的有效性,并在此基础上训练出新状态的聊天机器人模型。

  1. 下一步呢?有什么工作可以继续深入?

后续可继续研究不同bit精度下的量化微调效果、在更大模型尺寸下的验证,以及在其他任务上的探索等。

实验

实验1

数据集和模型

GLUE、Super-Natural Instructions

RoBERTa-large 、T5

实验结论

我们的结果一致表明,具有NF4数据类型的4位QLORA在学术基准测试中具有良好的评估设置,与16位全调优和16位LoRA调优性能相匹配。我们还表明NF4比FP4更有效,双量化不会降低性能。综合起来,这形成了令人信服的证据,证明4位QLORA调优可靠地产生与16位方法相匹配的结果。

QLoRA论文概述_第1张图片

实验2

数据集和模型

MMLU:这是一个选择题基准,涵盖57个任务,包括小学数学、美国历史、计算机科学、法律等。

Alpaca、FLAN V2

实验结论

在Alpaca和FLAN v2上对不同数据类型的适配器进行微调后,LLaMA 7-65B模型的平均5次MMLU测试精度。总体而言,具有双量化(DQ)的NF4与BFloat16性能相当,而FP4始终比两者落后一个百分点。

QLoRA论文概述_第2张图片

局限性

模型尺度

在33B和65B模型尺度上,QLORA可能无法完全匹配16位全微调性能。这主要是由于资源成本巨大

数据集

虽然在MMLU、Vicuna基准和OA基准上进行了评估,但在BigBench、RAFT和HELM等其他基准上没有进行评估,因此无法确保评估结果推广到这些基准。

其他微调方法

除了LoRA之外,还有各种各样的参数有效微调(PEFT)方法没有参与到评估中。

你可能感兴趣的:(人工智能,LoRA,QLora,大模型,微调,深度学习)