大语言模型对齐学习笔记:从 PPO、DPO 到 GRPO 与 DAPO
PPO、DPO、GRPO、DAPO 的名字很像,但它们不是一条“新算法不断取代旧算法”的直线。理解这些方法,首先要分清两个问题:反馈从哪里来?模型怎样利用反馈更新参数?
本文围绕 2017—2025 年间的一组代表性方法整理基础知识,不是完整的对齐研究史,也不将后训练等同于已经解决了模型安全或价值对齐。
算法路线图
连线仅表示分类,不表示严格继承或性能排名;年份为代表论文首次公开年份。强化学习主线可沿 PPO → GRPO → DAPO 理解,ReMax 则基于 REINFORCE。反馈来源是独立维度,可与不同优化方法组合。
推荐学习路径: SFT / KL 基础 → PPO → DPO → GRPO → DAPO → 扩展方法。
一、先看全局:两类优化思路,一个独立的反馈维度
| 讨论层次 | 核心问题 | 代表方法或概念 |
|---|---|---|
| 强化学习优化 | 生成回答、获得奖励之后,怎样更新策略? | PPO、ReMax、GRPO、DAPO |
| 直接利用偏好或好坏标签优化 | 已知回答的优劣,怎样直接构造训练损失? | DPO、DPOP、TDPO、ORPO、SimPO、KTO |
| 反馈来源与监督流程 | 谁来评价?依据什么标准评价? | RLHF、RLAIF、Constitutional AI、可验证奖励 |
这是帮助理解的分类,不是严格的算法谱系。例如,DPO 本身就与 KL 正则化奖励最大化有理论联系,不能因为训练时没有在线策略梯度循环,就认为它和强化学习理论完全无关。
最容易混淆的三点是:
- PPO、DPO、GRPO主要回答“怎么优化”。
- 人类反馈、AI 反馈、规则验证主要回答“监督信号从哪里来”。
- Constitutional AI是一套利用原则组织监督与训练的流程,不是与 PPO 并列的单个优化器。
二、为什么预训练之后还要学习反馈?
预训练通常以预测下一个 Token 为核心目标:
这种训练能让模型学到语言模式、知识和一定的推理能力,但“文本预测得好”不自动等于“回答有帮助、可靠、安全”。
例如,对“如何提高学习效率”这个问题,我们可能更偏好“合理安排、主动回忆并保证睡眠”,而不是“每天学 18 小时”或“多努力就好了”。后训练需要把这种要求转成可学习的信号。
这些信号可以是完整的示范回答、两个回答的优劣关系、单条回答的好坏标签,也可以是答案验证器或测试用例给出的奖励。评价标准本身的质量,始终会限制训练效果。
三、强化学习路线:从 PPO 到去掉 Critic 的方法
1. PPO:用受约束的策略更新学习奖励
**PPO(Proximal Policy Optimization,2017)**是一种通用策略梯度方法,不是专门为大语言模型发明的。后来,它被用于基于人类反馈的强化学习;InstructGPT 是一个代表案例。参见 PPO 原论文与 InstructGPT 论文。
经典 PPO-RLHF 流程可以概括为:
- 对预训练模型做监督微调(SFT),学习按指令回答。
- 收集人类对多个回答的偏好排序。
- 用这些偏好训练奖励模型(Reward Model)。
- 让策略生成新回答,获得奖励,再通过 PPO 更新。
| 常见组件 | 作用 |
|---|---|
| Policy / Actor | 正在训练、负责生成回答的语言模型 |
| Reward Model | 对完整回答或相关行为评分 |
| Value Model / Critic | 估计价值,辅助构造优势估计 |
| Reference Policy | 提供参考分布,常用于 KL 正则化 |
这些是逻辑角色,不代表所有实现都必须部署四个完全独立、同样大小的模型;也不是通用 PPO 算法天然要求奖励模型和参考语言模型。
Clipping 到底限制什么?
用 表示当前文本前缀、 表示下一个 Token,新旧策略的概率比为:
PPO-Clip 最大化的核心代理目标为:
是优势估计。直觉上,优于基线的行为应受到鼓励,但不能靠把概率比推得过大来无休止地提高这一代理目标。
Clipping 是一种优化上的抑制机制,不是对参数变化或所有概率比的硬性边界保证。此外,新旧策略间的裁剪,与当前策略相对固定参考策略的 KL 惩罚,是两个不同机制。
PPO-RLHF 的工程挑战包括采样成本、Critic 训练、显存占用和超参数调节。即便更新受到约束,奖励投机也不会自动消失。
2. ReMax:用贪心回答构造基线
**ReMax(2023)**沿用 REINFORCE 思路,不需要额外训练价值模型。它会对同一个提示词生成采样回答与贪心回答,用后者的奖励构造基线,降低策略梯度的方差。参见 ReMax 原论文。
可以把它理解为:不再专门训练一个“价值预测员”,而是用模型当前的贪心作答作为比较基准。它是对 PPO-RLHF 复杂性的另一种回应,不是严格从 PPO 裁剪目标派生出的后代。
去掉 Critic 不等于去掉奖励信号;原方法仍可保留奖励模型及参考策略相关约束。
3. GRPO:同一道题的多个回答相互比较
**GRPO(Group Relative Policy Optimization,2024)**由 DeepSeekMath 提出,是 PPO 的一个变体。它使用组内奖励构造相对优势,省去单独训练的 Critic。参见 DeepSeekMath 原论文。
例如,对同一个问题“12 × 13 等于多少”,采样四次:
| 回答 | 结果 | 奖励 |
|---|---|---|
| A:156 | 正确 | 1 |
| B:146 | 错误 | 0 |
| C:156 | 正确 | 1 |
| D:169 | 错误 | 0 |
组内平均奖励为:
先忽略标准差,中心化后的相对信号是 ,即 。常见的数值实现还会按组内标准差归一化:
这里 是组内奖励标准差, 是为避免除零加入的小量。在按总体标准差计算的这个例子里,,归一化后的优势约为 ;不同实现的标准差约定和数值处理可能不同。
正优势推动相应生成行为,负优势则提供相反方向的更新信号。GRPO 不是只挑出正确答案再做一次 SFT;它仍通过带优势权重的策略优化学习。
还要区分两个模型角色:
- 不需要 Critic:优势来自组内比较。
- 不一定需要训练奖励模型:可以用奖励模型,也可以用答案正确性、代码测试等规则评分。
原始 GRPO 目标保留了相对参考策略的 KL 惩罚与概率比裁剪。多回答采样本身有成本,因此“去掉 Critic”不意味着训练一定很便宜。
4. DAPO:面向长思维链训练改进 GRPO 式流程
**DAPO(Decoupled Clip and Dynamic sAmpling Policy Optimization,2025)**针对长思维链强化学习中的探索、样本利用和奖励噪声等问题,组合了四项主要设计。参见 DAPO 原论文。
| 设计 | 核心变化 | 直观目的 |
|---|---|---|
| Clip-Higher | 分开设置概率比裁剪的上下界,放宽上界 | 给探索保留空间,缓解熵过早下降 |
| Dynamic Sampling | 过滤没有组内奖励差异的提示词组,并补充采样 | 减少无效的相对优势信号 |
| Token-Level Policy Gradient Loss | 调整跨回答的损失聚合方式 | 改变长短回答在训练中的权重 |
| Overlong Reward Shaping | 调整超长输出的奖励处理 | 减少长度截断带来的奖励噪声 |
为什么全对或全错的一组可能没用?
在二值正确性奖励下,若四个回答全对,奖励都为 1;若全错,奖励都为 0。两种情况下,组内中心化奖励都为零,无法提供基于组内奖励差异的策略梯度信号。
这不等于整套训练中所有损失项都必然为零。例如,其他方法若还含 KL 或熵项,仍可能有相应信号。
Token-Level Loss 不是给每个 Token 人工打分
先对每个回答内部取平均,再对回答平均,会让不同长度的回答具有相同的总权重。改成在整个批次的有效 Token 上统一归一化,则改变了长回答的贡献方式。这里讨论的是损失如何聚合,不是要求逐 Token 标注奖励。
另外,DAPO 原论文移除了参考策略 KL 惩罚。它仍保留基于旧策略概率比的裁剪,去掉 KL 不等于取消所有更新约束。
四、偏好优化路线:从 DPO 到不同方向的简化与修正
1. DPO:直接利用优劣回答对
**DPO(Direct Preference Optimization,2023)**把一种 KL 正则化奖励优化问题转化为直接的偏好损失,不再需要先拟合一个独立的奖励模型,再执行 PPO 采样更新循环。参见 DPO 原论文。
训练数据通常写成:
是提示词, 是偏好的回答, 是不偏好的回答。定义相对参考策略的对数概率比:
标准 DPO 损失可写为:
其中 是 sigmoid, 控制缩放,并与推导中的 KL 正则化强度相关;不是“越大训练一定越好”。本文的对数均采用自然对数。
直觉是:让模型相对参考策略,更倾向于偏好的回答,而不是只无条件地提高好回答概率。
标准离线 DPO 使用固定的偏好数据训练,不包含每轮让当前策略探索新回答的在线闭环。不过,也存在在线或迭代收集偏好数据的扩展;“DPO 永远不能在线训练”是不准确的。
标准 DPO 的目标依赖参考策略,但对固定数据可以预先计算参考对数概率,不一定要让一个独立参考模型始终常驻显存。
2. DPOP:额外惩罚优选回答概率的下降
**DPOP(DPO-Positive,2024)**关注 DPO 的一个失效模式:优选回答的绝对概率可能降低,只要劣选回答降低得更多,相对偏好仍可能改善。这个问题在优劣回答差别很小时尤其值得注意。参见 DPOP / Smaug 原论文。
用一组纯示意数值说明:
| 状态 | 好回答概率 | 坏回答概率 | 好 / 坏的概率比 |
|---|---|---|---|
| 训练前 | 0.40 | 0.30 | 约 1.33 |
| 训练后 | 0.20 | 0.05 | 4.00 |
在参考策略固定时,好坏相对优势可以提高,但好回答本身变得更难采样。DPOP 为优选回答概率相对参考策略下降的情形加入惩罚。这是训练目标中的软惩罚,不应表述成每条好回答的概率都必然单调增加。
3. TDPO:在 Token 级建模策略约束
**TDPO(Token-level Direct Preference Optimization,2024)**从自回归生成的 Token 级决策出发,引入前向 KL 相关约束,以改善偏好学习与生成多样性的平衡。参见 TDPO 原论文。
它并不要求人工给每个 Token 打分。标准 DPO 的序列对数概率本来也是 Token 对数概率的和,所以区别也不能简单说成“DPO 完全不看 Token,TDPO 才看 Token”;真正变化在于优化目标与约束的建模。
4. ORPO:把监督学习与偏好项放在同一个阶段
**ORPO(Odds Ratio Preference Optimization,2024)**用监督微调项学习优选回答,同时用优势比(odds ratio)构造偏好项,不需要 DPO 式的独立参考策略。其结构可概括为:
可以理解为“学习好回答的同时,也学习区分坏回答”,从而合并原本分开的 SFT 与偏好对齐阶段。这不是“只训练一次就不需要任何基础能力”,仍然依赖预训练模型和合适的数据。参见 ORPO 原论文。
5. SimPO:用平均对数概率定义无参考模型的奖励
**SimPO(Simple Preference Optimization,2024)**使用长度归一化的序列对数概率作为隐式奖励:
其中 是回答的 Token 数。其偏好目标还加入奖励间隔,让优选与劣选回答形成更明确的差距。它不需要独立参考模型。参见 SimPO 原论文。
除以长度,是为了调整直接比较整段序列概率所带来的长度影响,但不能据此断言所有长度偏差都被彻底消除。
6. KTO:不必凑成同一问题下的优劣回答对
**KTO(Kahneman-Tversky Optimization,2024)**受前景理论启发,利用对单条回答的“期望 / 不期望”二值反馈构造目标,不要求数据必须组成成对比较。参见 KTO 原论文。
- DPO 常用的数据:对于同一提示词,A 比 B 好。
- KTO 可以使用的数据:这条回答是好的;另一条回答是不好的。
标准 KTO 仍使用参考策略。不需要成对数据、不需要奖励模型、不需要参考策略,是三个不同的问题。
五、反馈从哪里来:不要把监督来源当成优化器
RLHF:人类提供偏好监督
RLHF(Reinforcement Learning from Human Feedback)通常先从人类反馈学习奖励,再通过强化学习更新策略;经典实现常用 PPO。它不是 PPO 的另一个名字,PPO 也不仅能用于 RLHF。
RLAIF:AI 参与生成评价
RLAIF(Reinforcement Learning from AI Feedback)强调把 AI 产生的评价用于强化学习。它减少了对逐条人工偏好标注的依赖,但会继承评价模型的偏差,也仍然依赖评价准则和人类设计。
AI 生成的偏好数据也可以用于 DPO 等直接优化方法;不能把“数据由 AI 标注”与“必须采用某种 RL 优化器”绑定起来。
Constitutional AI:用原则组织批评、修订与评价
Anthropic 于 2022 年提出的原始 Constitutional AI 流程包含两个部分:先根据原则生成自我批评与修订,并用修订结果做监督训练;再让 AI 比较回答、形成偏好监督,进入强化学习阶段。参见 Constitutional AI 原论文。
因此,“原则从哪里来”“谁评价回答”“用什么损失更新模型”可以是同一套系统里的不同环节,而不是互斥的三个算法。
可验证奖励:答案或测试提供反馈
数学答案校验、代码测试等也能产生训练奖励。这类反馈常被归入可验证奖励强化学习(RLVR)场景。它解决的是奖励如何获得,不是另一个与 GRPO 并列的策略更新公式。
验证器也有覆盖范围与漏洞:通过有限测试,不等于在所有输入下都正确。
六、时间线:按首次公开时间,而不是流行时间
下表按对应论文首次公开的年月排列。论文接收时间、正式出版时间和方法广泛使用的时间可能不同;链接可用于查阅提交历史。
| 首次公开 | 方法或代表工作 | 主要贡献 |
|---|---|---|
| 2017-07 | PPO | 用代理目标等设计改进策略梯度优化 |
| 2022-03 | InstructGPT | PPO-RLHF 用于语言模型指令对齐的代表案例,不是 RLHF 的起点 |
| 2022-12 | Constitutional AI | 将原则引导的修订与 AI 反馈强化学习结合 |
| 2023-05 | DPO | 直接用成对偏好优化策略 |
| 2023-10 | ReMax | REINFORCE 加贪心基线,去掉 Critic |
| 2024-02 | KTO | 使用非成对的好坏标签 |
| 2024-02 | GRPO / DeepSeekMath | 用组内奖励构造相对优势 |
| 2024-02 | DPOP | 惩罚优选回答概率下降的失效模式 |
| 2024-03 | ORPO | 合并 SFT 和偏好优化,不用独立参考策略 |
| 2024-04 | TDPO | 在 Token 级建模偏好优化约束 |
| 2024-05 | SimPO | 以平均对数概率和奖励间隔简化偏好优化 |
| 2025-03 | DAPO | 系统改进长思维链强化学习流程 |
时间顺序不等于继承关系,也不等于性能排名。 ORPO、KTO、SimPO 不能简单理解成 DPO 的同一种“升级版”;ReMax 也不应画成 PPO 的严格派生分支。
七、重点对比:DPO 和 GRPO 到底差在哪里?
| 维度 | 标准离线 DPO | 原始 GRPO 式训练 |
|---|---|---|
| 核心输入 | 已有的优劣回答对 | 同一提示词下采样的多个回答及奖励 |
| 优化信号 | 相对参考策略的偏好损失 | 组内相对优势与策略优化目标 |
| 是否在线生成新训练回答 | 固定数据训练不包含这一闭环 | 会重复采样并依据奖励更新 |
| 独立奖励模型 | 不需要 | 取决于奖励来源,可使用规则评分 |
| Critic | 不需要 | 不需要 |
| 参考策略 | 标准目标依赖,参考概率可预计算 | 原始含 KL 惩罚的目标依赖 |
| 常见用途 | 风格、质量、安全等偏好学习,也可学习推理偏好 | 数学、代码等可获得奖励的任务,也可做其他对齐任务 |
| 主要成本 | 偏好数据准备与模型训练 | 多回答生成、评分与模型更新 |
两者不是“只适用于偏好”与“只适用于推理”的硬分工。更准确的区别是:标准离线 DPO 主要利用已知回答的比较信息,GRPO 式训练则能形成持续采样与反馈的闭环。
在线探索有机会利用基础模型已有的能力发现更好的输出,但不保证一定学会新解法;离线偏好训练也可能改善推理表现。最终结果取决于基础模型、数据覆盖、奖励与训练预算。
八、复习时最值得检查的六个误区
| 容易记错的说法 | 更准确的理解 |
|---|---|
| DPO 取代 PPO,GRPO 又取代 DPO | 它们解决不同的工程与学习问题,可以互补 |
| 没有 Critic,就没有 Reward Model | Critic 估计价值,Reward Model 提供奖励,职责不同 |
| 没有参考模型,就不需要任何基准或约束 | SimPO 有奖励间隔,DAPO 有旧策略裁剪;需要具体分析 |
| Clipping 保证每次参数只变化一点 | 它抑制代理目标中的激进更新,不是硬性参数约束 |
| TDPO 要人工给每个 Token 打分 | 变化在目标与约束的建模粒度 |
| AI 评价或自动测试天然可靠 | 评价偏差、奖励投机和验证漏洞仍需检查 |
九、学习顺序与核心问题
可以按下面的顺序建立理解,而不必一开始记住所有缩写:
- SFT、概率与 KL 散度:先分清示范学习、奖励和参考策略约束。可结合 从信息量到 KL 散度复习。
- PPO:理解概率比、优势估计和 Clipping,而不是只记“限制更新幅度”。
- DPO:理解优劣回答相对参考策略的对数概率比,区分相对偏好和绝对概率。
- GRPO:亲手算一组奖励的均值、标准差与优势,说明为什么不再需要 Critic。
- DAPO:检查哪些组没有奖励差异,比较序列平均与 Token 平均,以及上下界裁剪。
- 扩展方法:再看 ReMax、DPOP、TDPO、ORPO、SimPO、KTO,逐个回答“它改的是数据、基线、损失、参考策略,还是训练阶段?”
读任何一种后训练方法,都先问四件事:数据从哪里来、奖励或标签是什么、更新目标怎样写、靠什么控制训练偏离。
把这四个问题分开,算法之间的差异就会比名称和时间线更清楚。





