Lora lr超参设置

lr 太大,典型表现
loss 上下剧烈震荡
验证集先升后掉
生成结果忽好忽坏、不稳定

lr 太小,典型表现
loss 下降极慢
模型“学不动”
明显欠拟合

学习率(lr)决定 LoRA 参数每一步更新的幅度,通常固定在 1e-4 左右,仅在训练不稳定或小样本场景下才需要下调。
先定 r → 再定 α / r → dropout → 最后才调 lr

先定 r → 再定 α / r → dropout → 最后才调 lr
只要训练稳定且 loss 曲线正常,lr 可以保持默认值(例如 1e-4)。

原因是:

  • r / α 决定“学什么、学多少”
  • lr 只决定“学得稳不稳”

二、什么时候还是要考虑调 lr

  1. loss 出现震荡 / 发散

    • 说明 lr 太大,需要下调
  2. loss 下降太慢 / 学不动

    • 说明 lr 太小,需要适当上调
  3. α / r 较大,但训练稳定

    • 可以不用动 lr,继续用默认值

工程上,lr 是“兜底安全阀”,不是首调参数。


一、lr 是什么(一句话)

lr(learning rate,学习率)是控制每一步梯度更新幅度的参数,决定模型参数“走多快、会不会走过头”。

在 LoRA 中,它控制的是 LoRA 参数(A/B 矩阵) 的更新速度。


二、在 LoRA 场景下,lr 实际控制什么

LoRA 的有效更新强度可以近似理解为:

[
\text{有效更新} ;\propto; lr \times \frac{\alpha}{r}
]

所以:

  • lr = 基础油门
  • α / r = 放大系数

两者一起决定:

  • 是否收敛
  • 是否震荡
  • 是否过拟合

三、设置为多少“合适”(直接用)

✅ 推荐安全区(90% 场景)

lr = 1e-4 ~ 2e-4(AdamW)

这是目前最通用、最不容易翻车的区间。


按场景更精细的建议

场景 推荐 lr
常规指令 / 对话微调 2e-4
小样本(<3k) 5e-5 ~ 1e-4
α / r ≥ 1.5 ≤ 1e-4
大模型(≥13B) 5e-5 ~ 1e-4
多模块 LoRA(含 FFN) ≤ 1e-4

四、什么时候 lr 设“错了”

lr 太大,典型表现

  • loss 上下剧烈震荡
  • 验证集先升后掉
  • 生成结果忽好忽坏、不稳定

lr 太小,典型表现

  • loss 下降极慢
  • 模型“学不动”
  • 明显欠拟合
posted @ 2026-01-05 15:23  向着朝阳  阅读(97)  评论(0)    收藏  举报