后训练对齐:SFT、RLHF/DPO 的算力与工程
说明:本篇为综述/无第一手实验数据,采用公开对齐方法与训练实践路线。
实验目标
预训练造出"会预测的模型",对齐把它变成"会听话的助手":SFT 教格式、RLHF 教偏好、DPO 是更简单的偏好替代。本篇目标:拆解后训练对齐的完整工程——SFT/RLHF/DPO 原理与流程 → 三阶段算力配比 → 偏好数据与稳定性工程 → 与预训练的算力衔接。读完能回答:对齐要多少算力、选 RLHF 还是 DPO、数据怎么做、稳定性怎么保。
代码逐段拆解
第一段:三种对齐方法的核心流程
python
# 对齐三件套(流程示意):
# 1) SFT(监督微调):用人工编写的指令-回答对做标准微调
# data: (instruction, answer) 对,loss = 标准交叉熵
# 作用:教"格式/风格/服从性"(模型知道怎么回答)
# 2) RLHF(人类反馈强化学习):4 步
# a) SFT 模型 → b) 训 reward 模型(人类排序标注)
# c) RL 训练(PPO:策略模型 + 奖励模型 + 参考模型)
# d) 输出对齐模型
# 3) DPO(直接偏好优化):跳过 reward 训练
# 用偏好对 (chosen, rejected) 直接优化策略——不需要 reward 模型
def align_stage(model, method, data):
if method == "sft": return sft_train(model, data.qa_pairs)
if method == "rlhf": return ppo_train(model, reward_model, ref_model)
if method == "dpo": return dpo_train(model, data.preference_pairs)要点:
- SFT 是地基:RLHF/DPO 都从 SFT 模型起步——SFT 教"怎么答",偏好方法教"答哪个好",没有 SFT 直接 RLHF 效果差。
- RLHF 重:reward 训练 + PPO 四模型(策略/奖励/参考/价值),显存与调参成本高;DPO 轻:偏好对直接优化,省掉 reward 模型。
- 数据形态不同:SFT 用指令-回答对、偏好方法用 (chosen, rejected) 对——数据形态决定方法选择。
第二段:算力配比(估算口径)
python
# 对齐三阶段算力占比(相对预训练,典型经验值):
# 预训练 1×(基准)
# SFT ~0.5-2% (数据量小,少量 epoch)
# RLHF/DPO ~1-5%(多轮采样+训练)
# 数据量经验:
# SFT:数万-数十万条指令对
# 偏好:数十万对 (chosen, rejected)要点:
- 对齐算力远小于预训练:SFT+偏好通常不到预训练 5%(估算口径)——算力瓶颈仍在预训练,对齐是"小算力换大价值"(10 章 compute-cost 公式衔接)。
- RLHF 比 DPO 贵在采样:PPO 每轮要策略采样 + 奖励打分,样本利用率低;DPO 一次偏好对直接训——预算紧选 DPO。
- 数据质量 > 数据量:偏好数据的一致性(标注者间 agreement)决定对齐质量——先审数据一致性再扩量。
原理讲解
方法对比
| 维度 | SFT | RLHF(PPO) | DPO |
|---|---|---|---|
| 目标 | 教格式/服从 | 最大化人类偏好 | 直接优化偏好 |
| 组件 | 1 模型 | 4 模型(策略/奖励/参考/价值) | 2 模型(策略/参考) |
| 数据 | 指令-回答对 | 排序标注 | 偏好对 |
| 算力 | 低 | 高 | 中 |
| 稳定性 | 稳定 | 难调(reward hacking/崩溃) | 较稳定 |
核心认知:三者的演进是"变简单"——SFT 教格式、RLHF 教偏好但工程重、DPO 用偏好对直接优化省掉 reward 管线。选型看预算与稳定性:预算紧/团队小 → DPO;追求极致对齐 → RLHF(愿付调参成本)。
稳定性工程要点
- reward hacking:RLHF 中策略钻奖励模型空子(答非所问但得分高)——需 KL 约束 + 奖励模型迭代。
- 偏好数据污染:标注不一致/错误偏好对会教坏模型——数据清洗 + 一致性审计先行。
- 遗忘与退化:对齐可能退化通用能力——混入预训练数据、控制对齐数据比例。
实验结果
(估算口径,非实测)
| 方案 | 算力(相对预训练) | 对齐效果 | 工程复杂度 |
|---|---|---|---|
| SFT 仅 | ~1% | 中(格式好、偏好弱) | 低 |
| SFT + DPO | ~2-4% | 高 | 中 |
| SFT + RLHF | ~3-6% | 最高 | 高(难调) |
工程启示
- SFT 是地基:先 SFT 教格式服从,再上偏好方法——跳过 SFT 直接偏好效果差。
- 预算紧选 DPO:DPO 省掉 reward 训练与 PPO 采样,算力/调参成本远低于 RLHF;追求极致才上 RLHF。
- 数据质量优先:偏好对一致性审计先于扩量——污染数据教坏模型,对齐质量一半在数据。
- 防遗忘与防 hack:混预训练数据防退化、KL 约束防 reward hacking——稳定性工程与精度同等重要。
下一篇预告:后训练补齐后,知识库训练侧(10/11)已厚实;下一步可转 SEO 收尾(GSC 提交 432 urls sitemap),或继续补 04/08/13 章。由你裁量。