
PPO 与 DPO:大模型偏好对齐的两种核心算法解析 原创
在大模型训练中,让模型输出符合人类偏好的内容是关键一步。目前主流的两种方法 ——PPO(近端策略优化)和 DPO(直接偏好优化),分别代表了强化学习和直接优化的不同思路。本文将拆解两者的核心思想、实现逻辑,以及 DPO 如何解决 PPO 的痛点。
一、PPO:用强化学习 "稳扎稳打"
PPO 是强化学习在大模型领域的经典应用,核心思想是在限制策略更新幅度的前提下,最大化模型获得的奖励。简单来说,就是让模型在学习过程中 "稳步提升",避免因更新幅度过大而 "学偏"。
1.1 核心逻辑:约束与优化的平衡
PPO 通过 "Actor-Critic" 框架实现:
- Actor(策略模型):负责生成回答(动作),目标是最大化奖励;
- Critic(价值模型):评估当前回答的 "价值"(预期奖励),辅助 Actor 判断动作好坏;
- 奖励模型:给 Actor 生成的回答打分(比如 "这个回答是否 helpful");
- 参考模型:记录初始策略,防止 Actor 更新幅度过大偏离基础能力。
为了避免策略突变,PPO 用两种方式约束更新:
- 裁剪(Clip):将新策略与旧策略的概率比限制在 [1-ε, 1+ε](通常 ε=0.2),超过则 "裁剪";
- KL 惩罚:通过 KL 散度衡量新旧策略差异,差异过大则扣分。
1.2 实现关键步骤
以大模型对话训练为例,PPO 的流程如下:
- 数据收集:用当前策略模型生成一批回答,由奖励模型打分;
- 优势计算:用 Critic 的价值估计和实际奖励,计算每个回答的 "优势"(比预期好多少);
- 多轮更新:用同一批数据重复更新 Actor(5-10 次),每次更新都用裁剪或 KL 惩罚约束幅度;
- 同步优化:同时更新 Critic,让其更准确地评估价值。
形象理解:好比训练学生答题,Actor 是学生,Critic 是老师预判分数,奖励模型是实际阅卷评分,参考模型是学生的初始水平。老师会限制学生每次进步的幅度,避免为了高分而偏离基础知识点。
二、DPO:跳过 "奖励模型" 的直接优化
DPO 的核心思想是将强化学习转化为偏好分类问题:直接用人类标注的 "好回答" 和 "差回答" 训练模型,跳过 PPO 中复杂的奖励模型和强化学习循环。
2.1 核心逻辑:用偏好数据直接 "对齐"
DPO 的关键观察是:人类偏好数据(比如 "回答 A 比回答 B 好")本身就可以指导模型优化,无需先训练一个奖励模型。它通过对比 "好回答" 和 "差回答" 的概率,让模型更倾向于生成 "好回答"。
具体来说,DPO 的损失函数会让模型满足:
2.2 实现关键步骤
DPO 的流程更简单,无需强化学习循环:
形象理解:好比直接给学生展示 "满分答案" 和 "错误答案",让学生对比学习,跳过了 "先训练老师打分" 的步骤,效率更高。
三、DPO 对 PPO 的四大改进
PPO 虽然有效,但在工程落地中存在不少痛点,DPO 针对性地解决了这些问题:
维度 | PPO(RLHF) | DPO |
模型数量 | 需要 4 个模型(Actor/Critic/ 奖励 / 参考) | 仅需 2 个模型(策略 / 参考) |
训练流程 | 迭代采样→评分→更新(多阶段循环) | 单阶段有监督训练(类似 SFT) |
数值稳定性 | 依赖奖励尺度校准和 KL 系数调参,易爆炸 | 损失函数自动限制范围,无需复杂调参 |
效率 | 同批次数据复用 20-50 次,耗时久 | 数据一次使用,训练速度提升约 45 倍 |
比如在医疗大模型训练中,PPO 可能需要反复调整奖励模型对 "专业性" 和 "安全性" 的权重,而 DPO 直接用医生标注的 "优质回答" 和 "风险回答" 训练,大幅减少调试成本。
四、PPO 与 DPO 的适用场景
两种算法各有优劣,实际应用中需根据场景选择:
- PPO 更适合:需要复杂奖励机制(如多维度评分)、对探索性要求高的场景(如创意写作);
- DPO 更适合:偏好数据充足、追求训练效率和稳定性的场景(如客服对话、法律问答)。
从工业实践来看,ChatGPT 等早期模型用 PPO 保障了灵活性,而开源社区(如 Zephyr 模型)多用 DPO 实现高效对齐,两者正逐步融合(如用 DPO 初始化,再用 PPO 微调)。
五、总结:从 "间接学习" 到 "直接对齐"
PPO 和 DPO 的演进,体现了大模型偏好对齐的效率追求:
- PPO 通过强化学习的 "试错 - 奖励" 机制,适合复杂场景但成本高;
- DPO 跳过中间环节,用偏好数据直接优化,实现了 "简单即高效"。
参考文献
- 南门子,《阿里淘天大模型终面:麻了,真的麻了!》,https://mp.weixin.qq.com/s/x43pwfNw7doFB5pGMLpJfA,2025-06-19,微信公众号
- 偷星九月 333,《大模型时代必会强化学习算法之 PPO》,https://mp.weixin.qq.com/s/iLQU9EXa7ullT4zUpPhxvA,2025-03-11,微信公众号
- 捏太阳,《近端策略优化 (PPO) 算法深度解析》,https://mp.weixin.qq.com/s/gPEtblnP6Q7hGSa48HPHlg,2025-04-24,微信公众号
- LLMQuant,《一文教你看懂强化学习策略优化:PPO 与 GRPO 全面解析》,https://mp.weixin.qq.com/s/oowsngGxY3qz1sFw_KiZKA,2025-05-28,微信公众号
- 算法狗,《人人都能看懂的 DPO 数学原理》,https://mp.weixin.qq.com/s/aG-5xTwSzvHXN4B73mfKMA,2024-09-09,微信公众号
- 算法狗,《2 分钟入门 DPO 算法》,https://mp.weixin.qq.com/s/kMbOH11sla79Tv28uSH7UA,2025-01-15,微信公众号
- 大模型技术前沿,《强化学习入门,小学生都可以读懂的 DPO,PPO》,https://mp.weixin.qq.com/s/HBQNSMIhocWgrJ4R7W8qzQ,2025-04-07,微信公众号
- 纪牛牛,《DPO 算法,突然不香了...》,https://mp.weixin.qq.com/s/IrrHCkQ3rPsXnZhMVN5NlQ,2025-04-11,微信公众号
本文转载自鸿煊的学习笔记,作者:乘风破浪jxj
