LoRA:大语言模型低秩适配

最近在几个项目中都用到了LoRA,所以决定回来读一下这篇经典...

2021年,在通用预训练 + 下游任务适配 已经成为自然语言处理领域的标准范式背景下,微软团队提出了LoRA(Low-Rank Adaptation),以极简优雅的设计,彻底改写了大模型高效微调的格局,成为如今几乎所有大模型部署与适配的标配技术。

大模型预训练后适配下游任务,是 NLP 落地的关键环节。但全参数微调需要更新全部权重,在 GPT-3 175B 这类超大规模模型上,会带来难以承受的存储、显存与部署成本。为破解这一难题,文章提出低秩适配(LoRA) 方法:

  • 冻结预训练模型全部权重,仅在 Transformer 层中注入可训练的低秩分解矩阵,大幅削减下游适配的参数量;
  • 在 GPT-3 175B 场景下,可训练参数减少10000 倍 ,显存占用降低3 倍,训练效率显著提升;
  • 在 RoBERTa、DeBERTa、GPT-2、GPT-3 等一系列模型上,效果持平甚至超越全参数微调
  • 相比 Adapter 类方法,无额外推理延迟;相比 Prompt Tuning,不占用有效序列长度、优化更稳定;
  • 从实验角度验证:语言模型在适配过程中,权重更新本身具有极低的本征秩,为 LoRA 的有效性提供了坚实依据。

原文链接:[2106.09685] LoRA: Low-Rank Adaptation of Large Language Models

代码链接:microsoft/LoRA: Code for loralib, an implementation of "LoRA: Low-Rank Adaptation of Large Language Models"

沐小含持续分享前沿算法论文,欢迎关注...


一、大模型微调的困局与破局思路

(一)全参数微调的三大致命痛点

过去,预训练模型配合全参数微调,在小模型时代高效且稳定。但当模型规模攀升至百亿、千亿级别,痛点被无限放大,主要体现在:

  1. 存储成本爆炸:每适配一个任务,就要保存一份完整模型权重,GPT-3 175B 单任务存储就高达数百 GB,多任务部署几乎不可行;
  2. 显存需求天价 :使用 Adam 等自适应优化器时,需要同时存储参数、梯度、动量、方差,GPT-3 训练显存占用可达1.2TB,普通硬件完全无法支撑;
  3. 部署极其僵硬:任务切换需要加载完整模型权重,切换成本高、速度慢,无法满足在线服务快速迭代的需求。

(二)现有高效适配方案的先天缺陷

为降低微调成本,学界先后提出下面两类主流方案,但都存在无法回避的短板:

  1. Adapter 层 :在 Transformer 模块中插入小型子网络,仅训练少量参数。但 Adapter 是串行结构 ,推理时必须额外计算,会引入不可消除的延迟,在小批量、短序列的在线场景中,延迟增幅最高可达30%
  2. Prompt Tuning(Prefix/Soft Prompt) :仅优化输入侧的连续提示向量,不改动模型主体。但这类方法极难优化,性能随参数变化非单调增长,同时会挤占输入序列长度,压缩模型处理任务的有效空间。

正如文中所言,现有方案都被迫在效率与性能 之间做妥协,而 LoRA 的目标,是彻底跳出这一权衡,同时实现高效率、高性能、零推理延迟

(三)LoRA 的核心灵感与创新假设

LoRA 的思想源于一个关键发现:过参数化的深度网络,其学习到的权重分布天然落在低维子空间中

基于此,论文提出了核心思想:

深度神经网络中大量的全连接层(dense layer) 都执行矩阵乘法运算,这些层的预训练权重矩阵 通常是满秩的。但在下游任务适配时,权重的增量 并不需要满秩,它具有极低的本征秩,即实际上权重变化只集中在极少数关键方向上。我们只需要学习这个低秩的更新分量,就能完成任务适配,无需对原有权重做任何修改。

