RLHF 的完整训练流程是怎样的?从 SFT 到 Reward Model 到 PPO 每个阶段做了什么?
- 标签:
🏛 业务架构师
RLHF 的完整训练流程分三阶段,我讲清楚每步"做什么、为什么":
阶段一:SFT(监督微调)——用人工撰写/审核的高质量"指令-回答"对训练,让模型先具备基本的指令遵循和回答能力。这是"教它做事"。
阶段二:Reward Model(奖励模型训练)——对同一个 prompt,让模型生成多个回答,人工标注员对回答做排序(A 比 B 好)。用这些排序数据训练一个打分模型,让它学会"人类觉得什么回答更好"。为什么用排序不用打分:人对绝对分数标注口径不一,相对比较一致性好得多。
阶段三:PPO(强化学习优化)——让策略模型针对 prompt 生成回答,Reward Model 打分作为奖励信号,用 PPO 算法优化策略模型向高分方向走;同时加 KL 惩罚项约束模型不能偏离 SFT 初始模型太远(防"讨好奖励模型的钻营行为"和语言能力崩坏)。
业务视角的理解:RLHF 解决的是"从能答到答得好"的对齐问题——好用性、安全性、语气这些难以写成明确规则的目标,通过人类偏好数据注入。2026 年的趋势:训练侧 DPO 简化方案已广泛替代 PPO(无需在线采样和单独 RM 部署),RLHF 的思想仍是所有对齐方法的源头。对企业而言,更相关的启示是:产品体验的"偏好标准"也可以这样沉淀——用户的选择(采纳/重写/放弃)就是天然的偏好信号。
🏗 系统架构师
RLHF 完整流程是三阶段流水线,我按每阶段的输入输出讲清楚(DPO 是它的简化替代,后面补一句):
阶段一:SFT(冷启动):标注员写高质量示范(指令→理想回答),监督微调得到"会说人话"的基础模型。输出:SFT 模型。
阶段二:Reward Model 训练:
- 对同一 prompt,SFT 模型采样生成 4~9 个回答;
- 标注员做排序(比写绝对分更可靠、标注一致性高);
- 训练 RM(通常用 LLM 加回归头,输入 prompt+response 输出标量分数),损失是 Bradley-Terry 成对排序损失——学会给"人类更喜欢的回答"打更高分;
- RM 是"人类偏好的可微代理",规模一般与策略模型相当或小一号。
阶段三:PPO 强化学习对齐:
- 策略模型(SFT 起点)针对 prompt 生成回答,RM 打分作为 reward;
- PPO 按 reward 更新策略,但加两个约束:KL 惩罚(偏离 SFT 参考模型太远就罚——防 reward hacking 和语言崩溃)+ 每步价值估计(优势函数);
- 部署四份模型:策略、参考(算 KL)、RM、价值网络——显存与工程复杂度是全流程之最。
DPO 替代:把 RM+PPO 数学上等价简化为"偏好对上的直接分类损失",免 RM、免采样、稳定省资源——2026 年业务对齐的默认选择,PPO 主要保留在前沿实验室的规模化对齐。
💻 全栈开发专家
RLHF 三阶段流水线(我按每阶段输入输出讲清楚):
阶段一:SFT(打地基) 用人工撰写/整理的高质量指令数据做监督微调,让模型先学会「像助手一样说话」。产出:SFT 模型(后续两阶段的起点)。
阶段二:Reward Model(学价值观)
- 数据:同一个 prompt 采样多个回答(SFT 模型生成),人工标注偏好对(A 比 B 好);
- 模型:拿 SFT 模型(或去掉 LM 头)接一个标量输出头,输入(prompt, response)输出分数;
- 训练目标:Bradley-Terry 成对损失——
loss = -log σ(r(chosen) - r(rejected)),让好回答分数高于差回答。
阶段三:PPO(用奖励优化策略)
- 四个模型在场:策略模型(被训练的)、参考模型(SFT 冻结副本,防止跑偏)、奖励模型(打分)、价值模型(critic,算优势);
- 流程:策略模型采样回答 → RM 打分 → PPO 更新策略;奖励里加 KL 惩罚(策略与参考模型的散度),防「reward hacking」——模型钻 RM 空子(学出废话连篇但 RM 爱给高分);
- 资源消耗大:四个模型的显存和调度是工程难点。
2026 现实:工程上 PPO 大量被 DPO/GRPO 替代——DPO 跳过 RM 和 PPO,直接用偏好对做类似监督学习的优化,稳定且便宜;GRPO(DeepSeek 推广)用组内相对奖励去掉 value 模型,在可验证任务(数学/代码)上成了主流。PPO 现在主要用于最顶尖模型的精细对齐。