“把一个庞大的 AI 模型从头重新训练太贵了——但我又想为自己稍微调整一下。”实现这个愿望的技术就是 LoRA(Low-Rank Adaptation,低秩适应)。它通过冻结原始模型,只训练一个极小的“附加部件(适配器)”,把需要训练的参数减少到原始模型的 1% 以下(在原论文的 GPT-3 实验中约为万分之一)。

LoRA 让微调变得大幅更便宜、更快,同时在 Stable Diffusion 等图像生成中,作为“添加某个角色或画风的小文件”也极受欢迎。本文用“补丁”的比喻来讲解其机制,并介绍优势、可更换的适配器、QLoRA,以及它与全量微调的区别——面向初学者。

LoRA · 用小适配器聪明地调整

冻结底座,只训练一小部分

— 可训练参数不到原来的 1%

🔒 Frozen
庞大的底座模型
保持不变 · 不训练
+
🧩 LoRA
适配器
小巧 · 只训练这个
可训练参数不到原来的 1% 小文件,可随意更换 不增加推理延迟

* 数值来自 LoRA 原论文(Hu 等,2021)、QLoRA 论文(Dettmers 等,2023)和 Biderman 等(2024)的实验条件(已于 2026 年 10 月 10 日核对原文)。削减率和效果会因模型与配置而异,请作为大致趋势参考。

1. LoRA 是什么?冻结底座,只训练适配器

LoRA 是“参数高效微调(PEFT)”的代表性方法。其核心机制很简单——把庞大的原始权重完全保持不变(冻结),在每一层中插入一个“小的附加矩阵”,只训练这个矩阵。

可以把它想象成“衣服上的补丁”:把一件昂贵的衣服(庞大的模型)重新裁剪很费劲,但缝上一小块补丁既便宜又快。LoRA 也是一样——底座原封不动,添加一个小适配器来“调整”它的行为。用公式来说就是 W = W0 + BA(W0 = 冻结的原始权重,BA = 新增的那一小部分)。它的基础是这样一个假设:调整一个 AI“其实并不需要做大的改动”——低秩就足够了,而原论文的实验证实了这一点。不过也有报告指出,在编程、数学这类需要大幅改变模型的训练中,低秩并不够用,效果不如全量训练(Biderman 等,2024)。

换句话说,不是“完全重新涂抹”,而是“小幅地覆盖”。仅此一点,就大幅降低了训练的成本和风险。把它和微调的基础知识对照着读,它的定位就一目了然。

2. 为什么这么高效?

LoRA 的效率十分惊人。把训练范围缩小到“小适配器”,就能带来以下好处。

📉 可训练参数大幅减少

需要训练的权重不到原来的 1%。在原论文中,与完整训练 GPT-3 175B 相比约为万分之一(约 1,753 亿 → 470 万至 3,770 万)。

💾 更省内存、更快、更便宜

训练时所需的 GPU 内存会减少。在原论文的 GPT-3 175B 上为1.2TB → 350GB(约三分之一),训练速度也快了约 25%(与用 Adam 训练全部参数相比)。比例会因模型规模和设置而异。

⚡ 推理不会变慢

训练完成后,把适配器合并(merge)到底座中,就不会增加任何延迟(不合并、而在一次处理中混合多个适配器的用法另当别论)。

🛡️ 不易遗忘原有能力

由于训练的自由度更小,有报告称它不易丢失原始模型的能力(Biderman 等,2024)。但这并不保证不会过拟合。

简而言之,LoRA “用极低的成本,逼近全量微调的效果”。正因如此,个人和小团队也能把大模型变成“自己专属”的。

3. 最大优势:适配器可随意更换

LoRA 的另一个魅力在于“可以只保存、共享、更换适配器”。底座模型保持通用,按用途更换一个小小的 LoRA 文件(比底座小几个数量级)——这彻底改变了运维方式。

针对一个庞大的底座模型,准备多个 LoRA——“用于客户支持”“用于公司的语气”“用于某个特定角色”——并按场景即时切换。无需保存多个完整的底座,存储和分发都很轻量。把底座放在一块 GPU 上,只更换适配器,就能服务于多种用途。

4. 图像生成中的 LoRA(最贴近生活的例子)

很多人第一次接触 LoRA,其实是在图像生成中。在 Stable Diffusion 里,学会了某个特定角色、画风或主体的小小 LoRA 文件被大量共享。

🎨 添加一种画风

