M5-026M5: NLP & Large Language ModelsInstruction Tuning & Supervised Fine-TuningMedium
Mastery:

Instruction Tuning & Supervised Fine-Tuning: 解释 SFT 的学习率与训练轮数的选择。

📐 Mathematical Definition
ηSFT≈10−5∼2×10−5≪ηpretrain;epochs=1∼3\eta_{\text{SFT}}\approx10^{-5}\sim2\times10^{-5}\ll\eta_{\text{pretrain}};\qquad \text{epochs}=1\sim3
⚡ Executive Summary
Core Concept: SFT 用远低于预训练的 lr(1e-5~2e-5)与极少 epoch(1~3);小数据需更低 lr 或更强正则,否则过拟合。

📌 Key Takeaways

  • •
    lr 远低于预训练(1e-5~2e-5 量级)
  • •
    epoch 极少(1~3),超过则过拟合 SFT 分布
  • •
    数据越少,lr 应越小、正则越强

📐 Mathematical Derivations

数学机理:<strong>为什么 lr 要小</strong>——SFT 数据量比预训练小 4~6 个数量级;若用预训练级别的大 lr,模型会在少量数据上<strong>剧烈更新</strong>,迅速过拟合(表现为验证 loss 先降后升、通用能力退化、输出模板化)。故 SFT 的 lr 通常取 <strong>1e-5~2e-5</strong>(全参微调),甚至更低(如 5e-6)。<strong>为什么 epoch 要少</strong>——SFT 数据重复多次会让模型'记住'具体样本(而不是学到泛化的'指令遵循'),故标准是 <strong>1~3 epoch</strong>;数据量越大,epoch 应越少(大数据的 1 epoch 已提供足够信号)。<strong>与数据量的关系</strong>——(a) 数据极少(<1k)时,需<strong>更小的 lr</strong>(如 1e-5)与<strong>更强正则</strong>(dropout、weight decay),或改用 LoRA;(b) 数据较多(>100k)时,可用稍大 lr 与 2~3 epoch。<strong>LoRA 的差异</strong>——LoRA 只训练少量参数(低秩增量),其<strong>有效更新幅度</strong>受秩与缩放限制,故可用<strong>更大的 lr</strong>(常 1e-4~2e-4,比全参高一个量级);但同样需控制 epoch(1~3)。<strong>监控指标</strong>——(a) <strong>验证 loss</strong>(在留出集上;若上升则过拟合);(b) <strong>通用基准</strong>(检测遗忘);(c) <strong>输出多样性</strong>(检测僵化);(d) <strong>训练 loss 与验证 loss 的差距</strong>(gap 大则过拟合)。<strong>其他影响因素</strong>——(a) <strong>warmup</strong>(SFT 通常短 warmup 或不用);(b) <strong>lr 调度</strong>(cosine 衰减到 0);(c) <strong>batch size</strong>(大 batch 可用稍大 lr);(d) <strong>数据质量</strong>(高质量数据可容忍更多 epoch)。<strong>经验法则</strong>——'<strong>先用小 lr + 1 epoch 建立基线,再逐步增加,同时监控验证指标</strong>'。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'1~3 epoch'是硬经验</strong>——这是 SFT 最容易被违反的规则(初学者常训 10+ epoch);结果是模型严重过拟合、输出僵化、通用能力退化。故面试中'epoch 数'是检验实践经验的好问题。② <strong>'小数据要更小 lr'的反直觉</strong>——直觉上'数据少应该多训',但实际是'数据少更容易过拟合,故应更保守(小 lr + 强正则)'。这是'过拟合风险与数据量反比'的体现。③ <strong>LoRA lr 更大的原因</strong>——LoRA 的参数量少(如 0.1%),故单步更新影响的'有效容量'小;用更大 lr 补偿。但这也意味着 LoRA 对 lr 更敏感(过大则发散)。④ <strong>与'预训练 lr'的量级对比</strong>——预训练 lr 常 1e-4~6e-4(大 batch 下);SFT 是它的 1/10~1/50。这个量级差异是'防止破坏预训练知识'的体现。⑤ <strong>验证集的重要性</strong>——SFT 必须有<strong>留出的验证集</strong>(从同分布抽样);否则无法判断过拟合。工业界常用'人工评估 + 自动指标'双重验证。⑥ <strong>面试要点</strong>——被问'SFT 的超参怎么设',应给出'<strong>lr 1e-5~2e-5(LoRA 可 1e-4+)+ epoch 1~3 + 数据越少越保守</strong>'与'<strong>验证 loss / 通用基准 / 输出多样性三重监控</strong>';能解释'小数据要更小 lr'的反直觉是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    SFT 训 10+ epoch(严重过拟合)
  • ✕
    不做验证集监控
🎯 Interviewer Follow-ups
  • ?
    如何判断 SFT 是否过拟合?
  • ?
    LoRA 的 lr 为什么要更大?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM5-025: Instruction Tuning & Supervised Fine-Tuning: 解释 SFT 与 RLHF/DPO 的分工。📋Back to BankNext →M5-027: Instruction Tuning & Supervised Fine-Tuning: 解释 chat template 与多轮对话的构造。