7.4 DPO 与直接偏好优化


文档摘要

7.4 DPO 与直接偏好优化 RLHF 虽然效果显著,但训练流程复杂、成本极高——需要同时维护 4 个大模型(policy、reference、RM、critic),调参困难,显存爆炸。DPO(Direct Preference Optimization,直接偏好优化) 是 2023 年斯坦福提出的简化方案,绕过 RM,直接从偏好数据优化策略。本节梳理 DPO 的原理与工程价值。 一、DPO 的动机:简化 RLHF RLHF 的三步流程: 每一步都有挑战: SFT:相对简单 RM:需要单独训练一个标量输出模型 PPO:训练不稳定,需要 4 个模型同时跑,显存爆炸 DPO 的核心洞察:可以跳过 RM 训练和 PPO 优化,直接从偏好数据推导最优策略。

7.4 DPO 与直接偏好优化

RLHF 虽然效果显著,但训练流程复杂、成本极高——需要同时维护 4 个大模型(policy、reference、RM、critic),调参困难,显存爆炸。DPO(Direct Preference Optimization,直接偏好优化) 是 2023 年斯坦福提出的简化方案,绕过 RM,直接从偏好数据优化策略。本节梳理 DPO 的原理与工程价值。

一、DPO 的动机:简化 RLHF

RLHF 的三步流程:

SFT → RM → RL(PPO)

每一步都有挑战:

  • SFT:相对简单
  • RM:需要单独训练一个标量输出模型
  • PPO:训练不稳定,需要 4 个模型同时跑,显存爆炸

DPO 的核心洞察:可以跳过 RM 训练和 PPO 优化,直接从偏好数据推导最优策略。这一数学洞察让 DPO 的训练流程变成:

SFT → DPO(直接基于偏好对训练)

只比 SFT 多一步,工程门槛大幅降低。

二、DPO 的数学推导(简化版)

DPO 的数学推导有点精妙,我们尽量用直觉解释。

起点:RLHF 的目标

RLHF 实际上在解这样一个优化问题:

\max_\pi \mathbb{E}_{x \sim D, y \sim \pi(\cdot|x)}[r(x,y)] - \beta \cdot \text{KL}(\pi(\cdot|x) \| \pi_\text{ref}(\cdot|x))

含义:最大化奖励 r 的同时,不让新策略 \pi 偏离参考策略 \pi_\text{ref}(即 SFT 模型)太远

关键洞察:最优策略有闭式解

这个优化问题有解析解:

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

其中 Z(x) 是归一化常数。

把这个式子反过来,可以用策略表示奖励

r(x,y) = \beta \log \frac{\pi(y|x)}{\pi_\text{ref}(y|x)} + \beta \log Z(x)

代入偏好损失

把 RM 的偏好损失 \mathcal{L}_\text{RM} = -\log \sigma(r(x,y_w) - r(x,y_l)) 中的 r 用上面的表达式替换:

r(x,y_w) - r(x,y_l) = \beta \log \frac{\pi(y_w|x)}{\pi_\text{ref}(y_w|x)} - \beta \log \frac{\pi(y_l|x)}{\pi_\text{ref}(y_l|x)}

注意 \log Z(x) 在相减中抵消了!

最终得到 DPO 损失

\boxed{\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)}

其中:

  • \pi_\theta:正在训练的策略(DPO 模型)
  • \pi_\text{ref}:参考策略(SFT 模型,冻结)
  • y_w:偏好排序中更好的回答
  • y_l:较差的回答
  • \beta:温度参数,控制偏离程度

三、DPO 的直觉解释

DPO 损失的含义:

  • \pi_\theta好回答 y_w 的概率相对 \pi_\text{ref} 提升
  • \pi_\theta差回答 y_l 的概率相对 \pi_\text{ref} 下降
  • 「相对」很重要——不是绝对概率,而是与 SFT 的比值

直觉上,DPO 在做「双向调整」:

  • 好的回答:比 SFT 更可能生成
  • 差的回答:比 SFT 更不可能生成
  • 中性的回答:基本不变

这种调整通过 sigmoid 软化,避免极端更新。

四、DPO vs RLHF:流程对比

工程优势对比

维度 RLHF (PPO) DPO
需要训练 RM
训练阶段模型数 4(policy + ref + RM + critic) 2(policy + ref)
显存占用 极高 中等
训练稳定性 不稳定 稳定
超参敏感度
实现复杂度
效果 略好(理论上限高) 接近 RLHF
训练速度 快(与 SFT 相当)

DPO 的核心价值是让中小团队也能做对齐——单机 8 卡就能跑 DPO,而 RLHF 通常需要集群。

五、DPO 在多模态中的适配

DPO 应用到多模态,主要改动是输入扩展到含图

输入: [图像] + [指令] + [回答 A (好)] / [回答 B (差)] DPO 损失: 提升 π(A | 图像+指令) / π_ref(A | 图像+指令) 降低 π(B | 图像+指令) / π_ref(B | 图像+指令)

偏好数据格式:

{ "图像": <猫的图>, "指令": "图中有几只猫?", "chosen": "图中有两只猫", ← 正确回答 "rejected": "图中有三只猫" ← 幻觉回答 }

用这种数据训练,模型会降低幻觉概率,提升准确性。

六、DPO 在多模态中的代表工作

LLaVA-DPO

LLaVA 团队用 DPO 减少幻觉:

  • 构造「正确描述 vs 幻觉描述」偏好对
  • DPO 训练 LLaVA
  • 在 POPE 等基准上幻觉率显著下降

RLAIF-V

用 AI 反馈(GPT-4V 当裁判)生成偏好数据,然后做 DPO。绕过人类标注成本。

mPLUG-Owl3

阿里的多模态模型大量使用 DPO 进行对齐,特别在中文场景。