可以事后把某种特定画风——动漫、水彩——加到底座模型上。

👤 学会一个角色

用几张到几十张图片,就能做出再现某个特定角色或人物的 LoRA。

📦 轻巧易分享

文件比底座模型小几个数量级,所以分发和更换都很方便(Stable Diffusion 1.5 用的只有几 MB,SDXL 用的则有不少超过 100MB)。

“共用庞大的底座,靠 LoRA 添加风味”这一构图,在文本和图像上完全相同。对于使用图像生成工具的人来说,LoRA 是一个贴近生活的“定制入口”。

5. QLoRA:与量化结合

QLoRA 让 LoRA 变得更轻。它与量化结合,在压缩为 4-bit 的底座模型之上训练 LoRA 适配器。

QLoRA 的论文中,一个 650 亿参数(65B)的模型若以 16 位精度训练全部参数,需要超过 780GB 的 GPU 内存,而用 QLoRA 只需一块 48GB 的 GPU 就能微调。33B 的模型可以在24GB 的消费级 GPU 上训练,论文指出这离不开一种把放不下的部分转移到 CPU 侧内存的机制(分页优化器)。在质量上,论文显示 1.25 亿至 30 亿参数的模型与 16 位的全量训练相当。不过,33B、65B 能否与全量训练比肩,论文自己写明“尚未验证”。“用量化让底座变轻,用 LoRA 小幅训练”——这是效率技术的组合拳。

QLoRA 与量化(让同一个模型变轻)和蒸馏(迁移到一个更小的模型)并列,是模型效率化的关键一环。理解了这三者,你就能看清“以现实的成本使用大型 AI”的全貌。

6. 与全量微调的对比

让我们梳理一下全量微调(“重新训练所有权重”)与 LoRA 的区别。

维度 全量微调 LoRA
训练的权重 全部参数 仅一个小适配器(不到原来的 1%)
成本 / 内存 非常高 低得多
产出 一整套庞大的模型 一个小适配器(可更换)
适用场景 大规模、根本性的重建 面向特定任务、低成本、多用途切换

对于大多数实际工作,通常 LoRA 就足够了。只有当你需要从根本上改变模型的性格时,才考虑全量微调。

总结

LoRA 是效率时代的代表性技术,它用一个“小适配器”便宜又快速地定制庞大的 AI。让我们回顾一下要点。

核心要点

  • 🧩 冻结底座,只训练一个小适配器(W = W0 + BA)。就像一块补丁。
  • 📉 可训练参数不到原来的 1%。更省内存、更快、更便宜、不易遗忘原有能力。
  • 🔄 适配器可自由更换。按用途更换小小的 LoRA。
  • 🎨 在图像生成(Stable Diffusion)中极受欢迎。添加画风/角色的小文件。
  • ⚙️ QLoRA = 量化 × LoRA。在论文的条件下,24GB 的消费级 GPU 可微调到 33B 级别。

“底座保持原样,风味小幅调出。”LoRA 是把大型 AI 变成自己的最便捷入口。基础知识请看微调;至于压缩方面的对照概念,请看量化和蒸馏。

FAQ

Q. LoRA 和微调是两种不同的东西吗?

A. LoRA 是微调的一种(一种高效的方法)。相对于训练所有参数的“全量微调”,LoRA 只训练一个小适配器。对于许多用途,LoRA 就足够了。

Q. 图像生成的 LoRA 和 LLM 的 LoRA 是同一种东西吗?

A. 基本原理相同:冻结底座,只训练一个小适配器。只是对象不同——一个是文本模型,一个是图像(扩散)模型。Stable Diffusion 的 LoRA 是它最贴近生活的应用。

Q. LoRA 和 QLoRA 该用哪个?

A. 如果 VRAM 有富余,用普通的 LoRA;如果内存吃紧,或想尽可能便宜地跑,就用 QLoRA(4-bit 底座 + LoRA)。QLoRA 在论文的对比中表现出与 16 位方式相当的成绩,并在 24GB 的消费级 GPU 上微调到了 33B 级别(有条件)。

Q. LoRA 会损害精度吗?

A. 在原论文的实验(RoBERTa、DeBERTa、GPT-2、GPT-3)中,其质量与全量微调相当或更好。另一方面,也有报告指出,在编程和数学的大规模训练中它不如全量微调(Biderman 等,2024)。当你需要从根本上重建模型的能力时,全量微调可能更合适。最终请用评估来确认。