跳转至

SFT 训练细节补充:无需 Decoding 的监督学习

LaTeX 源码 · 备用 PDF

字段 内容
作者/整理 基于公开课程资料整理
来源 五道口纳什
日期 2025

SFT 训练细节补充:无需 Decoding 的监督学习

引言

本期补充 SFT 的更多细节:SFT 训练时不需要 decoding,以及 Cross-Entropy Loss 的计算。

SFT 训练不需要 Decoding

SFT 是有监督学习,我们已经知道 target response。训练时不需要模型逐 token 生成(decoding),而是一次性并行计算所有位置的 loss。这与推理时的 auto-regressive generation 有本质区别。

Cross-Entropy Loss 详解

对于 GPT 这样的 decode-only 模型:

  • 输入完整序列(prompt + response)
  • 模型并行输出所有位置的 logits
  • 只对 response token 的位置计算 cross-entropy loss
  • Prompt 部分通过 loss mask 屏蔽

Training vs. Inference

关键区别

  • Training:Teacher Forcing,并行计算所有位置
  • Inference:Auto-regressive,逐 token 生成

本章小结

SFT 的高效性来自 Teacher Forcing:并行计算所有位置的 loss,无需逐 token decoding。

效率来源:训练与推理为什么差这么多

很多初学者第一次接触 SFT 时会疑惑:同样是语言模型,为什么训练能并行算完所有位置,而推理却必须一个 token 一个 token 地生成?这正是 Teacher Forcing 和 Auto-regressive decoding 的本质区别。

一句话抓住差异

训练阶段知道完整目标序列,因此可以并行计算所有 response 位置的 loss;推理阶段不知道下一个 token,只能逐步生成。这也是 SFT 往往比 RL rollout 便宜得多的根本原因。

本章小结

理解 Teacher Forcing,不只是理解一个训练技巧,而是在理解为什么监督学习阶段和在线 rollout 阶段的系统成本差异如此巨大。

总结与延伸

  1. SFT 训练不需要 decoding(Teacher Forcing)
  2. 只对 response 部分计算 Cross-Entropy Loss
  3. 这是 SFT 比 RL 训练快得多的根本原因