LoRA

义项:低秩适应
LoRA

LoRA(Low-Rank Adaptation,低秩适应)是一种面向大型神经网络的参数高效微调方法,由微软研究院的研究者于2021年提出。它把微调时对权重矩阵的改动分解为两个小规模低秩矩阵的乘积,冻结原有预训练权重,只训练这对新增矩阵,从而把可训练参数量压缩到全量微调的极小比例。该方法在部署时可将适配矩阵并回原权重,不增加推理延迟,已成为大语言模型与文生图扩散模型定制的主要手段之一。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

LoRA 是一种在保持预训练模型参数不变的前提下完成下游任务适配的微调技术,属于参数高效微调(Parameter-Efficient Fine-Tuning,PEFT)家族中的重参数化方法。其做法是为模型中已有的线性权重矩阵配上一对可训练的低秩矩阵,把任务所需的参数增量表达为这对矩阵的乘积,而原始权重始终保持冻结[1]。

按原始论文的定义,对于形状为 $d \times k$ 的预训练权重 $W_0$,适配后的权重写为 $W_0 + BA$,其中 $B$ 的形状为 $d \times r$、$A$ 的形状为 $r \times k$,秩 $r$ 远小于 $d$ 与 $k$。由于 $r$ 很小,需要更新的参数量从 $d \times k$ 降为 $(d + k) \times r$,这也是该方法被称为低秩适应的原因[2]。

原理

该方法成立的前提是一个关于微调行为的经验观察:模型在适应具体任务时产生的权重变化,其有效维度远低于权重矩阵本身的维度,即权重更新具有较低的内在秩。因此用低秩分解去近似这一变化,不会带来明显的性能损失。相关研究此前已发现,预训练语言模型具有很低的内在维度,可以在低维重参数化下仍有效学习[3]。

参数化方式可以用下式表示,其中缩放因子 $\alpha$ 用于调节低秩分支对输出的影响强度:

$$h = W_0 x + \frac{\alpha}{r} B A x$$

训练时只有 $A$、$B$ 参与梯度更新,$W_0$ 不接收梯度[4]。以 $4096 \times 4096$ 的权重矩阵为例,取 $r=8$ 时新增参数约为 6.6 万个,较原矩阵的约 1670 万个减少约 99.6%[5]。

初始化与推理方式决定了该方法在工程上的可用性。常见做法是把其中一个矩阵随机初始化、另一个初始化为零,使训练开始时增量项为零,模型输出与预训练状态一致,训练过程因此更稳定[6]。推理阶段既可以把 $BA$ 直接加回 $W_0$ 得到合并权重,也可以保留两条分支分别计算后再相加,后者便于在同一基座上快速切换不同任务的适配模块。


flowchart LR

X[输入 x] --> W[冻结权重 W0]

X --> A[低秩矩阵 A]

A --> B[低秩矩阵 B]

W --> S[相加]

B --> S

S --> Y[输出 h]

发展历程

2021 年,微软研究院的 Edward Hu、Yelong Shen、Phillip Wallis 等 8 位研究者合作发表论文《LoRA: Low-Rank Adaptation of Large Language Models》,提出这一方法,论文编号为 arXiv:2106.09685。该工作在 GPT-2、RoBERTa、DeBERTa 等模型上与全量微调及适配器、前缀微调等方法做了对比,在只训练少量参数的情况下取得了相当或更好的结果[7]。论文随后在 2022 年的 ICLR 会议上发表[8]。

2022 年末至 2023 年初,社区把这一方法移植到文生图扩散模型上,用于以少量图片训练风格或人物定制模型,相关实现随后被整合进扩散模型的开源工具库[9]。2023 年出现的 QLoRA 在此基础上把冻结的基座模型量化到 4 位精度,只以较高精度训练适配矩阵,进一步压低了显存需求[10]。

此后的研究沿多个方向改进原始设计。DoRA 把权重更新拆成幅度与方向两部分分别学习;LoRA+ 为两个低秩矩阵设置不同学习率;rsLoRA 调整缩放因子的形式,以缓解秩增大后训练不稳定的问题[11]。2025 年,中国科学院合肥物质科学研究院智能所等机构的团队提出 GoRA 框架,利用预训练权重的梯度信息在训练前为各适配器分配秩并做初始化[12]。

应用

在大语言模型领域,该方法主要用于下游任务适配与指令微调。同一份基座权重可以被多个任务共享,不同任务各配一份体积很小的适配参数,部署时通过替换适配矩阵完成切换,显著降低了多任务场景下的存储与切换开销。以 70 亿参数级模型为例,只对注意力层做低秩微调时,可训练参数通常只占全量微调的很小比例,使消费级显卡也能承担微调任务[6]。

在文生图方向,该方法被用于 Stable Diffusion 等扩散模型的定制化训练,可以针对特定画风、人物形象或物体概念训练适配模块,产出文件通常只有数十至数百 MB,远小于完整模型的体积[13]。多个适配模块可以在推理时以不同权重叠加,用于组合风格与概念;推理框架也支持在一次加载中动态切换多个适配器[14]。

应用范围并不限于语言与图像。相关研究已把该方法用于视觉模型的图像分类任务,并在 CLIP 视觉编码器等跨模态结构上验证了其适应性[15]。由于原理上可以作用于任意线性层,它被视为一种与模型架构相对解耦的通用适配手段[3]。

局限

低秩假设本身构成表达能力的天花板。低秩约束擅长重新组织模型已有的能力,适合风格、语气、输出格式与任务范式的调整;若目标是注入预训练阶段从未见过的事实性知识,秩 $r$ 就成为实际的容量上限,仅靠该方法难以达到全量微调的效果[11]。低秩近似与理想微调权重之间的差距,也是后续诸多改进方法试图缩小的对象[16]。

显存节省是有限的。该方法减少的是梯度与优化器状态的开销,基座模型本身仍需完整加载,对超大模型而言硬件门槛依然存在;QLoRA 通过量化基座缓解了这一问题,但引入了量化带来的精度损失与额外实现复杂度[10]。

超参数选择缺乏统一准则。秩的大小、缩放因子、挂载到哪些层,都会影响结果,通常需要按任务反复试验;秩并非越大越好,标准配置下增大秩有时反而导致性能下降或训练不稳定。此外,多个独立训练的适配模块组合使用时容易出现概念之间的相互干扰,需要额外的约束手段[17]。

参见

  • 微调 —— 在预训练模型基础上用特定数据继续训练以适配任务的通用做法,LoRA 是其中参数高效的实现之一。

  • Transformer —— LoRA 最初主要作用于该架构自注意力层中的投影矩阵。

  • QLoRA —— 在量化基座上应用低秩适配的变体,进一步降低显存需求。

  • DoRA —— 将权重更新分解为幅度与方向两部分学习的改进方法。

  • Stable Diffusion —— 广泛采用 LoRA 做风格与概念定制的文生图扩散模型。

  • 参数高效微调 —— 只更新少量参数即可完成适配的一类方法的总称。

词条评价
词条统计

浏览次数:3 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:28:34Z

历史版本

本条目引用的词条
Stable Diffusion 微调 Transformer QLoRA DoRA 参数高效微调