后训练与对齐
一句话理解
预训练让模型学会续写和压缩知识,后训练让模型更像一个可用助手:能听指令、按格式回答、拒绝危险请求,并更符合人类偏好。
为什么需要后训练
预训练模型的目标是预测下一个 token。它可能会:
- 继续补全文本,而不是直接回答问题。
- 模仿训练语料中的任意风格。
- 输出冗长、跑题或不安全内容。
- 不稳定地遵循格式要求。
后训练的目标是把“会续写的模型”调整成“会协作的助手”。
常见阶段
flowchart LR A["预训练模型"] --> B["SFT"] B --> C["偏好数据"] C --> D["RLHF / RLAIF / DPO"] D --> E["对齐后的助手模型"]
SFT:监督微调
SFT 使用高质量指令数据训练模型。
样本通常类似:
{
"instruction": "解释什么是 KV Cache",
"response": "KV Cache 是推理时缓存历史 token 的 Key 和 Value..."
}SFT 主要提升:
- 指令遵循。
- 问答格式。
- 任务完成度。
- 对话风格。
- 特定领域表达方式。
直觉理解
SFT 是在告诉模型:“遇到这类用户请求时,应该这样回答。”
RLHF / RLAIF
RLHF 使用人类偏好反馈,RLAIF 使用 AI 生成或辅助的偏好反馈。
常见做法是给同一个问题生成多个回答,让标注者或评估模型判断哪个更好,然后用这些偏好信号优化模型。
它主要影响:
- 回答是否有帮助。
- 是否遵循安全边界。
- 风格是否自然。
- 是否少废话、少冒犯、少危险建议。
DPO
DPO 是一种常见的偏好优化方法,它不一定需要显式训练 reward model,而是直接用“更好回答 / 更差回答”的成对数据优化模型。
直觉上:
提高 preferred answer 的概率,降低 rejected answer 的概率DPO 在工程上相对直接,因此很多开源模型后训练会使用它或类似方法。
后训练能做什么,不能做什么
后训练能明显改善:
- 指令遵循。
- 安全拒答。
- 格式稳定性。
- 角色风格。
- 多轮对话习惯。
- 工具调用格式。
但它不能保证:
- 所有事实都正确。
- 数学推理永远可靠。
- 代码无需测试。
- 实时知识自动更新。
- 模型不会幻觉。
关键边界
后训练提升的是模型的可用性和偏好对齐,不是把模型变成形式化证明器、数据库或编译器。
和微调的关系
后训练是广义微调的一部分,但它的目标更偏向助手化和对齐。
领域微调通常关注:
- 学会特定行业术语。
- 输出特定格式。
- 适配业务数据。
- 提升某类任务表现。
后训练关注:
- 更会听指令。
- 更符合人类偏好。
- 更安全。
- 更稳定地完成通用任务。
小结
核心结论
预训练给模型基础能力,后训练把这些能力组织成可交互、可控制、相对安全的助手行为。SFT 教模型怎么答,RLHF/RLAIF/DPO 则进一步调整“什么样的回答更好”。