DPO 与 PPO 有什么区别?

考查重点:偏好优化与在线策略学习。DPO 直接用偏好对优化相对对数概率,PPO 需采样、奖励和优势更新;比较离线数据覆盖与在线探索成本

本题目录

参考答案

核心回答

在大模型偏好对齐中,DPO 直接从“同一问题下哪条回答更好”的偏好对优化策略;PPO 则用采样、奖励和优势估计进行策略梯度更新。 PPO 是更一般的强化学习优化方法,这里比较的是经典离线 DPO 与常见 PPO-based RLHF 流程。

  • 数据流程不同:DPO 使用问题、优选回答和较差回答组成的数据集,标准训练阶段不必反复在线生成回答;PPO 随策略更新收集新样本,再根据奖励反馈学习。
  • 模型职责不同:DPO 无需单独训练显式奖励模型和 Critic,通常保留参考策略;常见 PPO RLHF 则有策略、价值估计、奖励和参考策略等角色,部分实现可以共享参数。
  • 目标不同:DPO 学习相对参考策略的偏好差距;PPO 用优势与新旧策略概率比构造裁剪目标。PPO 的裁剪和 RLHF 中的参考策略 KL 是不同机制。

有高质量偏好对、希望简化对齐流程时,可以先考虑 DPO;需要持续探索并根据环境或任务奖励更新时,可以考虑 PPO 等在线方法。选择仍取决于数据、奖励可靠性和资源,不能只凭“更简单”推断质量一定更高。

两条训练链路怎样运行

典型 DPO 先准备 (问题, chosen, rejected) 数据,用待训练策略和参考策略分别计算两条回答的条件概率,再直接优化偏好损失。偏好对可以来自人工或模型评审,需要保证比较的是同一问题、相同约束下的回答,并处理含糊、冲突或质量过差的标注。

常见 PPO RLHF 先由偏好数据训练奖励模型,策略在训练中生成回答,奖励模型打分;价值模型支持优势估计,策略再按 PPO 目标更新。奖励也可以来自规则或环境,PPO 本身并不强制要求神经奖励模型或一份固定的 SFT 参考策略。具体更新见PPO 算法原理。

因此,“DPO 只有一个模型、PPO 必须四个模型”不是准确的通用结论。DPO 仍需要参考概率,可能通过额外模型前向或预先计算获得;PPO 中几个角色也不一定对应完全独立的同规模网络。

DPO 损失在比较什么

记 chosen 为偏好回答,rejected 为较差回答,ref 为参考策略。对同一个问题,令:

Δ = [log π(chosen) - log πref(chosen)]
  - [log π(rejected) - log πref(rejected)]

单条偏好对的损失 = -log sigmoid(β × Δ)

这里省略了条件“给定问题”,回答的 log probability 是其各 Token 条件对数概率之和;β 是原始目标中的正系数。整体训练对偏好对取平均。模型要扩大 chosen 相对 rejected 的改善幅度,而不是只学习复述 chosen。

例如策略与参考完全相同时,Δ = 0,损失约为 0.693;若 Δ = 1、β = 0.1,损失约为 0.644。这个算例只说明损失怎样随偏好差距变化,不是训练效果。由于概率归一化和参数共享,不能把相对差距的变化直接等同于每条 chosen 的绝对概率都必然增加。

DPO 的推导把带 KL 正则的奖励最大化目标,与 Bradley–Terry 等偏好建模假设联系起来,再将奖励重参数化为策略与参考策略的对数概率比。它避免了显式奖励拟合和在线 RL 循环,不代表实际有限数据、有限模型训练后一定与 PPO 得到同一个模型,也不是在每一步直接保证某个 KL 上界。

工程收益与局限怎样比较

DPO 的训练形态更接近离线监督学习,少了在线 rollout、价值拟合和显式奖励模型训练等环节,但仍要承担偏好数据、序列概率计算和参考概率的成本。它也不是只对 chosen 做普通 SFT:rejected 及其相对关系参与了损失。

静态数据若不能覆盖当前策略的新错误,继续重复训练未必能解决,需要补充合适偏好或采用迭代数据流程。Online DPO 等扩展也会更新偏好数据,因此“所有叫 DPO 的方法都永远不能在线”同样过度。

PPO 可以利用当前策略样本持续探索,但奖励偏差、价值拟合、采样成本和策略漂移都要管理;在线学习本身不会自动避免奖励作弊。比较时应采用独立业务测试,观察质量、泛化、关键约束、生成与训练成本,而不是用 DPO loss 和 PPO reward 的数值大小互相比高低。

参考资料

相关面经

10 篇

快手

算法岗
一面、二面
查看原面经 →
项目选择DPO优化方案的原因?横向对比PPO、GRPO三类优化算法的适配差异。

华为

AI 应用工程师
校招一面、二面、三面
查看原面经 →
你这个项目最终是用ppo还是dpo,这两个有什么区别,什么情况下该如何选择该用哪一个

阿里巴巴(淘天)

大模型 Agent
校招
查看原面经 →
PPO和DPO在大模型对齐中的主要区别是什么?DPO训练通常有哪些注意事项?用过GRPO么?

阿里巴巴

大模型算法工程师
查看原面经 →
PPO和DPO了解

阿里巴巴

大模型算法工程师
一面
查看原面经 →
PPO与DPO两种人类对齐方案核心区别是什么?
展开剩余 5 篇面经

MiniMax

大模型算法工程师
查看原面经 →
PPO和DPO 在大模型对齐中的主要区别是什么?DPO 训练通常有哪些注意事项?

阿里巴巴

Agent 开发工程师
暑期一面
查看原面经 →
PPO GRPO DPO 优势劣势 适用场景

淘天

大模型 Agent
校招
查看原面经 →
在做对齐时,PPO和DPO你更倾向于用哪个?有什么区别?

百度

Agent 算法工程师
实习
查看原面经 →
DPO 和 PPO 的区别

OPPO

大模型
一面
查看原面经 →
问了ppo和dpo的区别

收录题集

5 个来源,共12 份题集
展开剩余 7 份题集

后训练章节追问

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

强化学习与对齐

阿东玩 AI · AgentGuide · 4 条原题

查看题集 →
展开其余 1 条原题

大模型基础面试题

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

理论基础面试题

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

强化学习

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

快手高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

多模态理论知识

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

相关题目

4 题