RLHF 全流程拆解:SFT→奖励模型→PPO,每一步在做什么

📅 2026/8/4 0:29:10 👁️ 阅读次数 📝 编程学习
RLHF 全流程拆解:SFT→奖励模型→PPO,每一步在做什么

一个只经过预训练、没经历过RLHF的模型,你问它"帮我写一封邮件",它大概率会续写你的问题——“帮我写一封邮件,这是一个很常见的需求……”

预训练造出了"博闻强识的人",RLHF 才把他改造成"能干活、有安全边界的助手"。

这个"改造"分三步:监督微调(SFT)、奖励模型训练、强化学习优化(PPO/DPO/GRPO)。每一步解决一个前一步解决不了的问题。

今天把整个流程彻底拆开,逐步说清楚每一步在做什么、为什么这么设计、以及 2023-2025 年各家的演化方向。


为什么预训练不够?

预训练的目标只有一个:预测下一个 token

输入互联网上 TB 级别的文本,让模型反复猜"下一个词是什么"。这个过程让模型积累了惊人的知识,但造就了一个奇怪的产物——

  • • 你问"如何制造炸弹",它可能真的告诉你(互联网上有这类文字)
  • • 你说"帮我总结这份文件",它可能先重述一遍你的话,再开始总结
  • • 它"懂"数学,但做数学题时会随机出错,因为预训练没有"对错"反馈

RLHF 的目标就是打通三道关:听指令、回避有害内容、越来越好


完整流程鸟瞰:RLHF 三阶段

RLHF 包含三个串行阶段,每个阶段的产出是下一阶段的输入:

Phase 3:RL 优化 Phase 2:奖励模型训练 Phase 1:SFT 监督微调 预训练 Base Model 高质量指令→回答对\n人工标注 10k~100k 条 SFT Model\n能对话,但不稳定 同问题多答案\n + 人类排序偏好 Reward Model\n能打分:哪个答案更好 PPO / DPO / GRPO\n用打分信号持续优化 LLM Chat Model\n对话流畅、安全、能推理

下面逐阶段拆解。


Phase 1:SFT,RLHF 的训练起点

核心问题:预训练模型会续写,但不会"回答"。

SFT 的数据格式很直接:

User: 帮我把以下英文翻译成中文:Hello WorldAssistant: 你好,世界

每一条数据就是一个"输入指令 → 正确输出"的配对。由人工精心撰写或筛选,数量从几千到几十万不等——OpenAI 在 InstructGPT 论文里用了约 1.3 万条高质量 SFT 数据,效果就已经显著好过纯预训练模型(Ouyang et al., 2022)。

SFT 的本质:强制模型学会一种新的"输入输出格式"。Base Model 看到的是"海量随机文本",SFT Model 看到的是"指令 → 帮助性回答"的一致模式。

SFT 之后,模型已经能正经对话。但有两个残留问题:

    1. 不稳定:同一问题多次问,答案质量参差不齐
    1. “刚好够格”:SFT 只能学到数据里已有的"正确行为",没有机制让模型主动变得更好

这引出第二阶段的必要性:我们需要一个能持续判断"哪个回答更好"的打分机制。


Phase 2:奖励模型,RLHF 的偏好代理

数据怎么来

人类标注员拿到同一个问题的 4 个不同回答,按质量排序:

问题:解释一下什么是量子纠缠?回答 A:[详细、准确、有类比、无危险内容] → 第 1回答 C:[准确但太技术性,普通人看不懂] → 第 2回答 B:[浅显但有轻微错误] → 第 3回答 D:[完全跑题] → 第 4

这样的偏好对(A > C > B > D)可以拆成若干个两两比较:A > C、A > B、A > D、C > B……每一个两两对都是一条训练数据。

奖励模型的结构

奖励模型(Reward Model,RM)的结构和 LLM 几乎相同,区别在最后一层:

  • • LLM 最后一层:输出下一个 token 的概率分布
  • • RM 最后一层:输出一个标量分数(这个回答得几分)

训练目标:让 RM 在人类认为"更好"的回答上打出更高分数。

为什么不直接让人类打分?

第三阶段的 RL 训练要给模型生成的数百万条输出打分。人类来不及,成本也无法承受。奖励模型是人类偏好的"代理打分员",一次性训练好,之后无限复用。

这也是 RLHF 最关键的设计取舍:用有限的人类标注,训练出一个可扩展的偏好代理


Phase 3:PPO,RLHF 的强化学习核心

这是三个阶段里工程复杂度最高的一步。

四个角色同时在场

PPO 训练同时维护四个模型:

角色职责权重是否更新
Actor(演员)要训练的 LLM,生成回答✅ 更新
Critic(评论家)估计当前状态的"预期价值",辅助优势函数计算✅ 更新
Reward Model给 Actor 的输出打分,Phase 2 产物❌ 冻结
Reference ModelSFT 模型的副本,充当"基线"防止 Actor 跑偏❌ 冻结

