机器之心报导

修改:小舟、泽南

「原驼」大模型输出的内容和 ChatGPT 比,人类也无法区别谁好谁坏。

用微调的办法,现在羊驼模型也能够打 ChatGPT 了,这不是随便说说,有测验成果为证。

最近,来自华盛顿大学的 QLoRA 成为了 AI 范畴的抢手,很多人把它描述为里程碑级、改动规则的技术。

单GPU实现99%ChatGPT性能,「原驼」火了:手机也能微调大模型

新办法练习出的模型在评测基准上能够做到 ChatGPT 99% 的才能,而且 33B 的版别只需求在单块 24GB GPU 进步行微调,65B 的版别只需求 46GB 的 GPU。

现在用一块 RTX 4090,就能做 ChatGPT 相同的事,这样的成果让人高呼不敢相信:

单GPU实现99%ChatGPT性能,「原驼」火了:手机也能微调大模型

具体来说,QLoRA 运用 4 位量化来紧缩预练习的语言模型。然后冻结 LM 参数,并将相对少数的可练习参数以 Low-Rank Adapters 的形式添加到模型中。模型体量大幅紧缩,推理作用简直没有受到影响。

对于大型语言模型(LLM)来说,微调(Finetuning)是提高功能、削减过错输出的有效方式。但众所周知,微调大模型是一个本钱比较高的作业,举例来说,LLaMA 65B 参数模型的惯例 16 位微调需求超过 780 GB 的 GPU 内存。

来自华盛顿大学的研讨者初次证明,咱们也能够在不下降任何功能的情况下微调量化的 4 位模型,其新办法 QLoRA 运用一种新的高精度技术将预练习模型量化为 4 位,然后添加一小组可学习的低秩适配器权重,这些权重经过量化权重的反向传达梯度进行调整。

论文《QLORA: Efficient Finetuning of Quantized LLMs》:

单GPU实现99%ChatGPT性能,「原驼」火了:手机也能微调大模型

论文链接:arxiv.org/abs/2305.14…

GitHub:github.com/artidoro/ql…

作者开源了代码库和 CUDA 内核,并已将新办法集成到了 Hugging Face transformer 堆栈中。QLoRA 发布了一系列适用于 7/13/33/65B 的版别,在 8 种不同的指令跟从数据集进步行了练习,总共有 32 种不同的开源微调模型。

与 16 位彻底微调的基准比较,QLoRA 将微调 65B 参数模型的平均内存需求从大于 780GB 的 GPU 下降到小于 48GB,一起也不下降运转时或猜测功能。这标志着 LLM 微调的可拜访性发生了重大转变:现在最大的揭露可用模型也能够在单块 GPU 进步行微调了。

运用 QLORA,研讨人员练习了 Guanaco(原驼)系列模型,第二好的模型在 Vicuna 基准测验中达到了 ChatGPT 功能水平的 97.8%,一起在单个消费级 GPU 上练习时刻不到 12 小时,如果在 24 小时内运用单块专业 GPU,最大的模型能达到 99.3%,基本上能够说缩小了在 Vicuna 基准测验上与 ChatGPT 的距离。

另外在部署时,最小的 Guanaco 模型(7B 参数)仅需求 5 GB 内存,而且在 Vicuna 基准测验中比 26 GB Alpaca 模型功能高出 20 个百分点以上。

单GPU实现99%ChatGPT性能,「原驼」火了:手机也能微调大模型

表 1. 模型之间竞争的 Elo 评级,以 GPT-4 为标杆,GPT4 之后 Guanaco 33B 和 65B 取胜次数最多,而 Guanaco 13B 的得分比 Bard 好。

QLoRA 引入了多项立异,目标是在不献身功能的情况下削减内存运用,其中包含:

  1. 4 位的 NormalFloat,这是一种信息理论上最优的正态分布数据量化数据类型,可发生比 4 位整数和 4 位浮点数更好的经验成果。
  2. Double Quantization,一种对量化常数进行量化的办法,每个参数平均节省约 0.37 位(65B 类型约 3GB)。
  3. Paged Optimizers,运用英伟达共同内存来避免在处理具有较长序列长度的 mini-batch 时呈现的梯度 check point 内存尖峰。

这些贡献被结合到了一个更好调整的 LoRA 办法中,该办法在每个网络层都包含适配器,从而避免了之前作业中呈现的简直一切准确性权衡。

QLoRA 的功率让咱们能够在模型规模上对指令微谐和谈天机器人功能进行深入研讨,此前由于内存开销的限制,运用惯例微调是不可能的。

因而,作者在多个指令调优数据集、模型架构和 80M 到 65B 参数巨细之间练习了 1000 多个模型。

除了展现 QLoRA 康复 16 位功能和练习最先进的谈天机器人 Guanaco 的才能之外,该研讨还剖析了练习模型的趋势。首要,作者发现数据质量远比数据集巨细重要。例如 9k 样本数据集 (OASST1) 在谈天机器人功能方面优于 450k 样本数据集(FLAN v2,二次采样),即便两者都旨在支持泛化后的指令。

其次,强壮的大规模多使命语言了解 (MMLU) 基准功能并不意味着强壮的 Vicuna 谈天机器人基准功能,反之亦然 —— 换句话说,数据集适用性比给定使命的巨细更重要。

