章节摘要:本章把第 2 章的数据点着。3.1 节讲 SFT 最核心的一处工程细节:只对 assistant 回答算 loss——用"学生不用抄题目"的直觉解释 prompt masking 的原理,并给出按消息边界构造掩码的完整代码(这段代码同时是第 4 章模板一致性的训练侧保障)。3.2 节解读超参与 loss 曲线:为什么 SFT 从约 1.3 起步(基座已带强语言先验,学的是行为不是语言),lr/epoch/batch 该取什么量级,过拟合的三个征兆怎么在读图时认出来。3.3 节是实战:一份 HuggingFace Trainer 风格的完整训练脚本(标注"写法示意"),加一张三故障排查表——显存不足、loss 不降、灾难性遗忘——每行给出症状、病因与处置。训练完成的那一刻,0.1 节的行为差异实验将反向复验。
阅读完本章,你应当能够:
(文字流程图) B ──▶ 掩码构造·prompt 处 labels = -100·3.1 节 掩码构造·prompt 处 labels = -100·3.1 节 ──▶ 训练循环·小 lr + 2~3 epoch·3.2~3.3 节 训练循环·小 lr + 2~3 epoch·3.2~3.3 节 ──▶ 对话模型 checkpoint·供第 4~7 章使用
一句话金句:SFT 不教模型说话,只教它什么时候说、以谁的身份说——所以题目不算分,答案才算。
prompt masking 的直觉;按消息边界构造 labels 的代码;与 nanochat 官方做法的对照。
SFT 起点 ~1.3 的成因;lr/epoch/batch 量级表;过拟合三征兆与读图。
Trainer 风格完整脚本(写法示意);显存不足 / loss 不降 / 灾难性遗忘排查表。
3.1 损失与掩码(学什么:目标信号的定义) │ ▼ 3.2 超参与曲线(怎么学:力度与验收标准) │ ▼ 3.3 实战与排障(跑起来:完整脚本 + 出事怎么办) │ └──► 训练完成的 checkpoint ──► 4.1 用模板把它"接上嘴"
前置知识:第 2 章的数据契约(掩码按 role 分界,先懂消息结构);《ht-gpt:从零搭建 GPT 训练与推理实战》的训练章(混合精度、梯度累积、checkpoint 保存等基本功本书不重讲);4.1 节的 chat template 基础(掩码构造依赖模板渲染,首次阅读可先接受 apply_chat_template 为黑盒)。
为后续奠定基础:本章产出的对话模型是第 4 章(模板与采样调试)、第 5 章(评测)、第 6~7 章(部署与语音)的操作对象;3.3 的排查表在第 8 章中文重训时原样复用。