把 RL 短路——DPO 与直接偏好优化
上一章留下的第一条岔路:RLHF 那台四模型机器太重了——就为了"让模型更符合人类偏好"这个目标,先训一个 RM,再开动 PPO 全家桶,采样、打分、advantage、缰绳……有没有可能从偏好数据直接优化策略,把中间商全部裁掉?
2023 年 5 月,斯坦福的一篇论文给出了肯定回答,标题起得锋芒毕露:《Direct Preference Optimization: Your Language Model Is Secretly a Reward Model》——直接偏好优化:你的语言模型暗中就是个奖励模型。这一章讲清这句话的确切含义。它是全卷数学最漂亮的一次短路,也是一堂关于"免费午餐的真实价格"的课。
3.1 出发点:把 RLHF 的目标写在纸上
DPO 的推导起点不是新想法,恰恰是原样接过 RLHF 的优化目标。上一章的第三步在做什么?用符号写出来(第三卷的装备直接上阵):
$$ \max_\pi\ \ \mathbb{E}_{y \sim \pi}\big[\, r(x, y)\,\big] \;-\; \beta\, D_{\mathrm{KL}}\big(\pi \,\|\, \pi_{\text{ref}}\big) $$
最大化奖励,同时用系数 $\beta$ 的 KL 缰绳拴住别跑远。RLHF 用 PPO 迭代地逼近这个目标的解。DPO 的第一步观察是:这个优化问题其实有解析解——不用迭代,最优策略可以直接写出来:
$$ \pi^*(y \mid x) \;\propto\; \pi_{\text{ref}}(y \mid x)\, \exp\!\Big(\frac{r(x, y)}{\beta}\Big) $$
这个解长得很讲道理:最优策略 = 参考策略 × 按奖励指数加权。奖励高的回答,概率在参考分布基础上被指数放大;$\beta$ 越大(缰绳越紧),放大越温和。这个形式在统计物理和贝叶斯推断里都是老面孔,本身不新奇。新奇的是下一步的方向——所有人都拿这个式子"从奖励推策略",DPO 反过来:从策略反解奖励。
3.2 关键一翻:策略里藏着奖励
把上面的式子做个初等变形(两边取对数、移项),奖励可以用策略表示出来:
$$ r(x, y) \;=\; \beta \log \frac{\pi(y \mid x)}{\pi_{\text{ref}}(y \mid x)} \;+\; \text{(与 } y \text{ 无关的常数)} $$
用人话读:一个回答的奖励,等于"策略相对参考模型对它概率的抬升幅度"(乘 $\beta$)。策略越是超出参考模型地偏爱某个回答,等价于它给这个回答记了越高的奖励——任何一个策略,都隐式地定义着一个奖励函数。"你的语言模型暗中是个奖励模型",指的就是这层等价。
最后一步收网。上一章的 Bradley-Terry 说,偏好概率只由奖励之差决定——而差一作,那个讨厌的常数项恰好消掉!把"隐式奖励"代入 Bradley-Terry,再做最大似然(跟训 RM 时一模一样的套路),得到 DPO 的最终损失——对每条偏好数据(指令 $x$,胜者 $y_w$,败者 $y_l$):
$$ \mathcal{L}_{\text{DPO}} = -\log \sigma\Big(\underbrace{\beta \log \tfrac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)}}_{\text{胜者的隐式奖励}} \;-\; \underbrace{\beta \log \tfrac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)}}_{\text{败者的隐式奖励}}\Big) $$
盯着看一会儿,它惊人地朴素:让胜者的隐式奖励超过败者——即"相对参考模型,把胜者的概率抬得比败者更高"。没有 RM(它被策略自己兼任了),没有采样(数据是现成的偏好对),没有 critic、没有 clip、没有 rollout——整台 RL 机器被一步数学短路,剩下的是一个长得像二分类的损失函数,拿偏好数据集像跑 SFT 一样离线跑梯度下降就行。四模型机器变成了两模型(策略 + 冻结参考),训练成本和工程复杂度断崖式下降。
这就是 DPO 在 2023–24 年横扫开源社区的原因:RLHF 的效果,SFT 的实现难度。一时间"RL is dead"的说法都出来了。
3.3 午餐的价格:离线的代价
但第三卷训练过的你,应该本能地要找那顿免费午餐的账单。它藏在一个词里:离线(offline)。
DPO 的数学推导严格成立的前提,是那个解析解——而解析解描述的是"在偏好数据所覆盖的分布上"的最优。实际训练中,偏好数据是事先收集的(通常来自旧版模型或别的模型的输出),而策略在训练中不断变化、生成分布不断漂移——它漂到哪里,数据就照不到哪里。第三卷的语言现成可用:DPO 没有 on-policy 采样,它对"策略自己当前会生成什么"一无所知;它优化的是"在别人的作品上排出正确的偏好序",而不是"把自己的产出变好"。极端情形下会出现著名的怪现象:训练推进时,胜者和败者的绝对概率双双下降(只要相对差距在扩大,损失照样降)——概率质量悄悄流向了数据没覆盖的地方,那里没有任何监督在看守。
实证对比给出的图景与理论相符:头对头研究普遍发现,认真调好的 PPO 在能力上限上压过 DPO,尤其在推理、代码这类有客观对错的任务上;DPO 的胜场在"偏好型"目标——风格、语气、安全边界、格式习惯——这些目标本来就住在数据分布附近,离线的短板伤不到要害,而便宜、稳定、可复现的优点全额兑现。围绕 DPO 还长出了一整族改良变体(换损失形状的 IPO、不需要成对数据的 KTO、去掉参考模型的 SimPO……),各修一处短板,你在论文里撞见时知道它们是同一家族即可。
3.4 2026 年的分工格局
争论在 2025 年前后尘埃落定,落点不是谁取代谁,而是分工——这个格局你可以直接放进工具箱:
- 偏好类目标(风格、语气、安全、拒答边界、格式):DPO 及其变体是主力——离线、便宜、稳定,拿偏好数据反复迭代,像打磨产品一样打磨行为。
- 能力类目标(数学、代码、推理、agent):on-policy 的 RL(GRPO 一族)不可替代——能力增长恰恰依赖"模型自己生成、按后果学习"的闭环,离线方法给不了。
生产流水线因此普遍是串联的:Llama 3 的后训练是 SFT 与 DPO 的多轮滚动;学界的开放复现 Tülu 3 是 SFT → DPO → RLVR 三段式——DPO 管偏好,RLVR 管能力,各司其职。回头看,DPO 的历史功绩与其说是"取代了 RL",不如说是把偏好对齐的成本打到了地板价,让 RL 的火力得以集中到它真正不可替代的战场——能力。而那个战场上正在发生的事,是本卷后半部的主题。
在此之前还剩一条岔路要走完:上一章说 RLHF"数据吃人"——偏好标注贵、慢、还互相打架。DPO 降低了用偏好的成本,没降低产偏好的成本。下一章:让 AI 自己当标注员——RLAIF 与宪法 AI,以及"评价易于生成"这个不对称的第二次登场。
本章要点
- DPO 推导三步:RLHF 目标(奖励 − β·KL)有解析解 $\pi^* \propto \pi_{\text{ref}} e^{r/\beta}$ → 反解出"隐式奖励 = β·log(π/π_ref)" → 代入 Bradley-Terry,常数消去,得到纯分类损失。
- 一句话本质:相对参考模型,把胜者概率抬得比败者更高;策略自己兼任奖励模型,RM/critic/采样全部裁撤,四模型变两模型。
- 代价在"离线":无 on-policy 采样 ⇒ 分布漂移无人看守(胜败者概率可同时下降的怪癖);实证:PPO 能力上限更高(尤其推理/代码),DPO 在偏好型目标上性价比无敌。
- 2026 分工共识:DPO 族管风格/安全/格式(离线便宜稳),GRPO 族管数学/代码/agent(能力靠 on-policy 闭环);生产流水线串联两者(Llama 3 的 SFT+DPO 滚动、Tülu 3 的 SFT→DPO→RLVR)。
- DPO 的历史功绩:把偏好对齐打到地板价,让 RL 火力集中到能力战场。