基于人类反馈的强化学习 (RLHF) 已成为将大型语言模型 (LLM) 与人类意图对齐的标准方法。虽然基于 PPO 的传统流程行之有效,但其计算成本高昂且不够稳定。直接偏好优化 (DPO) 的出现改变了这一格局,它将语言模型本身视为奖励模型,显著简化了对齐过程。
然而,DPO 并非完美无缺。机器学习中的标准直觉是关注“困难”样本——即模型犯错的案例。DPO 的损失函数本质上会赋予那些模型错误地将拒绝回复排在被选回复之前的偏好对更高的权重。
但如果这种直觉在 LLM 对齐中是错误的呢?最近的研究表明,DPO 很难修正这些“困难”的错误排序对,这实际上浪费了训练周期。
在这篇文章中,我们将探讨由 Liu 等人提出的 FocalPO , 这是一种从根本上反转逻辑的新方法。FocalPO 不再纠结于错误,而是明确地降低这些令人困惑的样本对的权重,并优先增强模型对它已经能正确排序的样本对的理解。我们将深入探讨这种反直觉方法背后的数学原理,推导梯度的行为,并查看实证结果。
背景: DPO 的现状
要理解 FocalPO,我们首先必须回顾直接偏好优化 (DPO) 的机制。
在典型的偏好数据集 \(\mathcal{D}\) 中,我们有三元组 \((x, y_w, y_l)\),由提示词 \(x\)、胜出的回复 \(y_w\) 和落败的回复 \(y_l\) 组成。我们假设这些偏好遵循 Bradley-Terry 模型,该模型假设一个回复优于另一个回复的概率取决于它们潜在奖励的差异。

在这里,\(r^*(x, y)\) 代表真实奖励。DPO 利用一个数学技巧,用最优策略 \(\pi^*\) 和参考策略 \(\pi_{\text{ref}}\) 来表达这个奖励。这使我们可以直接在偏好数据上训练模型,而无需单独的奖励模型。
DPO 的目标函数试图最大化偏好选项的似然度:

在这个方程中,\(\beta\) 是控制偏离参考模型程度的超参数。
DPO 关注点的问题
如果我们分析 DPO 损失的梯度,我们会发现它赋予了那些模型隐含奖励估计不正确 (即模型目前认为失败者比胜利者更好) 的样本对更高的权重。
理论上,这很有道理: 你想从错误中学习。然而,在经验上,LLM 偏好数据通常充满噪声,一些“困难”的负样本可能是异常值,或者本质上就令人困惑。最近的研究 (Chen et al., 2024) 表明,尽管 DPO 强调了这些情况,但模型很少能改进它们。梯度更新试图强迫模型纠正这些排序,但模型难以做到,这可能会以牺牲整体性能为代价。
核心方法: FocalPO
研究人员介绍了 FocalPO , 这是一种受计算机视觉目标检测中著名的“Focal Loss (焦点损失) ”启发的方法。
反转 Focal Loss
在计算机视觉中,Focal Loss 旨在解决类别不平衡问题 (例如,数百万个背景像素与少数目标像素) 。它在交叉熵损失中添加了一个调节因子 \((1-p)^\gamma\)。如果模型很自信 (\(p \approx 1\)) ,则项 \((1-p)\) 将接近于零,从而降低损失权重。这迫使模型专注于它信心不足的“困难”样本。
FocalPO 采用了这一概念,但反转了目标 。 因为 LLM 训练中的“困难”偏好对通常是嘈杂的或不可学习的,FocalPO 旨在减少它们的影响。
提出的损失函数为:

这里,\(p(y_w \succ y_l \mid x)\) 是模型分配给正确排序的概率。调节因子是 \(p^\gamma\) (或者是推导中特定的负幂近似,为优化简化为 \(p^\gamma\)) 。
让我们可视化传统的 Focal Loss (针对困难样本) 与调整后的 FocalPO (针对简单/正确样本) 之间的区别。

- 左图 (原始 Focal Loss) : 随着概率 \(p\) 增加 (模型正确) ,损失迅速降至零。它忽略了简单的样本。
- 右图 (FocalPO) : 调节因子 \(p^\gamma\) 的作用不同。当模型正确时 (\(p\) 很大) ,该因子接近 1,意味着损失保持标准状态。当模型错误时 (\(p\) 很小) ,该因子接近 0,有效地屏蔽了该样本的损失。
梯度分析: 钟形曲线
要真正理解这对训练的影响,我们需要查看梯度。梯度告诉我们根据特定的训练样本,模型参数 \(\theta\) 应该改变多少。
首先,让我们看看标准 DPO 的梯度:

项 \(\sigma(\hat{r}_\theta(y_l) - \hat{r}_\theta(y_w))\) 本质上是在说: “如果失败者的奖励高于胜利者 (错误) ,则增大此梯度更新。”
现在,将其与 FocalPO 的梯度进行比较:

