LoRA 原理

微调与对齐进阶3讲解 3

LoRA 冻结原权重,在旁边加一对低秩矩阵 A·B 学增量:微调时只训这几百万参数,推理时可以合并回原权重不增加延迟。能成立的前提是权重更新本身低秩 —— 这也是它在「教格式、教风格」上好用、在「灌新知识」上乏力的原因。

也叫:LoRA · PEFT · 参数高效微调 · 低秩分解 · 适配器 · adapter

LoRA 的前向与初始化出自 T4-2

原文示意
                    冻结
              ┌──────────────┐
        x ───►│   W₀ (d×k)   │───────────┐
        │     └──────────────┘           ▼
        │                              ( + ) ───► h
        │     ┌────┐    ┌────┐           ▲
        └────►│ A  │───►│ B  │──× α/r ───┘
              │r×k │    │d×r │
              └────┘    └────┘
              可训练      可训练
        A ~ 高斯初始化 ,  B = 全 0

前向公式:

h = W₀·x + (α/r) · B·A·x

三个设计细节,每个都能当面试追问点:

  1. B 初始化为全 0,所以训练刚开始时 BA = 0,h 完全等于基座输出。这保证了接上适配器的瞬间不扰动模型,训练从基座的原始行为平滑出发。如果两个矩阵都随机初始化,第一步就把模型打乱了。
  2. α/r 是一个缩放系数(scaling factor),不是"学习强度"这种玄学。它的作用是:当你改变 r 时,让适配器输出的量级保持可比。所以比较不同 r 的实验时必须固定 α/r,否则你分不清变化来自容量还是来自缩放。
  3. 推理时可以合并W = W₀ + (α/r)·B·A,算完就是一个普通权重矩阵,推理零额外延迟。这是 LoRA 相对 Adapter、Prefix-Tuning 这些前辈的决定性优势——那些方法在推理时会多出实打实的计算层。反过来,不合并也有价值:一个基座可以同时挂多个 LoRA,按请求热切换,做多租户/多任务服务。

以上节选自T4-2 参数高效微调:LoRA、QLoRA 与一笔算得清的显存账,读全文能看到前后语境。

延伸阅读

考这个知识点的题1

会连带问到2