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
-
loss 出现震荡 / 发散
- 说明 lr 太大,需要下调
-
loss 下降太慢 / 学不动
- 说明 lr 太小,需要适当上调
-
α / 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 下降极慢
- 模型“学不动”
- 明显欠拟合

浙公网安备 33010602011771号