返回 ELI5 知识库首页 📑 LLM PARAMETER-EFFICIENT FINE-TUNING (PEFT)
📑 LoRA · Low-Rank Adaptation · PEFT Parameter-Efficient Fine-Tuning

什么是 LoRA(低秩自适应 · 微调小贴纸)?

为了让 70B 大模型学会法律或医疗知识,传统全量微调(Full Fine-Tuning)相当于“把整部 700 亿字百科全书全部重印一遍(耗费数十张 A100/H100 显卡与数万元电费)”;而 LoRA 则是“冻结原书一字不改,只在旁边夹入几页薄如蝉翼的超小补丁便签纸(A × B 两个低秩小矩阵)” —— 显存暴降 80%,训练参数减少 99.9%,一张消费级 4090 显卡轻松搞定!

💥 全量微调 (Full Fine-Tuning):巨型显存灾难

700 亿参数全动,显存与磁盘爆炸

每个参数都要计算梯度、动量优化器状态(AdamW)。一个 70B 模型微调需要 超过 800GB 显存(8张 80G A100 集群起步);每微调一个新下游任务,就得存一份 140GB 的全新庞大模型副本!

全量 700 亿权重 (W0) 全部解冻更新 模型权重 (140GB) + 梯度 + Adam 优化器 (560GB) 总显存开销 > 800GB (需 8×A100 集群 💸) ⚠️ 成本高昂、无法多任务灵活切换
  • 显存吞噬兽:需要存 16-bit 权重 + 32-bit 优化器动量状态
  • 存储爆炸:10 个业务场景需要存 10 个 140GB 完整模型
VS
📑 LoRA 低秩微调:四两拨千斤的数学奇迹

原书冻结,只训 20MB 的低秩小矩阵

将庞大的权重增量 $\Delta W$ 分解为两个极窄的低秩矩阵 $A \times B$($d \times r$ 和 $r \times d$,其中 $r=8$ 或 $16$)。基础模型 100% 冻结零梯度,只训万分之一的可训练参数,单张 4090 显卡几小时微调完成!

主模型 W0 (冻结 ❄️) 不参与梯度反传 + 矩阵 A 降维 (d×r) × 矩阵 B 升维 (r×d) ✨ 补丁仅 20MB · 推理时可无缝合并(零额外延迟)!
  • 显存狂降 80%:单卡消费级 GPU 即可微调 7B / 13B / 70B 模型
  • 即插即用秒级切换:1 个基座模型可挂载 100 个 20MB 的专业 LoRA
💡

一句话顿悟:LoRA 背后的核心数学第一性原理(内在低维度假设)

微软团队发现:虽然大模型的权重矩阵非常巨大(如 $4096 \times 4096$),但在适配具体某个特定下游任务(如写古诗、提取合同信息)时,真正起决定性作用的“权重变化量($\Delta W$)”本质上位于一个极低的子空间维度(Intrinsic Rank)中
因此,用一个秩(Rank $r=4$ 或 $8$)的极薄瓶颈矩阵相乘,就能 100% 捕捉到这股微调变化量,参数量瞬间缩水几千倍!

拆解 LoRA 技术的 4 大核心支柱

从低秩矩阵分解到推理零延迟合并,搞懂现代大模型微调基石

🧊

1. 冻结原模型 ($W_0$) 零梯度

预训练基础权重 $W_0$ 在整个训练期间被完全冻结(Frozen),不需要为其维护昂贵的 AdamW 优化器动量状态。

📉

2. 低秩分解 ($A \times B$)

输入 $x$ 通过高斯初始化的矩阵 $A$ 压缩至极小维度 $r$(如 $r=8$),再通过全 0 初始化的矩阵 $B$ 放大还原回原始维度。

🎛️

3. 缩放系数 $\alpha$ (Alpha Scaling)

输出计算公式为 $h = W_0 x + \frac{\alpha}{r} (B A) x$。$\alpha$ 类似学习率放大器,允许你在调节秩 $r$ 时无需重新摸索学习率。

4. 推理时零额外延迟 (Zero-Latency Merge)

部署上线时,直接把 $B \times A$ 的结果按矩阵加法直接加到 $W_0$ 里面($W_{new} = W_0 + \Delta W$),推理速度与原模型分秒不差!

🕹️ LoRA 矩阵运算与推理生命周期演练台

观察 LoRA 在训练初始化、前向传播计算、以及最终上线合并权重的全生命周期:

$W_0$ (4096×4096) 16.7M 参数 (冻结)
+
矩阵 A (4096×8) 3.2万 参数 (降维)
×
矩阵 B (8×4096) 3.2万 参数 (升维)
🌱 阶段 1:巧妙的权重初始化设计
矩阵 A: 采用高斯正态分布随机初始化(负责特征投影)。
矩阵 B: 严格初始化为全 0!
因此训练开始的第 0 步:$B \times A = 0$,模型输出完全等于原模型 $W_0$,保证平滑起步!
✔ 初始增量为 0 · 零性能扰动
🎨 Stable Diffusion 与 AI 绘画

画风模型与二次元角色的秘密

在 Midjourney / SD 生态中,LoRA 更是被发扬光大!

一个 2GB~6GB 的 SD 基座大模型,只需外挂一个 50MB 的 LoRA 小便签,就能让 AI 瞬间掌握特定的动漫角色、水墨画风或机甲风格!

⚡ QLoRA:极限量化微调

单张 24G 显卡微调 65B 巨无霸

华盛顿大学提出的 QLoRA(4-bit NormalFloat) 将基础模型量化压缩到 4-bit 放入显存;

而 LoRA 适配层保持 16-bit 正常求导,直接让消费级 RTX 3090 / 4090 显卡也能训练 650 亿参数的开源顶流模型!

🏢 企业级多租户服务架构

1 个显卡进程服务 1000 个客户

企业不需要为每个定制客户独立部署一套 70B 模型。

使用 S-LoRA / vLLM 多 LoRA 并发加载技术:显存里只常驻 1 个基座模型,请求到达时动态将不同客户的 20MB LoRA 激活,显卡利用率飙升 10 倍!