FocalPO 梯度引入了涉及 \(\sigma^\gamma\) 和 \(\log \sigma\) 的额外项。这种数学上的复杂性导致了关于如何为不同类型的错误分配权重的非常具体的行为。
我们可以可视化这些梯度来清楚地看到其行为:

- 蓝色虚线 (DPO) : 当奖励差异为负 (模型错误) 时,权重最高。模型错得越离谱,它推动得越用力。
- 黑色实线 (FocalPO) : 注意这个钟形形状。
- 最左侧 (非常错误) : 梯度权重降至接近零。FocalPO 基本上放弃了这些“无可救药”或嘈杂的数据点。
- 最右侧 (非常自信) : 权重很低,因为模型已经学会了这些。
- 中左侧 (不确定/稍微错误) : 曲线的峰值位于决策边界附近。
这种“钟形”梯度分布是秘诀所在。FocalPO 鼓励模型从奖励差接近于零 (“边界”情况) 或稍微正确的配对中学习,同时避免受到那些极其困难 (可能是由于数据噪声) 或已经完全掌握的样本的过度影响。
实验与结果
作者使用 Mistral-Base (7B) 和 Llama-3-Instruct (8B) 对比了 FocalPO 与 DPO 及其多种变体 (KTO, ORPO, SimPO) 。他们使用 UltraFeedback 数据集进行了训练。
主要基准测试
模型在 Alpaca Eval 2.0 (由 GPT-4-Turbo 评判的模拟聊天机器人竞技场) 和 Arena-Hard (一组由 GPT-4 评判的挑战性提示词) 上进行了测试。
| 方法 | Llama-3 (Alpaca 胜率) | Llama-3 (Arena 胜率) | Mistral (Alpaca 胜率) | Mistral (Arena 胜率) |
|---|---|---|---|---|
| DPO | 47.5 | 20.6 | 18.6 | 16.4 |
| SimPO | 47.5 | 21.5 | 21.4 | 17.0 |
| FocalPO | 49.8 | 22.5 | 20.1 | 17.1 |
FocalPO 始终优于标准 DPO。值得注意的是,它在大多数指标上也优于 SimPO (简单偏好优化) 。这一点很重要,因为 SimPO 需要移除参考模型并添加长度归一化项;而 FocalPO 仅通过修改损失权重就取得了优异的结果,保持了标准架构。
聚焦正确 vs. 聚焦错误
为了验证“聚焦正确排序比聚焦错误排序更好”这一假设,作者进行了一项对照实验。他们比较了:
- DPO: 标准基线。
- FocalPO (Incorrect): 增加困难负样本的权重 (类似于计算机视觉的 Focal Loss) 。
- FocalPO (Correct): 增加正确排序的权重 (本文提出的方法) 。
这几种策略之间的梯度焦点差异如下图所示:

消融研究的结果非常明显:

如图 1 所示,聚焦于错误样本的策略 (最左侧的柱子) 实际上比标准 DPO 的性能还要差。相反,聚焦于正确样本 (最右侧的柱子) 提供了显著的提升。这从经验上证实了,对于 LLM 偏好对齐,强化模型做对的地方 (或即将做对的地方) 比强迫它修正深刻的错误认知更有效。
质量提升
论文强调,FocalPO 不仅提高了胜率,还提高了推理质量。在一个例子中,模型被问到: “绕地球走一圈需要多长时间?”
- DPO 模型: 纯粹基于周长除以步行速度计算,结果是 335 天 。 它忽略了睡眠、休息和地形。
- FocalPO 模型: 考虑了每天步行 8 小时、地形和后勤,估算大约 1,002 天 。
这个答案与 OpenAI 的 o1 和 GPT-4 等推理模型的答案更加一致,表明 FocalPO 提供的“更干净”的梯度信号使模型在对齐过程中能更好地保留推理能力。
结论
FocalPO 为偏好优化的标准直觉提供了一个令人信服的修正。Liu 等人认识到 LLM 偏好数据可能充满噪声,且“困难”负样本往往对训练产生反作用,因此设计了一种能策略性转移焦点的损失函数。
FocalPO 的“钟形曲线”梯度有效地过滤了高度困惑配对的噪声和高度自信配对的冗余,为训练创造了一个“最佳区域 (Goldilocks zone) ”。结果是模型能更好地与人类偏好对齐,而无需复杂的架构更改或额外的奖励建模。
对于 NLP 学生和从业者来说,FocalPO 展示了批判性分析损失地形的重要性。它提醒我们,从其他领域 (如计算机视觉的 Focal Loss) 引入的方法,通常需要在语言建模的语境下进行根本性的反转才能奏效。
](https://deep-paper.org/en/paper/2501.06645/images/cover.png)