一句话定位
微调大模型时冻结原权重,只在每层旁路训练一对很小的矩阵 A,BA,BA,B(低秩分解),部署时可合并回原权重——省显存、任务可热切换、推理不添延迟;效果常能打平甚至超过全参微调。

本页概念卡

  • 主方法:LoRA · PEFT · 低秩 / Intrinsic Rank
  • 对照方法:Adapter · Prefix Tuning(文中对照,未单独建卡)
  • 工程延伸:训练阶段管线 · VLA · openpi LoRA 微调

1. 背景概念(给新人)

站在 大模型高效微调(Parameter-Efficient Fine-Tuning,PEFT) 这条线上:底座已经很大,下游任务很多,不能也不该「每个任务复制一份整模」。

术语白话
LoRALow-Rank Adaptation:用低秩 BABABA 近似权重更新 ΔW\Delta WΔW
PEFT参数高效微调:只训很少参数,底座冻结
全参微调(Full Fine-Tuning)所有权重都更新;GPT-3 175B 时存储与多任务部署几乎不可行
Adapter在 Transformer 块里串入小瓶颈 MLP;参数少,但推理常多一段串行延迟
Prefix / Prompt Tuning在输入侧加可训练「虚 token」;会占掉可用序列长度
Intrinsic Rank(内在秩)论文假设:适配时权重变化 ΔW\Delta WΔW 本身可以用很低的秩近似
Rank rrrA,BA,BA,B 中间的「窄通道」宽度;r≪dmodelr\ll d_{\mathrm{model}}r≪dmodel​ 才省参数
α\alphaα(alpha)对 ΔWx\Delta W xΔWx 的缩放常数;文中常设为首次尝试的 rrr,少调

旧范式痛点(生活类比)

  • 全参微调像:每开一家分店就复印整套百科全书再改几页——仓库爆了。
  • Adapter 像:百科旁边加插页本,读的时候必须多翻几页 → 线上延迟上去。
  • LoRA 像:百科不动,只订两页活页;上架前可以把活页胶进原书,读者翻页路径不变。

2. 论文在干什么

  • 问题:预训练→下游适配时,全参微调对 GPT-3 级模型存储/显存/多任务部署成本爆炸;已有 Adapter / Prefix 要么加推理延迟,要么占序列长度,且常打不过全参微调。
  • 设定:
    • 动机场景:自回归语言建模(条件生成),目标形式见式 (1)(2)
    • 评测:RoBERTa / DeBERTa 上 GLUE;GPT-2 上 E2E 等 NLG;GPT-3 175B 上 WikiSQL、MNLI、SAMSum
  • 贡献概览:
    1. 提出 LoRA:冻结 W0W_0W0​,用 BABABA 参数化 ΔW\Delta WΔW
    2. 相对 Adam 全参微调:可训参数约 10,000× 减少,训练显存约 3× 下降(GPT-3 175B)
    3. 质量上与全参微调持平或更好;相对 Adapter 无额外推理延迟(可 merge)
    4. 经验分析:适配更新确实近似低秩;常优先挂 Wq,WvW_q,W_vWq​,Wv​;很小的 rrr 往往够用

3. 核心创新点

  1. 低秩参数化权重更新
    假设适配时 ΔW\Delta WΔW 内在秩低:W0+ΔW=W0+BAW_0+\Delta W=W_0+BAW0​+ΔW=W0​+BA,只训 A,BA,BA,B。这是对「全秩更新」的约束,不是另开一套深度模块。

  2. 可合并 → 零额外推理延迟
    部署时显式算 W←W0+BAW\leftarrow W_0+BAW←W0​+BA,前向与全参微调模型同构;换任务可减回 BABABA 再加另一套 B′A′B'A'B′A′。

  3. 与 Adapter / Prefix 正交且可组合
    不占序列长度、不加深串行层;附录里可与 prefix 组合。

  4. 对「适配到底改了什么」的可解释分析
    子空间重叠实验表明:增大 rrr 并不必然学到更多「有意义」方向;ΔW\Delta WΔW 更像放大预训练里已有但未被强调的特征方向。

4.1 前向公式

对预训练权重 W0∈Rd×kW_0\in\mathbb{R}^{d\times k}W0​∈Rd×k:

h=W0x+BAx,B∈Rd×r,  A∈Rr×k,  r≪min⁡(d,k) h = W_0 x + B A x,\quad B\in\mathbb{R}^{d\times r},\; A\in\mathbb{R}^{r\times k},\; r\ll\min(d,k) h=W0​x+BAx,B∈Rd×r,A∈Rr×k,r≪min(d,k)

  • 初始化:A\boldsymbol{A}A 高斯随机,B=0B=\mathbf{0}B=0 → 开训时 ΔW=0\Delta W=\mathbf{0}ΔW=0,不破坏预训练行为。
  • 缩放:输出侧常乘 α/r\alpha/rα/r(实现里写法因库而异;直觉是换 rrr 时少重调学习率)。
  • 训练:只对 A,BA,BA,B(及可选 bias)求梯度;Adam 不必为冻结参数存优化器状态 → 显存大降。

