是什么
LoRA,全称低秩适配(low-rank adaptation),是一种基于适配器(adapter)的高效微调技术 [1]。微调指把一个已经训练好的模型放到更窄的、面向具体任务的数据上继续训练。常规做法是全量微调(full fine-tuning),它更新整个网络,或者至少更新所有没有被冻结的层,计算开销很大 [1]。LoRA 改变的是「更新哪些参数」:它冻结预训练模型的权重,只训练新加入的一小部分参数。
怎么工作
方法本身是设计一个低秩矩阵,把它加到原来的权重矩阵上;这些低秩矩阵组合起来就构成了适配器 [1]。在 Transformer 结构里,LoRA 向每一层注入可训练的秩分解矩阵,从而大幅减少下游任务需要训练的参数数量 [2]。训练时只更新新加低秩矩阵的权重,其余全部冻结 [1]。把适配器加到基座模型上,就得到微调后的模型 [1]。
省下来的参数量来自「秩」。大网络里一个完整的权重矩阵可能包含上百万个数;它的低秩版本被存成两个瘦得多的矩阵相乘,乘积与原矩阵形状相同。举个纯属假设的例子:假设某一层是 4096×4096 的权重矩阵,约 1600 万个元素;用秩为 8 的分解来表示,只需要两个 4096×8 的矩阵,约 6.5 万个元素。适配器很小,但它叠加在冻结的原权重之上,这一层仍然保有原来的宽度。
规模上的效果很明显。对于参数量以十亿计的模型,LoRA 微调只需要几百万个参数 [1]。与用 Adam 微调的 GPT-3 175B 相比,LoRA 把可训练参数减少到万分之一,把显存需求降低到三分之一 [2]。
结果与由来
LoRA 由 Hu、Shen、Wallis、Allen-Zhu、Li、Wang、Wang 和 Chen 在论文《LoRA: Low-Rank Adaptation of Large Language Models》中提出,该论文发表在 ICLR,编号为 arXiv:2106.09685 [1];论文于 2021 年 6 月 17 日首次提交到 arXiv [2]。它属于适配器方法这一条线,适配器模块由 Liu 等人在 NeurIPS 2022 上作了描述 [1]。
质量上,它在 RoBERTa、DeBERTa、GPT-2 和 GPT-3 上的表现与微调持平或更好,训练吞吐更高,而且不像适配器那样带来额外的推理延迟 [2]。它以远小于全量微调的空间需求,达到了接近全量微调的性能 [1]。
今天用在哪里
LoRA 被广泛用于 Stable Diffusion,并得到 Hugging Face 的 diffusers 与 PEFT 软件包的支持 [1]。由于训练出来的部分相对基座模型很小,保存一个适配器所需的空间比保存一份完整模型少得多 [1]。
局限
微调可能损害模型对分布偏移(distribution shift)的稳健性,这种损害可以通过与原始权重做线性插值来缓解 [1]。LoRA 也没有取消基座模型,以及一次基于任务数据的训练过程。
注释与来源
- Fine-tuning (deep learning)https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning)
- LoRA: Low-Rank Adaptation of Large Language Modelshttps://arxiv.org/abs/2106.09685
引用本页: LoRA(低秩适配). TellWorld, https://www.tellworld.net/zh/learn/lora. 更新于 2026-11-07