Skip to content
🔗 分享本题
查看我的学习进度 →

LoRA 冻结原权重并通过低秩矩阵学习权重增量的机制图

🧠 记忆锚点:主干 W 不动,用 A、B 两个小矩阵学习 ΔW;低秩假设把大更新变成小增量。

💡 答案要点

LoRA = Low-Rank Adaptation(低秩适配)

核心思想: 不直接修改原始权重,而是添加一个低秩矩阵来捕获变化。

数学原理:

原始权重:W ∈ R^(d×k)
全量微调:W' = W + ΔW(ΔW 也是 d×k)

LoRA 微调:W' = W + BA
  其中:
  - B ∈ R^(d×r)
  - A ∈ R^(r×k)
  - r << min(d, k)(秩很小,如 r=8)

参数量对比:
  全量:d × k
  LoRA:d × r + r × k ≈ r(d + k)

  例如:d=4096, k=4096, r=8
  全量:16M 参数
  LoRA:65K 参数(减少 250 倍)

工作流程:

输入 → 原始层(冻结)→ 输出1

    → LoRA层(可训练)→ 输出2

    输出 = 输出1 + 输出2

关键超参数:

参数说明典型值影响
r(秩)低秩矩阵的维度4-64越大效果越好,但参数越多
α(缩放)缩放因子16-32控制 LoRA 的影响强度
target_modules应用 LoRA 的层q_proj, v_proj越多效果越好,但参数越多

面试话术:

示例表达(仅在能用本人经历或可复现实验佐证时使用): "LoRA 的本质是用两个小矩阵的乘积来近似大矩阵的更新。就像用压缩格式存储变化。我在项目中用 LoRA r=8 微调 13B 模型,只需要 20GB 显存,而全量微调需要 80GB。"

📚 参考:LoRA: Low-Rank Adaptation of Large Language Models(原论文)