内存压力可想而知:2 个同量级 LLM(Actor + Ref)+ 2 个辅助模型同时驻留 GPU。

训练循环

KL 惩罚:防止"奖励 Hacking"

这是 PPO 最核心的安全机制。

假设没有 KL 惩罚,模型可能发现:反复输出"这是个好问题!您真聪明!然后……"能骗过奖励模型得高分。或者生成一段奇怪的重复文本,恰好触发 RM 的盲点。

KL 散度惩罚强制 Actor 不能与 Reference Model(SFT 模型)偏离太远

实际奖励 = r − β × KL(Actor || Reference)

β是超参数:β 越大,模型越保守;β 越小,模型探索空间越大但越容易不稳定。

PPO 的 clip 机制也起到类似作用:每次更新幅度不能太大,保证训练稳定。


演化:DPO 和 GRPO 如何简化 RLHF

PPO 的工程复杂度是公认的痛点。2023-2025 年出现了两个重要的简化方案。

DPO:干掉奖励模型

2023 年,斯坦福提出DPO(Direct Preference Optimization)(Rafailov et al., 2023)。

核心洞察:奖励模型和语言模型之间存在一个解析关系,可以直接用偏好对优化语言模型,绕过奖励模型训练这一步。

DPO 的损失函数直接接收"preferred/rejected"对:

Loss = −log σ(β × [log P(preferred|x)/P_ref(preferred|x) − log P(rejected|x)/P_ref(rejected|x)])

效果:把 4 个模型减到 2 个(LLM + Reference),训练代码量大幅下降。

维度PPODPO
需要 Reward Model
需要 Critic
训练稳定性高(clip 机制)对数据质量更敏感
GPU 内存需求极高(4 模型)中(2 模型)
适合场景复杂偏好、在线 RL静态偏好数据、快速迭代

现在小模型和开源微调实验基本首选 DPO,省去了奖励模型训练的工程量。

GRPO:DeepSeek-R1 的推理突破

2025 年初,GRPO(Group Relative Policy Optimization)随 DeepSeek-R1 爆出(DeepSeek-AI, 2025)。

GRPO 的思路更激进:把 Critic 也干掉

替代方案是"组内相对排名":

一个数学问题 生成 N=8 个回答 规则打分\n对=+1 错=-1 组内得分排名\n高分 → 正向更新\n低分 → 负向更新 更新模型

关键条件:必须有明确的对错标准。数学题(答案对不对)、代码(能不能运行)——这类任务天然适合 GRPO。GRPO 不适合没有明确对错的开放式写作场景。

DeepSeek-R1 用 GRPO 训出了长思维链推理能力——模型在解题过程中学会了"先想再答"的模式,而不是经过复杂的 RLHF 人类偏好标注。


完整演化对比:一图看清三条路

Base Model SFT 经典 RLHF:PPO 训练 Reward Model PPO 训练\nActor+Critic+RM+Ref DPO:去掉 RM 直接偏好优化\nLLM+Ref 两模型 GRPO:去掉 Critic+RM 组内相对排名\n规则打分 Chat Model\n通用对话 Chat Model\n数据驱动偏好 Reasoning Model\n长思维链推理

几个常见误解

误解 1:RLHF 训练量很小,无足轻重

SFT 数据量确实比预训练小几个数量级,但 RL 阶段的计算量相当可观。PPO 训练每次 rollout 都要推理 + 打分,4 模型同驻 GPU,通常需要持续数天到数周的集群计算。

误解 2:奖励模型很准

RM 是人类偏好的代理,但不是人类。它有自己的盲点:对回答长度有偏(更长的回答往往得分更高,哪怕质量差)、对自信语气有偏。这就是"奖励 Hacking"问题持续被研究的原因。

误解 3:DPO 已经完全替代 PPO

没有。对于需要在线反馈、复杂偏好建模(比如同一个用户不同场景有不同偏好)的场景,PPO 的在线 RL 优势仍然成立。两者在不同场景下各有用武之地。


写在最后

RLHF 是一个系统工程,而不是一个算法。

SFT 解决"格式问题",奖励模型解决"好坏标准"问题,PPO/DPO/GRPO 解决"持续优化"问题——三者缺一不可,但也可以按场景取舍组合。

趋势很清楚:后训练流水线正在向更简单、更高效的方向演化。DPO 干掉了奖励模型,GRPO 干掉了 Critic,未来也许有更极简的方案出现。但核心思路不会变——“根据好坏反馈调整模型行为”,这是让 LLM 从"知识库"变成"助手"的根本机制。


你现在团队用的是哪条路线?

A. 经典 PPO,稳定性最重要
B. DPO,数据够好就用这个
C. GRPO,我们做数学/代码任务
D. 还在研究中,看完文章有点开窍了


💡 这部分建议收藏——三条路线的对比表,下次讨论后训练方案直接调出来。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费