Silkie / VLFeedback

专门为多模态设计的 DPO 数据集与方法,用 GPT-4V 自动生成偏好对。

MiniCPM-V

面壁智能的端侧多模态模型用 DPO 提升对齐质量,在小模型上效果显著。

七、DPO 的超参与调参

DPO 训练的超参相对少:

关键超参:β(温度)

β 控制「偏离 SFT 的程度」:

  • β 大:偏离少,对齐效果弱,但保留 SFT 能力
  • β 小:偏离多,对齐效果强,但可能破坏 SFT 能力

典型值:0.01-0.5。LLaVA-DPO 用 0.1 左右。

其他超参

  • 学习率:通常比 SFT 小(如 5e-7)
  • Batch size:与 SFT 相当
  • Epoch:通常 1-3(避免过拟合)
  • β 调度:有些工作让 β 从大到小动态变化

八、DPO 的变体

DPO 出现后,社区提出了一系列变体:

IPO(Identity Preference Optimization)

解决 DPO 在数据充分时过拟合的问题,加入正则项。

KTO(Kahneman-Tversky Optimization)

不要求成对偏好数据,只用「好/坏」二元标签:

原 DPO: 需要 (chosen, rejected) 对 KTO: 只需要 (response, good/bad)

数据采集更简单。

SimPO

去掉参考模型 \pi_\text{ref},进一步简化:

DPO: 需要 ref 模型计算 ratio SimPO: 不需要 ref,直接用 length-normalized log-prob

更省显存。

ORPO

把 SFT 与 DPO 合并为单阶段训练。

DPO 在多模态中的扩展

如 V-DPO、mDPO 等专门为视觉场景设计,处理视觉 token 的偏好优化。

九、DPO 的局限

虽然 DPO 简化了 RLHF,但它也有局限:

局限一:上限略低于 RLHF

理论上 RLHF 的 PPO 优化能找到更优策略,DPO 是其简化版本。在充分数据与算力下,RLHF 上限更高。

局限二:依赖 SFT 质量

DPO 在 SFT 基础上调整,SFT 不好 DPO 也救不回来。

局限三:偏好数据仍是瓶颈

DPO 简化了训练,但仍需要偏好数据。多模态偏好数据采集成本仍然高。

局限四:难以处理细粒度偏好

DPO 对整体偏好(A 整体比 B 好)有效,但对细粒度偏好(A 在准确性上比 B 好,但 B 在流畅性上比 A 好)效果有限。

局限五:分布外泛化弱

DPO 在训练分布内效果好,但分布外(未见过的任务、领域)泛化能力较弱。

十、选 RLHF 还是 DPO

根据你的情况选:

你的情况 推荐
大公司,充足算力与数据 RLHF(理论上限高)
中小团队,算力有限 DPO(工程简单)
想快速实验对齐效果 DPO(迭代快)
追求极致效果 RLHF + DPO 组合
减少幻觉 DPO(足够好)
多目标对齐 RLHF(更灵活)

实践中,DPO 已成为开源社区对齐的事实标准。LLaVA、Qwen-VL、InternVL、MiniCPM-V 等大量模型都使用 DPO 或其变体。

十一、当代多模态大模型的对齐实践

训练流程的标准化

当代多模态大模型的训练流程已基本标准化为「三段式」:

预训练 → SFT → 对齐 (DPO 或 RLHF)

例如 LLaVA-NeXT 的训练:

  1. 阶段一:CC3M 等字幕数据训练投影器
  2. 阶段二:100 万+ 指令数据做 SFT
  3. 阶段三:偏好数据做 DPO(可选)

对齐数据的演化

当代对齐数据来源:

  • 人类标注:高质量但昂贵(如 Anthropic 的 hh-rlhf)
  • GPT-4V 生成:用 GPT-4V 给同一图生成多个回答,按质量排序
  • AI 反馈(RLAIF):用 GPT-4 当裁判
  • 真实用户对话:从用户交互中收集偏好(如 ChatGPT 的 thumbs up/down)

多模态对齐的特殊性

相比纯文本对齐,多模态对齐的特殊关注点:

  • 准确性优先:防止幻觉是最重要的目标
  • 安全性:避免描述暴力、隐私等内容
  • 跨文化:不同文化对图像的解读不同
  • 隐私保护:避免识别人脸、车牌等

十二、对齐的未来

对齐研究仍在快速演化:

趋势一:从人类反馈到 AI 反馈

RLAIF、Constitutional AI 等让 AI 自己批评自己,降低对人类标注的依赖。

趋势二:从结果对齐到过程对齐

PRM(Process Reward Model)不只奖励最终回答,还奖励推理过程。适合数学、推理任务。

趋势三:个性化对齐

不同用户偏好不同(详细 vs 简洁、正式 vs 随意)。未来模型可能支持「个性化对齐」——根据用户调整对齐策略。

趋势四:多模态原生对齐

不再分别对齐文本与图像,而是联合优化所有模态的偏好。GPT-4o、Gemini 等原生多模态模型正在探索这一方向。

小结

DPO 用一个数学洞察绕过 RM 与 PPO,让对齐训练从「集群级 RLHF」简化为「单机即可 DPO」。它已成为开源社区对齐的事实标准,在多模态场景中广泛用于减少幻觉、提升回答质量。RLHF 在理论上限上仍略高,但 DPO 的工程价值让对齐能力普及到中小团队。当代多模态大模型的训练流程已标准化为「预训练 → SFT → DPO」三段式。

下一节(7.5)速览 LLaVA-NeXT、mPLUG-Owl3、MiniCPM-V 等当代对齐方法的 SOTA 实践。


发布者: 作者: 渗透测试失败者的小龙虾 转发
评论区 (0)
U