For the complete documentation index, see llms.txt. This page is also available as Markdown.

8.3 DPO 与新型对齐:从复杂到简洁的演化

直接偏好优化(Direct Preference Optimization,DPO)的出现代表了对齐技术从复杂到简洁的重要演化。这里的“复杂”在上一节是一份很具体的清单:策略、参考、奖励、价值四个模型同时常驻显存,外加 PPO 那套裁剪区间、优势估计与 KL 惩罚的调参。DPO 要做的,是把这份清单删到只剩策略与参考两项。

8.3.1 DPO 的核心洞察

DPO 的关键洞察是:RLHF 中的奖励模型可以被数学上“吸收”到语言模型的优化目标中,从而完全省去奖励模型的训练和 PPO 优化的过程。

从 RLHF 目标到 DPO 损失的推导

要理解 DPO 的数学原理,需要从 RLHF 的优化目标出发,经过三步推导。

第一步:Bradley-Terry 偏好模型。 RLHF 假设人类偏好服从 Bradley-Terry 模型——即给定两个回答 y1y_1y2y_2,人类偏好 y1y_1 的概率由奖励函数 rr 决定:

P(y1y2x)=σ(r(x,y1)r(x,y2))P(y_1 \succ y_2 | x) = \sigma(r(x, y_1) - r(x, y_2))

其中 σ\sigma 是 sigmoid 函数。直觉上,奖励差越大,偏好概率越高。

第二步:KL 约束下的最优策略。 RLHF 的目标是在 KL 散度约束下最大化期望奖励:maxπEyπ[r(x,y)]βKL[ππref]\max_{\pi} \mathbb{E}_{y \sim \pi}[r(x, y)] - \beta \text{KL}[\pi || \pi_{\text{ref}}]。这个约束优化问题有解析解——最优策略为:

π(yx)=1Z(x)πref(yx)exp(r(x,y)β)\pi^*(y|x) = \frac{1}{Z(x)} \pi_{\text{ref}}(y|x) \exp\left(\frac{r(x,y)}{\beta}\right)

反解奖励函数可得:r(x,y)=βlogπ(yx)πref(yx)+βlogZ(x)r(x, y) = \beta \log \frac{\pi^*(y|x)}{\pi_{\text{ref}}(y|x)} + \beta \log Z(x)

第三步:代入消除奖励模型。 将上式代入 Bradley-Terry 模型,由于 Z(x)Z(x) 在两个回答的奖励差中相消,最终得到 DPO 损失——直接用策略模型的对数概率比替代了奖励模型:

LDPO=logσ(βlogπθ(ywx)πref(ywx)βlogπθ(ylx)πref(ylx))\mathcal{L}_{\text{DPO}} = -\log \sigma\left(\beta \log \frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)}\right)

其中 ywy_w 是人类偏好的回答,yly_l 是不被偏好的回答,πθ\pi_\theta 是正在训练的模型,πref\pi_{\text{ref}} 是参考模型(通常是 SFT 后的模型),β\beta 控制偏离参考模型的程度。

8.3.2 DPO 的优势

简化训练流水线:不需要单独训练奖励模型,不需要 PPO 的复杂采样和价值估计——只需要一个分类损失函数。

训练稳定:避免了 PPO 的超参数敏感性,也避免了显式训练奖励模型带来的工程复杂度和一部分 reward overoptimization 风险。但 DPO 仍依赖偏好数据、Bradley-Terry 假设、参考模型和隐式奖励重参数化,不能理解为“消除了偏好偏差”。

成本更低:DPO 省去了奖励模型训练和 PPO 的在线采样生成开销,训练时显存中只需保留策略模型和参考模型两份权重(PPO 式 RLHF 通常需同时维护策略、参考、奖励、价值四个模型),整体算力和显存开销显著低于 RLHF。

把 RLHF 和 DPO 放在同一张流水线图里,对比会非常直观:DPO 不是“更温和的 RLHF”,而是直接删掉了奖励模型拟合和 PPO 采样环节。

RLHF 与 DPO 对齐流程的结构对比图

图 8-1:RLHF 与 DPO 的训练流水线对照

8.3.3 更多对齐方法