4.2 挂在 Transformer 哪里

  • 注意力有 Wq,Wk,Wv,WoW_q,W_k,W_v,W_oWq​,Wk​,Wv​,Wo​;MLP 有两套线性层。
  • 本文主实验:只适配注意力权重,冻结 MLP(简单 + 省参)。
  • GPT-3 预算固定约 18M 可训参数时(Table 5):同时适配 WqW_qWq​ 与 WvW_vWv​ 整体最好;只砸在 WqW_qWq​ 或 WkW_kWk​ 上明显更差。
  • 工程习惯(含后来的 VLA / openpi):常见 q_proj / v_proj(或更多线性层),rank 常用 8–64。

4.3 实操好处与局限

好处含义
共享底座 + 多套小 LoRA100 个任务 ≈ 底座 + 100× 几十 MB,而非 100 份整模
训练吞吐GPT-3 175B 上相对全参约 +25% tokens/s(同并行配置)
任务切换热换 A,BA,BA,B 即可

局限:若为去延迟而merge 进 WWW,则同一 batch 里混多种任务 LoRA 不方便;不 merge、动态选模块则仍可,但放弃「零延迟」优势。

5. 整体框架(Mermaid)

merge

旁路

输入 x

冻结 W0 · 预训练权重

可训 A · r×k

可训 B · d×r

逐维相加

输出 h = W0x + BAx

部署?

W = W0+BA · 无额外延迟

保留旁路 · 可热换任务

部署

训练

冻结大模型

注入 A,B

只更新 A,B

按任务换 A,B

或合并进 W

6.1 主结果(记数量级即可)

  • RoBERTa base:LoRA 0.3M 可训参,GLUE 平均 87.2,高于全参微调 86.4 与多种 Adapter(Table 2)。
  • GPT-3 175B(Table 4):LoRA 4.7M 参数时 WikiSQL 73.4 / MNLI-m 91.7 / SAMSum Rouge 优于多数对照;37.7M 时 WikiSQL 74.0,可超过全参微调 73.8。
  • 相对全参:可训参数约 10,000× 少(r=4r=4r=4 且只改 Q/V 时 checkpoint 从约 350GB 量级任务副本降到约 35MB 量级增量);训练 VRAM 约 1.2TB → 350GB。

6.2 秩与挂载消融(§7)

  • Table 6:在 {Wq,Wv}\{W_q,W_v\}{Wq​,Wv​} 上,r=1r=1r=1 已很强;盲目加大 rrr 到 64 未必更好。
  • 子空间分析:不同 rrr / 不同随机种子学到的主奇异方向高度重叠 → 「有用更新」确实低维;其余方向更像噪声。
  • ΔW\Delta WΔW vs WWW:ΔW\Delta WΔW 不是简单重复 WWW 的主方向,而是放大预训练已有、但对下游不够强调的方向(放大倍数可很大)。

6.3 局限(论文诚实点 + 工程提醒)

  • 任务与预训练语言差很远时,很小的 rrr 可能不够(文中 thought experiment)。
  • 本文未系统扫 MLP / LayerNorm / bias 的 LoRA(留给后续工作;今天工程里常挂更多层)。
  • 后人常见变体:QLoRA(量化底座 + LoRA)、DoRA、生成式 LoRA(如 EverWalker 超网络出 A,BA,BA,B)——本精读只钉死 2021 原文。

7. 要点总结

  • LoRA = 冻结 W0W_0W0​ + 低秩 ΔW=BA\Delta W=BAΔW=BA,不是另造一层深度 Adapter。
  • 可 merge → 推理延迟与全参微调同构;这是相对 Adapter 的关键产品优势。
  • 预算紧时优先挂 WqW_qWq​+WvW_vWv​;rrr 从小试起,别迷信「越大越好」。
  • 在 VLA / openpi / 4090 场景:LoRA 是「一张卡能微调大策略」的前提砖块。
  • 终身 / 多场景时:固定多套 LoRA vs 超网络生成 LoRA是下一层问题。

8. 开放问题

  • 在动作策略(π₀ / GR00T)上,挂注意力 vs 也挂 MLP / action head,经验秩该怎么选?
  • merge 后做量化部署时,数值误差如何控制?
  • 与 QLoRA / DoRA 在机器人小数据上谁更稳?
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