57

LoRA(Low-Rank Adaptation)的原理是什么?为什么有效?

模型微调与训练中等

📋 面试问题

LoRA(Low-Rank Adaptation)的原理是什么?为什么有效?

✅ 期望回答

LoRA基于「预训练大模型权重更新位于低秩子空间」的假设,将全量权重更新矩阵分解为两个小矩阵的乘积:B x A

数学原理:
  • 原始更新:W_new = W + Delta_W(Delta_W是完整的大矩阵,参数量 = d x d)
  • LoRA更新:W_new = W + B x A(B∈R^{d x r}, A∈R^{r x d},r << d)
  • 参数量从 d^2 降为 2dr(若r=16, d=4096,参数量降至原来的 0.8%)

为什么有效:
  • AIDD(Adaptation Intrinsic Dimension)理论:任务自适应在低维度子空间就能完成
  • 正则化效应:低秩约束相当于强正则化,防止对少量训练数据过拟合
  • 可插拔:不同任务的LoRA权重可切换

训练与推理:
  • 训练时:冻结W,只优化A和B
  • 推理时:可将BxA合并回W中(W_new = W + BA),以不增加推理延迟(可merge-back)

关键参数:
  • r(秩):8-64,越大容量越强
  • alpha:缩放因子,影响更新幅度
  • target_modules:应用LoRA的层(通常选所有Attention层的Q、K、V、O投影)
#LoRA#低秩分解#微调