这一思想,成为 LoRA 极简设计、高效性能的根本来源。


二、问题定义:用极小参数表示大模型的适配变化

文中将预训练自回归语言模型表示为:

其中 是模型全部参数。传统全微调会将参数从 更新为 ,优化目标为:

的规模与原模型完全一致,这正是成本高昂的根源。

LoRA 的目标非常明确:用一组远小于原模型规模的小参数集,来表示适配所需的参数更新 ,即, 优化目标调整为:

在 GPT-3 175B 场景中, 的规模可以低至原模型的0.01%,用极小的代价实现高质量适配。


三、LoRA 核心技术原理

3.1 核心结构与示意图

LoRA 重参数化结构: 预训练权重 ​ 完全冻结,仅训练低秩分解矩阵 A 与 B,初始 B=0,保证训练起点与原模型一致。

3.2 数学定义与公式推导

设某一层的预训练权重矩阵为:

  • :输出维度
  • :输入维度

在全微调中,权重会被更新为:,其中 同维度,是满秩、高参数量的矩阵。

LoRA 对增量 低秩分解约束,其中:

  • LoRA 的秩,是一个远小于模型维度的超参数(如 1、2、4、8)

因此,LoRA 下的权重为:

对应的前向传播公式

  • :预训练模型的原始输出
  • :低秩适配分支的输出
  • 两者逐元素相加,得到最终输出

整个过程中,​ 始终冻结,不参与梯度更新 ,只有 两个矩阵可训练。

3.3 初始化规则

为了让 LoRA 在训练开始时不破坏预训练模型的输出分布,论文设定了明确的初始化方式:

  1. 矩阵 A :使用高斯分布随机初始化
  2. 矩阵 B初始化为全零矩阵

这意味着:训练初始阶段 ,模型输出与原始预训练模型完全一致,训练稳定、无偏移。

3.4 缩放因子 / :稳定训练、简化调参的关键设计

这是文中的一个关键缩放技巧 ,用于平衡不同秩 下的输出尺度:

其中:

  • 是一个常数
  • 是当前 LoRA 的秩

在使用时,论文中明确说到:

使用 Adam 优化器时,只要初始化尺度合适,调整 近似等价于调整学习率。因此我们直接将 设为第一次尝试的 不再对其调参

这一设计的意义:

  1. 避免因 变化导致输出数值范围剧烈波动;
  2. 大幅减少超参搜索成本;
  3. 让不同秩的 LoRA 模型可以在相近学习率下稳定训练。

3.5 与全微调的关系:LoRA 是更泛化的适配形式

LoRA 是全参数微调的一种泛化形式,而非简化版。

  • 当把 LoRA 应用到所有权重矩阵 ,并将秩 设为权重矩阵的满秩 时,LoRA 的表达能力近似等价于全微调
  • Adapter 类方法最终只能收敛到一个 MLP 结构,表达能力受限;
  • Prefix 类方法会损失序列长度,无法处理长文本。

这从理论上保证了LoRA 不会因为低秩约束而损失表达上限

3.6 零推理延迟的理论保证:权重可融合

这是 LoRA 最关键的工程性质,论文给出严格结论

部署时可将 提前计算并融合为一个矩阵 ,推理过程与全微调模型完全一致,无任何额外计算、无延迟、无序列长度损失

融合后:

推理时直接使用 ,与全微调模型计算图完全相同

任务切换时:

  1. 恢复基座权重
  2. 加上 完成切换

整个过程仅涉及矩阵加减,速度极快、存储开销极小。

3.7 LoRA 在 Transformer 中的具体应用位置

作者团队在经过大量的 ablation 实验后指出,只在 Transformer 自注意力层的投影矩阵上使用 LoRA是最优的,包括:

  • :Query 投影矩阵
  • :Key 投影矩阵
  • :Value 投影矩阵
  • :Output 投影矩阵