单GPU实现99%ChatGPT性能,「原驼」火了:手机也能微调大模型

图 1:不同的微调办法及其内存要求。QLoRA 经过将 transformer 模型量化为 4 位精度并运用分页优化器来处理内存峰值提升了功能。

QLoRA 与规范微调

QLoRA 是否能够像全模型微调相同履行呢?默许 LoRA 超参数与 16 位功能不匹配,当运用将 LoRA 应用于查询及值留意投影矩阵的规范做法时,咱们无法复制大型根底模型的完好微调功能。如图 2 所示,在 Alpaca 进步行 LLaMA 7B 微调,最关键的 LoRA 超参数是总共运用了多少个 LoRA adapter,而且一切线性 transformer 块层上的 LoRA 都需求匹配完好的微调功能。其他 LoRA 超参数,例如投影维度 r 则不影响功能。

单GPU实现99%ChatGPT性能,「原驼」火了:手机也能微调大模型

图 2. LLaMA 数据集上 LLaMA 7B 模型的 RougeL,每个点代表运用不同随机种子的运转。

4 位 NormalFloat 发生了比 4 位浮点更好的功能。尽管 4 位 NormalFloat (NF4) 数据类型在信息理论上是最优的,但这儿仍需求确定此特点是否转化成为了经验优势。在图 3 和表 2 中,咱们看到 NF4 比 FP4 和 Int4 明显提高了功能,而且双量化在不下降功能的情况下削减了内存占用。

单GPU实现99%ChatGPT性能,「原驼」火了:手机也能微调大模型

表 3:在 GLUE 和 Super-NaturalInstructions 上比较 16 位 BrainFloat (BF16)、8 位整数 (Int8)、4 位浮点数 (FP4) 和 4 位 NormalFloat (NF4) 的试验。QLoRA 复制 16 位 LoRA 和 fullfinetuning。

该研讨的试验成果共同表明,具有 NF4 数据类型的 4 位 QLoRA 在具有完善的评价设置的学术基准上与 16 位彻底微谐和 16 位 LoRA 微调功能相匹配,而且 NF4 比 FP4 更有效,而且双量化不会下降功能。归纳起来,这形成了令人信服的证据,证明 4 位 QLoRA 调整牢靠地发生与 16 位办法匹配的成果。

与之前关于量化的作业 [13] 共同,QLoRA 的 MMLU 和 Elo 成果表明,在给定的微谐和推理资源预算下,添加基本模型中的参数数量一起下降其精度是有益的。这凸显了 QLoRA 带来的功率优势。该研讨在试验中发现,比较于全参数微调(full-finetuning),运用 4 位微调的办法功能并没有下降,这就引出了 QLoRA 调优中功能 – 精度的权衡问题,这将是未来的研讨方向。

用 QLoRA 改进对话机器人模型

在该研讨发现 4 位 QLoRA 在规模、使命和数据集方面与 16 位功能适当以后,该研讨对指令微调进行了深入研讨,并评价了指令微调开源模型的功能。

具体来说,该研讨在具有挑战性的自然语言了解基准 MMLU 进步行了评价,并开发了用于实在国际谈天机器人功能评价的新办法。在 MMLU 上评价的成果如下表 4 所示

单GPU实现99%ChatGPT性能,「原驼」火了:手机也能微调大模型

根据 Chiang et al. [10] 提出的评价协议,该研讨运用 GPT-4 来评价不同系统比较于 ChatGPT (GPT-3.5 Turbo)的 Vicuna 基准测验成果。这被该研讨称为主动化评价办法。

Guanaco:GPT-4 之后功能最好的模型

经过主动化评价和人工评价,该研讨发现在 OASST1 的变体上微调的尖端 QLORA 调优模型 Guanaco 65B 是功能最佳的开源谈天机器人模型,其功能可与 ChatGPT 媲美。与 GPT-4 比较,Guanaco 65B 和 33B 的预期取胜概率为 30%,该成果根据人类注释者系统级成对比较得出的 Elo 等级分(Elo rating),这也是迄今为止陈述的最高水平。

该研讨还进行了与 ChatGPT 对比的 Vicuna 基准测验,成果如下表 6 所示:

单GPU实现99%ChatGPT性能,「原驼」火了:手机也能微调大模型

该研讨发现 Guanaco 65B 是 GPT-4 之后功能最好的模型,能够完成 ChatGPT 99.3% 的功能水平。Guanaco 33B 的参数比 Vicuna 13B 模型要多,但其权重仅运用 4 位精度,因而内存运用功率更高,内存占用更少(21 GB VS 26 GB)。此外,Guanaco 7B 可轻松安装在 5 GB 内存的智能手机上。

总体而言,GPT-4 和人工注释者的系统级判别是适度共同的,因而根据模型的评价是人类评价的一种牢靠代替方案。

在定性剖析方面,如下表 7 所示,该研讨发现与人类评分比较,GPT-4 为其自己的输出给出了更高的分数(Elo 为 1348 vs 1176)。未来该研讨会进一步检查主动评价系统中是否存在潜在误差,并提出可能的缓解战略。

单GPU实现99%ChatGPT性能,「原驼」火了:手机也能微调大模型