SFT(监督微调)
在高质量人工标注的 prompt-回答对上进行标准的语言建模训练,使基座模型获得基础的指令遵循能力;是 RLHF 对齐流程的第一步。
是什么
SFT 是 RLHF 三步流程的起点。在预训练的基座模型上,使用人工标注的高质量 (prompt, response) 对,以标准的交叉熵损失进行微调:
关键特征:
- 数据质量 > 数据量:几千条高质量 prompt-回答对即可获得显著指令遵循能力
- 简单有效:无需奖励模型或强化学习,标准的监督学习范式
为什么重要
- 指令遵循的起点:预训练模型擅长补全文本,但不擅长遵循指令。SFT 教会模型”指令-回答”的基本格式。
- RLHF 的基石:SFT 模型是后续 RM 训练和 PPO 优化的起点。SFT 质量决定了 RLHF 的上限。
- 过拟合反有用:InstructGPT 发现 SFT 虽然有 validation loss 过拟合(第 1 个 epoch 后),但继续训练到 16 个 epoch 仍然提升下游表现。
InstructGPT 中的 SFT 实现
| 参数 | 值 |
|---|---|
| 标注数据量 | 12,725 条 prompt-回答对 |
| Epochs | 16 |
| 学习率衰减 | 余弦调度 |
| Residual dropout | 0.2 |
| 标注员 | ~40 人(英语母语为主) |
与相邻概念的区别
| 概念 | 区别 |
|---|---|
| 预训练 | 在海量无标注文本上训练,目标是预测下一个 token;SFT 在标注数据上训练,目标是遵循指令 |
| RLHF | RLHF 包含 SFT + RM + PPO 三步;SFT 只是第一步 |
| DPO | DPO 直接跳过 SFT 后的 RM + PPO 步骤,可视为 SFT 的替代对齐方案 |
| Instruction Tuning | 本质上同义;Instruction Tuning 有时指更大规模、多任务的 SFT 变体 |
| On-Policy Distillation | SFT 是 off-policy + dense;on-policy distillation 改为让学生自己采样、教师逐 token 打分,避免分布不匹配 |
常见误解
- ❌ SFT 就是让模型”学会知识” → 知识主要来自预训练,SFT 让模型学会以指令格式输出知识
- ❌ SFT 数据越多越好 → InstructGPT 证明几千条高质量数据就够;质量比数量重要
- ❌ SFT 可以替代 RLHF → SFT 是基础,但单独的 SFT 模型在安全性、真实性上不如完整的 RLHF 流程
相关
- RLHF(人类反馈强化学习)
- PPO(近端策略优化)
- On-Policy Distillation(在策略蒸馏)
- Knowledge Distillation(知识蒸馏) — KD vs SFT:hard label vs soft label 的核心区别
- Policy Gradient(策略梯度) — on-policy RL 基础,与 SFT 的 off-policy 范式对比
- 资料摘要:InstructGPT
- 资料摘要:Llama 2
- 资料摘要:On-Policy Distillation
- Wiki 目录