故障排查 / 框架环境
LoRA/微调 Loss 不降或发散
本站未复现 改写 影响:TRL / PEFT 取决于库版本 · Windows / Linux
现象
微调几十步 loss 不降反而涨,或模型输出几乎不变。
原因
学习率过高、LoRA rank/alpha 不当、目标模块没选对(只微了没用的层)、数据集标签或格式错误、未正确接入优化器状态。
按这个顺序处理
- 降学习率或用 warmup/cosine 调度器,常见起始 1e-4~2e-4 偏大;
- 检查 lora_rank/alpha 与目标模块(attention 投影)是否正确挂载;
- 确认数据集标签/格式正确、损失函数对应任务;
- 用 bf16 训练避免 fp16 溢出致 loss 发散
怎么确认解决了
loss 呈下降趋势且验证集指标改善,而非震荡或发散。
来源与可信度
条目性质依据公开事实与社区普遍报告,用本站自己的话重写(未搬运任何他人文章段落)
是否已在本站机器复现否——请把这条当线索而不是结论
- https://huggingface.co/docs/peft/en/package_reference/lora — HF PEFT 官方:LoRA 结构与激活记忆,对应'rank/alpha/目标模块'处置
- https://huggingface.co/docs/peft/en/peft_tuning_options — HF PEFT 官方:微调选项(学习率/方法)对照,对应'学习率与调度'处置
相关条目
微调训练 CUDA out of memory(QLoRA/LoRA 显存爆)装不下 · 权重本身不大,用 LoRA/QLoRA 微调跑几个 step 就 OOM。llama.cpp、Ollama、LM Studio、vLLM 我该用哪个?想控制显存和参数用 llama.cpp;想一条命令搞定用 Ollama;想要图形界面用 LM Studio;想要高并发服务很多人用 vLLM。新手第一站推荐 LM Studio。