同时:

  • MLP 层全部冻结
  • LayerNorm 层全部冻结
  • 偏置项全部冻结

3.8 可训练参数量计算公式

当只对注意力层施加 LoRA 时,每层可训练参数总量为:

符号含义:

  • :施加 LoRA 的权重矩阵数量(如只对 , 则为 2)
  • :Transformer 模型的特征维度
  • :LoRA 秩
  • 乘 2:因为每个 LoRA 模块包含 A、B 两个矩阵

以 GPT-3 175B 为例:

  • =12288
  • =4
  • 仅对 , 加 LoRA
  • 总层数 96

可训练参数仅约:35MB ,相比原模型缩小10000 倍


四、LoRA 的核心优势与局限

(一)四大不可替代的优势

  1. 极致的参数与显存节省GPT-3 175B 场景下,可训练参数减少 10000 倍,训练显存从 1.2TB 降至 350GB,模型 checkpoint 从 350GB 压缩至 35MB。
  2. 训练速度更快 无需计算冻结参数的梯度,也无需维护大量参数的优化器状态,GPT-3 训练吞吐量提升25%
  3. 真正的零推理延迟权重可提前融合,推理行为与全微调模型完全一致,不增加任何计算开销。
  4. 多任务部署灵活低成本共享一个基座模型,仅切换不同任务的 LoRA 权重,就能实现秒级任务切换,大幅降低服务成本。

(二)客观存在的局限

  • 权重融合后,单批次无法同时处理不同任务的样本
  • 极端跨域任务(如语言完全切换),过小的秩 可能不足以表达适配需求,需要适当增大

五、实验验证:从小模型到千亿模型全覆盖

文章在自然语言理解(NLU)、自然语言生成(NLG)、超大规模模型三个维度,进行了最全面的对比验证,覆盖 RoBERTa、DeBERTa、GPT-2、GPT-3 175B 等主流模型。

(一)对比基线说明

  • FT:全参数微调(黄金标准);
  • BitFit:仅训练偏置项;
  • AdapterH/AdapterL/AdapterP:不同结构的 Adapter 微调;
  • PrefixEmbed/PrefixLayer:两类提示微调方法;
  • LoRA:本文提出的低秩适配。

(二)NLU 任务:GLUE 基准实验

在 RoBERTa Base/Large、DeBERTa XXL 上的 GLUE benchmark 结果显示:

  • LoRA 仅用0.3M~4.7M 参数 ,效果就超过或持平全参数微调(参数量相差数百倍);
  • 同参数规模下,LoRA 大幅领先 Adapter、BitFit 等所有基线;
  • 即便在 15 亿参数的 DeBERTa XXL 上,LoRA 依然保持稳定优势。

(三)NLG 任务:GPT-2 生成任务

在 E2E NLG Challenge、WebNLG、DART 等生成任务中:

  • LoRA 在 BLEU、NIST、ROUGE-L、CIDEr 等核心指标上全面领先所有对比方法;
  • 可训练参数仅 0.35M~0.77M,远小于全微调的数亿参数,实现了 "小参数、强生成"。

(四)终极压力测试:GPT-3 175B

在 WikiSQL、MNLI、SAMSum 三大任务上,LoRA 展现了压倒性优势:

  • 仅用4.7M 参数 (不足原模型的 0.002%),效果超越全参数微调
  • 相比 Adapter、Prompt Tuning,在各项指标上均取得最优成绩;
  • 训练成本、显存占用、速度全面优于传统方案,成为千亿模型适配的最优解。

从参数 - 性能曲线可以清晰看到:LoRA 在所有方法中斜率最优,参数量越少,相对优势越明显


六、低秩更新的内在机理剖析

为了充分解释LoRA为什么 "效果好",文章从数学与实证角度,通过对三个核心问题进行剖析来揭示 LoRA 有效的本质。

(一)Transformer 中哪些权重最适合加 LoRA?

