专题深读 · 2026-10-19 · 基础
LoRA:只改动一小部分来微调大模型的方法
LoRA 是一种高效的微调方法:冻结预训练模型的权重,只在每一层附加两个很小的矩阵并对其进行训练。QLoRA 在此基础上加入 4 比特量化,使单张 GPU 就能微调多达 650 亿参数的模型。
- 全量微调需要为每个任务单独保存一个与原模型同样大小的模型,模型越大,负担就越难以承受。
- LoRA 固定原始权重,只把“变化量”作为两个小矩阵(A·B)的乘积来学习。这一方法依赖的假设是:权重的变化量实际上只需少数几个方向就足以表示(低秩)。
- 训练得到的 A·B 在部署时可以合并到原始权重中,因此与适配器方法不同,不会拖慢推理。
- QLoRA 将冻结的主干模型量化为 4 比特,大幅降低了内存占用,同时还提出了“数据质量比数量更重要”的观察。
- 近期研究正朝着几个方向推进:解释 LoRA 为何有效的理论、缩小与全量微调的性能差距,以及按任务切换适配器的实用系统。
为什么需要它:全量微调的负担
LLM(大语言模型)通常先在海量通用数据上预训练,再针对摘要、问答、SQL 生成等特定任务重新训练后使用。这第二个阶段就是微调。最简单的方法是全量微调,即重新调整模型的所有参数(模型通过训练确定的那些数值)。
问题在于规模。LoRA 论文(paper)以 GPT-3 175B 为例指出,为每个任务单独构建并部署一个拥有 1,750 亿参数的模型,成本高到难以承受。哪怕只做客服、法律文书、代码审查三个版本,也会产生三份与原模型同样大小的模型。训练时还必须把所有参数的梯度和优化器状态(训练算法为每个参数单独保存的辅助值)载入 GPU 内存。
此前已有只调整部分参数或附加小型外部模块的方法。但据同一篇论文所述,这些方法往往会让模型变得更深从而拖慢推理,或缩短模型可用的输入长度,或达不到全量微调的性能。效率与质量只能二选一。
核心思想:原书不动,只贴便利贴
假设要把一本厚厚的专业教科书改得适合自己的工作。不必重印整本书,只需保持原书不变,在需要的地方贴上便利贴即可。工作变了,就换一叠便利贴。LoRA(Low-Rank Adaptation,低秩适应)做的正是这件事。
这一方法之所以可行,依据的是“变化量很简单”这一假设。LoRA 论文(paper)基于先前的研究,假设模型适应新任务时权重的变化量具有较低的“内在秩”。秩简单来说,就是表示一个矩阵实际上沿多少个独立方向变化的数。如果变化量只需少数几个方向就能解释,那么就不必学习整个巨大的矩阵,只要找出这些方向即可。
效果显著。同一篇论文报告称,与用 Adam 对 GPT-3 175B 进行全量微调相比,需训练的参数量减少了 1 万倍,GPU 内存需求减少了 3 倍。训练参数可以小到原模型的 0.01% 左右,并且在 RoBERTa、DeBERTa、GPT-2、GPT-3 上的质量与全量微调相当甚至更好。
LoRA 论文报告的节省效果
如何工作:冻结权重旁附加的两个小矩阵
Transformer 的每一层都有用于变换输入的大型权重矩阵(例如注意力中的查询、键、值矩阵)。LoRA 将原始权重 W 原样冻结,然后在其旁边并列附加两个小矩阵。矩阵 A 把输入压缩到一个很窄的空间(宽度 r),矩阵 B 再把它扩展回原来的大小。A 与 B 的乘积用来代替“变化量”。
一次计算的流程如下:1)输入进来后经过冻结的 W,得到原始输出。2)同一输入经过 A 变窄,再经过 B 重新变宽。3)把两个结果相加作为最终输出。4)训练时只更新 A 和 B,不改动 W。因此,对于大部分参数,既不需要保存梯度,也不需要保存优化器状态。
宽度 r 可以小到什么程度?LoRA 论文(paper)报告称,在 GPT-3 175B 上,即使原始维度为 12,288,r 取 1 或 2 也已足够。而且部署时可以预先把 B×A 加到 W 上,合并为一个矩阵。这样推理时的计算路径与原模型完全相同,不会因附加模块而变慢。如果不合并、单独保存 A·B,也可以在同一个主干模型上按任务切换不同的 LoRA。
发展脉络:从 LoRA 到 QLoRA
LoRA(paper,2021)确立了“冻结主干模型,只训练小型低秩矩阵”的框架。它大幅减少了训练参数和存储空间,支持按任务切换模块,并且没有推理延迟,这一点使其区别于已有的适配器方法。不过,训练时冻结的主干模型本身仍需以 16 比特等原始精度载入 GPU 内存。
QLoRA(paper,2023)减轻的正是主干模型的这部分负担。据论文所述,以常规 16 比特微调 LLaMA 65B 需要超过 780GB 的 GPU 内存。QLoRA 将冻结的主干模型量化为 4 比特(用更少的比特表示数值以减小体积的技术),并在其上附加 LoRA,让梯度经由量化后的权重传回 LoRA 部分。结果是,微调 65B 模型所需内存降到了 48GB 以下,并且据报告保持了与 16 比特全量微调相同的性能。
为此它增加了三项设计:针对服从正态分布的权重设计的 4 比特数据类型 NF4(4-bit NormalFloat);双重量化,即对量化所用的辅助常数也再做量化,平均每个参数节省约 0.37 比特(65B 模型约 3GB);以及分页优化器,把处理长输入时出现的内存骤增转移到 NVIDIA 统一内存中。论文还指出,只有把 LoRA 附加到所有层上,才能基本避免先前研究中出现的精度损失。
QLoRA 论文利用节省下来的资源训练了 1,000 多个模型,并提出了关于数据的观察:9 千个样本的 OASST1 在聊天机器人性能上优于 45 万个样本(子集抽样)的 FLAN v2,由此总结出数据质量远比数量重要。用这种方法构建的 Guanaco 模型据称在 Vicuna 基准上,以单张 GPU 训练 24 小时即达到 ChatGPT 性能的 99.3%。
全量微调 · LoRA · QLoRA
全量微调更新所有参数
- 每个任务保存一个原大小模型
- 需要所有参数的梯度和优化器状态
- 65B 以 16 比特训练需超过 780GB
LoRA冻结主干,只训练 A·B
- 每个任务只保存小型 A·B
- 部署时合并则无推理延迟
- 主干以原始精度载入内存
QLoRA4 比特主干 + LoRA
- NF4·双重量化·分页优化器
- 65B 训练降至 48GB 以下
- 报告保持 16 比特性能
공통 三者都是让预训练模型适配特定任务的微调方法
近期发展方向
第一,试图解释“LoRA 为何有效”的理论研究。有限秩瓶颈研究(paper)指出,LoRA 虽已成为参数高效微调的标准,但关于为何低秩就已足够的理论解释仍不完整。该研究注意到,冻结主干模型后,损失函数只能通过由冻结激活值构成的有限秩通道来“看到”每个权重矩阵。由此它表明,所需的秩并不取决于数据量,而取决于这一通道的秩,即“瓶颈秩”。
第二,缩小与全量微调性能差距的尝试。DT-LoRA(paper)的出发点是 LoRA 的性能往往低于全量微调。分析原因后发现,分解后的更新只在当前低秩因子所确定的空间内移动,而该空间之外的梯度分量占据了大部分梯度能量。因此,它把固定的秩预算分为稳定分支和动态分支,用来捕捉这些外部方向中的主要部分。据报告,在不增加相对 LoRA 的训练参数或推理成本的情况下,它在视觉和语言任务上都取得了稳定提升。
第三,“切换 LoRA”的实用系统。一项医学影像解读研究(paper)把 Qwen3.5-9B 以 4 比特冻结作为一个共享主干模型,在其上附加按任务划分的 LoRA 适配器,并根据输入的问题选择相应的适配器。系统覆盖六类任务和七种影像类型,并为每个任务分别调整了适配器的秩和提示词。最终容器为 30.1GB,每个病例平均耗时 3.1 秒。作者表示效果因任务而异,并将此解读为支持按任务采用不同配置的结果。不过,这是在竞赛评测集上测得的结果,并不代表真实临床环境中的性能。
局限与争议
性能差距并不总会消失。LoRA 论文(paper)在多个模型上报告了与全量微调相当或更好的质量,但 DT-LoRA(paper)的出发点则是 LoRA 的性能往往低于全量微调。由于更新被限制在低秩空间中,当任务所需的变化并不简单时,就可能吃亏。秩 r 取多大、附加到哪些层,很多时候仍需靠实验来确定。
关于“为何有效”的解释也仍在推进中。正如有限秩瓶颈研究(paper)所指出的,已有分析大多依赖于在预训练权重附近对网络做线性近似。低秩就已足够这一点,起初更接近经验性观察,理论支撑现在才逐步积累。
评估问题也随之而来。QLoRA 论文(paper)指出,GPT-4 评估与人工评估的排名大体一致,可以作为低成本的替代方案,但也存在明显不一致的情况,而且当时的聊天机器人基准并不足以可靠地准确衡量性能。此外,MMLU 得分高并不意味着 Vicuna 聊天机器人得分也高。既然现在可以用较低成本进行大量微调,确认“究竟在哪方面变好了”的评估就变得更加重要。
延伸学习
起点是 LoRA 原论文(paper)。只读第 1 章引言和第 2 章问题定义,就能把握全量微调在存储与部署上的负担,以及“用少量参数表示变化量”的思路。第 3 章“已有方案还不够吗?”对适配器方法的推理延迟问题做了比较。
接下来是 QLoRA(paper)。如果在实践中要用单张 GPU 微调大模型,最好了解 NF4、双重量化和分页优化器各自在哪里节省内存。关于数据质量和评估方法的分析也值得一并阅读。
之后若想了解最新动向,选三篇即可。对理论感兴趣,可以从有限秩瓶颈研究(paper)读起;对提升性能的变体感兴趣,可以从 DT-LoRA(paper)读起;对用一个主干模型运行多个任务的系统设计感兴趣,可以从医学影像适配器研究(paper)读起。
相关术语
参考资料
奠基论文
- LoRA: Low-Rank Adaptation of Large Language Models (2021)
- QLoRA: Efficient Finetuning of Quantized LLMs (2023)
最新研究
由 AI 根据所列参考资料撰写并经过审核。详情请查看原始资料。