DPO

分类: 训练优化

DPO (Direct Preference Optimization)

定义

一种无需显式训练奖励模型的偏好对齐方法,直接利用人类偏好数据优化语言模型策略

数学形式

LDPO(πθ;πref)=E(x,yw,yl)D[logσ(βlogπθ(ywx)πref(ywx)βlogπθ(ylx)πref(ylx))]\mathcal{L}_{\text{DPO}}(\pi_\theta; \pi_{\text{ref}}) = -\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \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) \right]

ywy_w:人类偏好的”赢”回答;yly_l:被拒绝的”输”回答

πref\pi_{\text{ref}}:参考策略(通常是 SFT 模型);β\beta:温度参数

核心要点

将 RLHF 中的奖励建模 + PPO 两阶段简化为单阶段优化

利用 Bradley-Terry 模型推导出闭式损失函数,避免了在线采样和价值函数训练

相比 PPO 更稳定、更高效,但可能在 exploration 能力上有所不足

广泛用于 LLM 对齐(ChatGPT 后续模型、LLaMA 系列微调等)

代表工作

Rafailov et al., 2023: 提出 DPO 方法

Bielik-Minitron-7B: 压缩后使用 DPO 做对齐训练

相关概念

GRPO

知识蒸馏