专栏名称: 吃果冻不吐果冻皮
专注于AI工程化(LLM、MLOps、LLMOps、RAG、Agent)落地。
目录
相关文章推荐
51好读  ›  专栏  ›  吃果冻不吐果冻皮

DPO vs PPO:深度解读谁是LLM Alignment的未来

吃果冻不吐果冻皮  · 公众号  ·  · 2024-12-18 22:46

正文

原文:https://zhuanlan.zhihu.com/p/11913305485
从ChatGPT到Claude,这些模型的成功离不开PPO (Proximal Policy Optimization)的支撑。DPO (Direct Preference Optimization) 则以其 无需奖励建模的简化流程 在学术基准测试中表现优异,DPO号称以更低的计算成本,实现了与PPO相当的偏好对齐效果,然而DPO真的能取代PPO吗?

今年其实已经有不少文章例如 ICLR的 Is DPO Superior to PPO for LLM Alignment? A Comprehensive Study [2] 等文章通过详实的实验做过分析过两者的利弊。然而笔者读完还是十分好奇,DPO的原文曾做过从PPO到DPO的等价推导,那么从底层数学推理上看,究竟DPO在在又在哪些地方存在缺陷?或者说这个等价推导在哪里不等价呢?

于是有了本文的探讨,本文内容完全原创,理解可能存在纰漏,欢迎评论区指出。

首先我们来重温一下从PPO到DPO的推导:

从 PPO 到 DPO 的推导

DPO 的核心思想是通过重参数化将奖励函数隐式包含在策略中,从而避免显式建模奖励函数。具体推导如下:

1. PPO 的最优策略形式 :在 KL 正则化约束下,PPO 的最优策略可以写为:

其中 Z(x) 是分区函数,用于归一化:

2. 重参数化奖励函数 :将上式对数化并重排,可以得到奖励函数的形式:

注意,Z(x) 只与 x 有关,因此在计算偏好概率时会被消去。

3. 偏好模型与 DPO 的目标 : 假设偏好数据遵循 Bradley-Terry 模型,其偏好概率为:

代入重参数化后的 r(x, y),并消去 Z(x),得到:

4. DPO 的目标函数 : 在最大化偏好数据的对数似然时,DPO 的目标为:

其中 是 sigmoid 函数。

上述推导乍一看没啥问题,但仔细思考两者还是有些gap:

1. Distribution Shift

DPO 假设参考分布 能准确捕捉偏好数据分布,但在实际中, 和偏好分布常存在偏移,导致模型对分布外数据(OOD)表现异常。

  • DPO 的偏好概率基于 Bradley-Terry 模型和隐式奖励函数:

假设 准确反映了偏好分布,但实验表明偏好数据常不覆盖整个分布, 的偏差会放大这种分布偏移,错误地提高 OOD 样本的概率。

也就是说:

DPO 对分布外数据的偏好可能完全依赖 的结构,而 本身在偏好数据不足时表现不稳定。

PPO 通过显式 KL 正则化限制了 偏离 的程度:

这种约束在分布外数据中可以抑制对噪声样本的错误优化。

2. Reward Hacking Risk

虽然DPO和PPO都存在Reward hacking的问题, 但DPO 通过隐式建模奖励函数绕过显式的奖励建模,但这一简化可能引入额外隐性的reward hacking问题。

DPO 采用重参数化方式计算隐式奖励:

其中 被偏好模型中消去。然而,未显式建模的奖励会导致对分布外样本或偏好数据不足的样本误判。

理论证明表明,DPO 的解集 包含 PPO 的解集 ,但会额外引入对 OOD 样本的过度偏好:

换句话说:

  • DPO 的优化过程中,可能找到符合偏好数据但在实际分布上无意义的解,例如通过提升 OOD 样本的概率来最小化损失。
  • PPO 中,显式奖励函数明确地优化偏好目标,KL 正则化进一步抑制偏移样本的影响,减少 reward hacking 的风险。

3. Lack of Partition Function

这一点我很少在DPO和PPO的相关论文中看到,但实践中感觉还是有不小的区别。DPO 在推导中省略了分区函数 的显式影响,而这种省略假设分布足够一致,但在实际训练分布稀疏或偏移时,这种假设可能不成立。

  • 分区函数在 PPO 的奖励分布中是显式定义的:







请到「今天看啥」查看全文