真实面经题目 · 原创解析
微调 Qwen 这类大模型时,learning rate scheduler 应如何设计?如何确定 step 口径、warmup、cosine/linear decay、最小学习率和峰值学习率?
这题考察的不是背诵某个 scheduler,而是能否把 Qwen 微调中的学习率设计拆成训练稳定性、收敛效率、泛化效果和版本选择四件事。好的回答要明确 step 口径、warmup 比例、衰减曲线、最小学习率和峰值学习率。
真实面经题目 · 原创解析
这题考察的不是背诵某个 scheduler,而是能否把 Qwen 微调中的学习率设计拆成训练稳定性、收敛效率、泛化效果和版本选择四件事。好的回答要明确 step 口径、warmup 比例、衰减曲线、最小学习率和峰值学习率。
微调 Qwen 这类大模型时,我会先把 learning rate scheduler 当成训练实验设计来做,而不是直接套一个 cosine 或 linear。核心先确定五个量:峰值学习率、总 update steps、warmup steps、衰减形状和最小学习率。step 口径必须按优化器实际更新次数计算,也就是扣除 gradient accumulation 之后的 optimizer step,而不是原始 batch 数;如果样本长度差异很大,还要额外观察 token 数口径,避免长样本阶段学习率变化和有效训练量不匹配。 warmup 的目标是让优化器状态、LoRA 适配层或全量参数从较小更新平稳进入峰值学习率。一般可从总 update steps 的 3% 到 10% 起步,小数据、全参微调、混合精度不稳定或 loss 前期抖动明显时取高一些;大数据、LoRA 微调且训练稳定时可取低一些。峰值学习率要和训练方式绑定:全量微调通常更保守,LoRA 或 QLoRA 可以更高,但最终以验证集曲线和是否出现遗忘、格式退化、幻觉增加来判断。 衰减曲线上,cosine decay 更适合训练步数相对充足、希望后期细致收敛的场景;linear decay 更简单、可解释,适合短训练或希望学习率单调快速下降的场景。最小学习率不一定要降到 0,常见做法是设为峰值学习率的 0 到 10%,如果是领域继续预训练或希望保留后期小步更新,可保留非零 min LR;如果是很短的指令微调,降到接近 0 也合理。版本选择不能看最后一个 checkpoint,而应该在固定验证集和关键业务评测集上按指标、人工抽检和稳定性选择 best checkpoint,并设置 patience 早停,防止继续训练只是在记忆训练集。
全参微调、LoRA、QLoRA、SFT、偏领域继续训练对应的学习率风险不同。全参更新对基座能力影响更大,通常更保守;LoRA/QLoRA 只更新适配参数或量化适配层,可以从更高峰值学习率做搜索,但仍要看验证集和 bad case。
scheduler 使用 optimizer update step,显式纳入 batch size、gradient accumulation、epoch、样本数和可变 token 长度。很多训练不稳定来自 warmup steps、eval interval 和保存 checkpoint 使用了 dataloader batch 口径,而不是实际参数更新口径。
warmup 可从总 update steps 的 3% 到 10% 作为起点,根据前期 loss 抖动、梯度范数、混合精度稳定性和数据规模调整。总步数很少时,warmup 过长会压缩有效学习阶段;全参或小数据不稳定时,warmup 太短又容易让训练早期 spike。
cosine 偏平滑后期收敛,linear 偏简单可控,短训练不必过度复杂化。选择时要看训练长度、目标任务、是否需要后期继续小步适配,以及 loss、任务指标和生成质量是否同步改善。
峰值学习率决定主要更新强度,min LR 控制后期是否继续学习。非零 min LR 适合领域继续训练或数据量较大、仍希望保留小幅更新的任务;接近 0 更适合短 SFT 或防止后期过拟合的场景。
scheduler 设计最终要服务模型质量。固定验证集、业务样本、格式遵循、事实性和安全性抽检共同决定 checkpoint,并用早停控制过拟合。训练 loss 下降但输出风格变差、幻觉变多或通用能力退化时,不应选为最佳版本。
需要,但比例和绝对步数要谨慎。总步数很少时,warmup 过长会导致模型大部分时间都没有进入有效学习率;通常保留少量 warmup 来避免初始震荡,同时减少 epoch 或降低峰值学习率,比机械拉长 warmup 更稳。
不一定。cosine 的优势是后期下降更平滑,适合步数较多的训练;linear 更容易解释和复现,短训练中可能足够好。面试中应强调通过验证曲线和业务指标比较,而不是迷信某个曲线。
不应只看 loss。LLM 微调还要看任务成功率、格式遵循、拒答边界、事实性、领域术语准确率和人工抽检。loss 下降但输出风格变差或安全边界退化,也不能选为最佳版本。
可以按 eval 间隔设 2 到 3 次无提升作为起点,但要看验证集噪声。数据小、指标波动大时要结合滑动平均和人工样本;数据稳定时可以更严格。早停的对象应是综合主指标,而不是训练 loss。