跳到主要内容

IPO、KTO、ORPO、SimPO

要解决的问题

DPO 在偏好 噪声大、非二元、无需参考模型 等设定下存在理论或实践短板。2023–2025 涌现多种 DPO 变体:用不同损失形状、去掉 πref\pi_{\text{ref}}、或把 SFT 与偏好合并。本节对比 IPO、KTO、ORPO、SimPO 的动机与适用边界。

核心概念

方法核心改动是否需要 πref\pi_{\text{ref}}
IPO正则化偏好目标,缓解过拟合极端 logit通常需要
KTO从前景理论出发,用 单条 好坏标签可选/弱化
ORPOOdds Ratio + 内嵌 SFT,一步训练不强调独立 ref
SimPO平均 logprob 作隐式奖励,无 ref

IPO(Identity Preference Optimization)

将偏好学习目标改为带 正则 的形式,减轻 DPO 对错误偏好对的 过度置信(Azar et al., 2023)。损失含 (logπθ(ywx)πref(ywx)logπθ(ylx)πref(ylx))2(\log \frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \log \frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)})^2 等项(具体以论文为准),β\beta 解释仍为偏离 ref 的惩罚尺度。

KTO(Kahneman-Tversky Optimization)

利用 前景理论:人类对「损失」更敏感。只需标注「好/坏」单样本 (x,y,±)(x,y,\pm),无需成对 yw,yly_w,y_l,适合 隐式反馈(点赞、完成率)。

ORPO(Odds Ratio Preference Optimization)

在 SFT 损失上增加 odds ratio 项,使 winner 相对 loser 的 odds 提升:

LORPOLSFT+λLOR\mathcal{L}_{\text{ORPO}} \approx \mathcal{L}_{\text{SFT}} + \lambda \mathcal{L}_{\text{OR}}

领读:ORPO。适合 想省阶段 的团队(SFT+DPO 合一)。

SimPO(Simple Preference Optimization)

用序列 平均 log 概率 1ylogπθ(yx)\frac{1}{|y|}\log\pi_\theta(y|x) 作奖励代理,配合 margin loss:

LSimPOlogσ(γ(logπθ(ywx)ywlogπθ(ylx)yl)m)\mathcal{L}_{\text{SimPO}} \propto -\log\sigma\Big(\gamma \big(\tfrac{\log\pi_\theta(y_w|x)}{|y_w|} - \tfrac{\log\pi_\theta(y_l|x)}{|y_l|}\big) - m\Big)

πref\pi_{\text{ref}},省显存;mm 为 margin 超参。

方法 / 选型简图

工程实践

方法实践提示
IPO噪声标注集可优先试;仍要调 β\beta
KTO清洗单标签偏见(只收集差评会导致悲观策略)
ORPO注意 λ\lambda 与 SFT 数据是否同一批
SimPO长回复平均 logprob 需 长度归一 意识

实现:trl 部分版本支持 DPO/IPO;ORPO/SimPO 见 Axolotl、社区 recipe。

代表工作

  • Azar et al., 2023 — IPO.
  • Ethayarajh et al., 2024 — KTO.
  • Hong et al., 2024 — ORPO领读).
  • Meng et al., 2024 — SimPO.

局限与注意点

  • 基准对比论文 数据集与 β\beta 不齐,社区 leaderboard 需谨慎解读。
  • 无 ref 方法在 强 SFT 基座已很好 时增益可能有限(个人理解)。
  • 尚未完全取代 DPO 成为默认;大厂配方未统一公开。

相关章节