DPO 之后,研究者提出了多种变体和替代方案。它们可以粗略分成三类:

  • 偏好优化损失:KTO(Kahneman-Tversky Optimization)不需要成对偏好数据,只需“好/坏”的二元标注;ORPO(Odds Ratio Preference Optimization)将 SFT 和偏好优化合并为一个阶段。

  • 推理 RL 算法:GRPO(Group Relative Policy Optimization)使用组内标准化优势替代单独的价值网络,公式见 14.6 节;DAPO 和 GSPO 等后续方法进一步改进采样、裁剪和序列级稳定性,服务于长思维链与 MoE 等大规模后训练。

  • AI 反馈与宪法监督:Constitutional AI 是 Anthropic 早于 DPO 提出的 RLAIF/宪法监督流程,用 AI 自身依据原则生成和评估回答,减少对人工标注的依赖;它不是 DPO 的后续变体。

这些方法共同推动了对齐技术向更高效、更自动化的方向发展。

8.3.4 指令层级训练:对抗性 RL 对齐的新方向

上述对齐方法(RLHF、DPO、GRPO 等)主要解决“模型输出是否符合人类偏好”的问题。而随着 LLM 被部署到多角色交互场景(system prompt + developer message + user input + tool output),一个新的对齐维度浮现:当不同优先级的指令发生冲突时,模型应该听谁的?

这就是指令层级(Instruction Hierarchy, IH)问题。IH 定义了严格的信任排序:system ≻ developer ≻ user ≻ tool。训练目标是:低优先级指令仅在与高优先级约束兼容时才被遵从,否则被忽略。

为什么传统对齐方法不够

标准的 RLHF/DPO 训练使用的偏好数据通常来自单一角色的问答场景,不涉及多角色指令冲突。这导致即使经过充分对齐的模型,在面对精心构造的 prompt injection(如用户在输入中伪造 system message)时仍然脆弱。此外,IH 问题的评判具有特殊性:

  • 冲突的边界模糊:同一请求可能既有合理成分又有越权成分,需要模型精确判断

  • LLM 判官不可靠:用另一个 LLM 来评判 IH 遵从情况容易引入 reward hacking

  • 过度拒绝陷阱:模型可能学到“遇到密码类话题就拒绝”等捷径,损害正常功能

IH-Challenge 的训练方案

OpenAI 在 2026 年提出的 IH-Challenge 数据集通过三个设计原则解决上述问题:

确定性评分器:每个训练任务附带 Python 评分代码(而非 LLM 判官),从根本上消除 reward hacking 中的标签噪声。例如,一个任务的系统指令要求“回复中必须包含 kiwi”,评分器只需检查输出是否包含该词——即使攻击者如何混淆低优先级消息,评分标准始终确定。

在线对抗样本生成:训练中使用一个冻结的攻击者模型实时为每个任务骨架生成对抗性的低优先级冲突消息。攻击者通过“提出→评估→修改”的循环不断进化攻击策略,而防御者模型通过 RL 策略梯度更新来提升鲁棒性。这种“攻防共进化”比静态数据集上的训练泛化性更强。

多任务族防过拟合:数据集包含四类任务——单约束、多约束组合、输入条件匹配、以及专门的反过度拒绝任务。反过度拒绝任务将正常请求改写为“看起来像攻击”的形式,训练模型不因表面相似性而错误拒绝。

训练效果

在 GPT-5-Mini 上的 IH-Challenge RL 微调显示,IH 鲁棒性在 16 个 in-distribution 和 out-of-distribution 基准上平均提升 +10.0%,同时在数学(AIME 2024)和科学(GPQA Diamond)等通用能力评测上几乎无退化。以下为其公开报告中的快照数字,评测集与设置不同会带来差异,应以官方报告为准;特别值得注意的是:

  • 人类红队攻击鲁棒性从 63.8% → 88.2%(+24.4%)

  • Prompt injection 内部评测从 0.44 → 1.00(完全饱和)

  • 不安全行为率从 6.6% → 0.7%(降低 89%)

  • 过度拒绝指标反而改善(0.79 → 1.00)

这些结果表明,IH 训练是一个重要的对齐信号:它能在相关评测中同时改善安全性、可控性和 prompt injection 鲁棒性,且几乎不损失通用能力。其核心启示是——一部分安全失败来自模型未正确区分指令优先级;但真实系统仍需要工具权限隔离、上下文隔离、网关策略、监控和人工响应等系统级防护,不能只依赖模型训练解决所有安全问题。

最后更新于