固定参数预算为 18M,对比不同权重组合的效果:

  • 仅适配 ,性能明显偏低;
  • 同时适配 ,综合效果和效率最佳;
  • 同时适配 ,收益边际递减。

工程结论 :只对注意力层的 投影矩阵加 LoRA,性价比最高。

(二)最优秩 到底有多小?

实验给出了颠覆认知的结果:

  • =1 时,效果就已经接近饱和=4 后性能几乎不再提升;
  • 即便在 GPT-3 175B 这种超大规模模型上,极小的秩就足以表达任务适配所需的权重更新;
  • 直接证实:大模型适配的权重更新 ,本征秩极低

(三) 与原权重 的关系:放大被忽略的任务特征

通过奇异值分解与子空间投影分析,论文发现:

  1. 与原权重 相关但不重复,并非简单复制主干特征;
  2. 的作用,是放大 中已经学到、但未被重点强调的任务关键方向
  3. 放大倍数极高:=4 时放大倍数约21.5 倍=64 时仅约 2 倍。

这意味着:大模型预训练时已经学到了任务所需的大部分知识,适配只需要强化极少数关键特征方向,而 LoRA 精准做到了这一点。


七、结论与未来研究方向

(一)核心结论

LoRA 以极简的低秩更新设计,完美解决了大模型适配的三大痛点:

  • 冻结预训练权重,仅训练低秩矩阵,成本降低万倍;
  • 权重可融合,零推理延迟,部署友好;
  • 效果超越全微调,适配稳定、通用性强;
  • 从实证角度验证了大模型适配的低秩本质,为后续高效微调研究提供了核心思路。

(二)未来研究方向

  1. 将 LoRA 与其他高效微调方法深度融合,进一步提升性能;
  2. 深入研究微调与 LoRA 的特征演化机制,揭开大模型适配的底层逻辑;
  3. 设计自动化策略,智能选择适配层与最优秩
  4. 探索预训练权重本身的低秩性,实现模型压缩与适配一体化。

全文总结

LoRA(2106.09685)是大模型高效微调领域的里程碑式工作,它没有复杂的结构设计,仅依靠 "低秩更新" 这一朴素思想,就破解了全微调成本高、Adapter 有延迟、Prompt 难优化的行业难题。如今,LLaMA、Qwen、GLM、Baichuan 等几乎所有主流开源大模型,都已原生支持 LoRA,足以证明这篇论文的前瞻性与实用性。

相关推荐
byzy3 小时前
【论文笔记】Vehicle-to-Everything Cooperative Perception for Autonomous Driving
论文阅读·深度学习·计算机视觉·自动驾驶
传说故事3 小时前
【论文阅读】Fast-WAM: Do World Action Models Need Test-time Future Imagination?
论文阅读·具身智能·vla
传说故事5 小时前
【论文阅读】StarVLA-α: Reducing Complexity in Vision-Language-Action Systems
论文阅读·人工智能·具身智能·vla
大模型最新论文速读5 小时前
RACER:无需训练,让大模型推理速度翻倍
论文阅读·人工智能·深度学习·机器学习·自然语言处理
传说故事6 小时前
【论文阅读】RADAR:通过语义规划与自主因果环境重置的闭环机器人数据生成
论文阅读·人工智能·机器人·具身智能
传说故事1 天前
【论文阅读】ViVa: A Video-Generative Value Model for Robot Reinforcement Learning
论文阅读·人工智能·强化学习·具身智能
joker_sxj1 天前
论文阅读-DeepSeek-mHC
论文阅读·算法
传说故事1 天前
【论文阅读】RoboCodeX: Multimodal Code Generation for Robotic Behavior Synthesis
论文阅读·人工智能·具身智能
森诺Alyson1 天前
前沿技术借鉴研讨-2026.4.16(视觉语言模型/医学影像文本多模态对齐)
论文阅读·人工智能·经验分享·计算机视觉·语言模型