人类反馈强化学习 (RLHF) 是现代大语言模型 (LLM) 革命背后的秘诀。正是这一过程将原始的文本预测模型转变为了像 ChatGPT、Claude 或 Gemini 这样乐于助人的助手。

RLHF 的标准配方已经确立多年: 选取一个预训练模型,收集人类偏好 (例如,“回答 A 比回答 B 好”) ,训练一个奖励模型,然后使用一种称为 PPO (近端策略优化) 的算法来优化语言模型。

但问题在于,PPO 以不稳定、难以调优和效率低下而闻名。为什么?因为在标准框架中,模型生成一整段话,然后 在最后收到一个单一的“分数” (奖励) 。这就好比参加了一场 50 道题的考试,最后只得到一个“C-”的成绩,却不知道自己做错了哪道题。

一篇名为 “DPO Meets PPO: Reinforced Token Optimization for RLHF” 的新论文正面解决了这一瓶颈。研究人员提出了一种名为 强化 Token 优化 (Reinforced Token Optimization, RTO) 的新框架。他们的方法改变了游戏规则,不再将 RLHF 视为具有稀疏奖励的“老虎机”问题,而是将其视为具有 密集 Token 级奖励 的马尔可夫决策过程 (MDP)。

通过巧妙地结合流行的直接偏好优化 (DPO) 方法与 PPO,他们创建了一个系统,在该系统中,模型每生成 一个单词 就能获得反馈。结果如何?模型学习速度更快,所需数据更少,并且显著优于标准基线。

在这篇文章中,我们将剖析为什么 Token 级奖励更优越的数学原理,RTO 如何使用 DPO 提取这些奖励,以及这种混合方法所取得的令人印象深刻的结果。

瓶颈: 作为老虎机问题的 RLHF

要理解 RTO 的创新之处,我们首先需要看看 RLHF 通常是如何形式化的。

在经典设置 (如 InstructGPT、Llama 2 等使用的设置) 中,流程如下:

  1. 提示 (Prompt): 环境给模型一个提示 \(x\)。
  2. 动作 (Action): 模型生成一个完整的响应 \(y\) (一串 Token 序列) 。
  3. 奖励 (Reward): 基于人类数据训练的奖励模型查看 整个 响应 \(y\),并分配一个标量分数 \(r(x, y)\)。

从数学角度来看,这是将问题建模为 上下文老虎机 (Contextual Bandit) 。 这里的“动作”是整个句子。环境在一个动作之后立即转换到终止状态。

老虎机形式化的问题在于 稀疏性 (Sparsity) 。 PPO 算法试图找出哪些具体的 Token 导致了高奖励,但信号仅在最后才给出。标准实现将奖励分配给最后一个 Token,并给所有中间 Token 分配零奖励 (除了一个小的正则化惩罚) 。

这就产生了“信用分配”问题。如果模型写了一段漂亮的段落,但在最后犯了一个事实性错误,整句话可能会得到一个低分。模型很难理解前 90% 其实是好的。

解决方案: 作为 MDP 的 RLHF

这篇论文的作者认为,文本生成应被建模为 马尔可夫决策过程 (MDP)

在 MDP 中:

  • 状态 (State): 当前提示加上迄今为止生成的所有 Token (\(x, y_{1:h-1}\))。
  • 动作 (Action): 下一个单个 Token (\(y_h\))。
  • 奖励 (Reward): 在生成该 Token 后 立即 收到的特定奖励 (\(r_h\))。

这种转变允许获取 细粒度的 Token 级信息 。 模型不再等待句子结束,而是在每一步都接收到“好 Token”或“坏 Token”的信号。

图 1: 在 RLHF 的 MDP 框架中,RTO 使用 DPO 推导出一个 Token 级的奖励函数,然后应用 PPO 来增强它。这种方法与传统的 RLHF 过程有显著不同,后者在 RLHF 的老虎机框架下使用 PPO 来改进句子级奖励。

图 1 所示,区别是结构性的。左侧 (标准 PPO) 奖励是最后的一块。右侧 (RTO) 奖励在整个生成过程中连续流动。

理论洞察: 为什么密集奖励更好

在深入算法之前,作者提供了一个令人信服的理论理由,解释了为什么逐 Token 奖励优于逐句奖励。他们用 样本复杂度 (sample complexity) 来阐述这一点——本质上是指你需要多少训练样本才能找到最优策略。

想象一下,模型试图从大小为 \(A\) (比如 2 个可能的词) 的词表中生成长度为 \(H\) (比如 3 个 Token) 的序列。

  • 句子级 (稀疏) : 你生成整个序列,得到一个分数,然后重试。你必须探索完整句子的组合。
  • Token 级 (密集) : 你在每个 Token 后得到反馈。如果第一个 Token 不好,你 立即 知道任何以该 Token 开头的句子都是次优的。你可以修剪掉“可能性之树”的整个分支。

作者证明了一个定理,指出在句子级奖励下,样本复杂度随 \(A^H\) (序列长度的指数级) 扩展。然而,在 Token 级奖励下,复杂度显著下降,随 \(A^{min(\xi+1, H)}\) 扩展,其中 \(\xi\) 与最佳 Token 的“明显程度”有关。

图 2: 我们针对 Token 级奖励设置的高效学习算法示意图。如果选择了一条非最优路径,导致错误的特定节点会被识别出来,所有包含该节点的路径都可以被删除。与句子级反馈相比,这大大减少了所需的样本数量。

图 2 完美地展示了这一点。它将可能的响应空间表示为一棵树。

  • 密集奖励 设置中 (如图所示) ,如果模型选择了一个次优 Token (红色节点) ,它会立即收到负反馈。它可以有效地“修剪”源自该错误的所有未来分支。
  • 稀疏奖励 设置中,模型必须一直遍历到每个路径的叶节点 (底部) ,才能意识到它们是错误的。

这一理论洞察解释了 为什么 RTO 效率如此之高: 它阻止了模型浪费时间去探索那些几步前就已经出错的路径。

核心方法: 强化 Token 优化 (RTO)

我们知道我们 想要 Token 级奖励。但我们从哪里得到它们呢?人类标注员会对完整的句子进行排序;他们不会坐在那里给模型输出的每一个“的”、“和”或“猫”打分。

这就是“DPO 遇上 PPO”魔法发生的地方。

第一步: 通过 DPO 提取隐式奖励

直接偏好优化 (DPO) 是一种流行的算法,通常完全绕过奖励建模。然而,DPO 背后的数学原理表明,优化后的策略隐式定义了一个奖励函数。

作者推导出,对于一个 DPO 训练出的策略 \(\pi_{dpo}\),最优的 Token 级奖励 \(r^*\) 与 DPO 策略和参考策略 (原始 SFT 模型) 之间的对数比率成正比。

从数学上讲,给定上下文 \(x, y_{1:h-1}\),特定 Token \(y_h\) 的“隐式”奖励为:

\[ r^*(s_h, a_h) \approx \beta \log \frac{\pi_{dpo}(y_h \mid x, y_{1:h-1})}{\pi_{ref}(y_h \mid x, y_{1:h-1})} \]

这是一个深刻的认识。即使 DPO 是基于句子级偏好 (A 对比 B) 训练的,得到的模型 (\(\pi_{dpo}\)) 也包含细粒度的、Token 级的知识。如果 \(\pi_{dpo}\) 分配给某个 Token 的概率远高于参考模型 \(\pi_{ref}\),那么该 Token 很可能带有高奖励。

第二步: 构建 RTO 奖励

RTO 使用这种隐式值来为 PPO 训练构建一个密集的奖励函数。RTO 不再是一个除结尾外全为零的稀疏信号,而是为 每个 Token 分配奖励。

算法中使用的实际奖励函数,记为 \(r_{rto}\),是 DPO 信号和当前策略偏差的混合,外加最后的句子级修正。

RTO 奖励函数公式。它为每一步 h 定义了一个密集奖励。对于中间步骤,它使用 DPO 策略与参考策略的对数比率。在最后一步 H,它加上了句子级的 MLE 奖励。

让我们分解这个方程 (如上图所示) :

  1. 密集信号 (\(\beta_1 \dots\)): 对于每个 Token \(h\),奖励包含 \(\beta_1 \log \frac{\pi_{dpo}(...)}{\pi_{ref}(...)}\)。这是来自 DPO 模型的“指导”。如果 DPO 模型认为某个 Token 是好的,PPO 智能体立即获得正奖励。
  2. 约束 (\(\beta_2 \dots\)): 它减去了一个与 当前 策略 \(\pi\) 相关的项,以保持稳定性 (类似于标准的 KL 惩罚) 。
  3. 稀疏信号 (\(\beta_3 \cdot r_{MLE}\)): 在最后一个 Token (\(h=H\)),他们添加了传统的句子级奖励 (\(r_{MLE}\)),该奖励源自标准的奖励模型。这确保了模型不会忽视密集奖励有时可能遗漏的总体目标 (例如,适当的长度、连贯性) 。

第三步: PPO 训练

有了这个新的 \(r_{rto}\) 函数,训练将使用标准的 PPO 算法进行。然而,智能体的体验截然不同。

  • 标准 PPO: 智能体生成一个 100 个 Token 的句子。它得到 99 个零和一个 +2.0 的奖励。
  • RTO: 智能体生成一个 100 个 Token 的句子。它得到一连串的奖励: +0.1, +0.2, -0.05, +0.3… 最终汇总成一个总值。

这种密集的信号降低了梯度估计的方差,使 PPO 更稳定,并允许其学习得更快。

实验与结果

作者在标准的高质量基准测试上评估了 RTO: AlpacaEval 2 (衡量有用性和指令遵循能力) 和 Arena-Hard (模仿 Chatbot Arena 的高难度基准测试) 。他们使用 Llama-3-8B 作为基础模型。

基线包括:

  • SFT: 仅监督微调。
  • DPO: 标准直接偏好优化。
  • PPO: 标准稀疏奖励 PPO。
  • SimPO, TDPO, R-DPO: 其他先进的偏好学习方法。

基准测试表现

结果是决定性的。RTO 优于所有基线。

表 1: AlpacaEval 2 (AE) 和 Arena-Hard (AH) 的基准测试结果。RTO 在所有指标上均获得最高分,显著优于 PPO 和 DPO。

表 1 所示,RTO 在 AlpacaEval 2 上实现了 27.00% 的长度控制胜率,而 PPO 为 19.47%,DPO 为 17.40%。在 LLM 对齐领域,这是一个巨大的优势。同样,在 Arena-Hard 上,RTO 以 20.3 的得分领先于 PPO 的 16.2。

这证实了添加密集的 Token 级信号可以让 PPO 算法达到稀疏信号根本无法企及的高度。

样本效率: 事半功倍

主要的理论主张之一是 Token 级奖励具有更高的样本效率。实验完美地支持了这一点。

研究人员使用数据集的一小部分 (例如,仅使用可用提示的 1/8) 训练了 PPO 和 RTO。

图 4: RTO 性能分析。图 (c) 特别值得注意,展示了数据扩展行为。RTO (青色线) 在极少数据下就能达到高性能,而 PPO (粉色线) 需要更多数据才能开始改进,并且在较低水平饱和。

请看上面的 图 4(c)

  • 粉色线 (PPO) 在数据有限时表现挣扎。直到拥有大量数据时,它才保持相对平坦。
  • 青色线 (RTO) 几乎立即飙升。仅用 1/8 的数据 , RTO 就已经匹配了在完整数据集上训练的 PPO 的性能。

这种行为与前面讨论的“树剪枝”理论完美契合。因为 RTO 对每个 Token 都能获得反馈,所以它从每个训练样本中榨取的信息比标准 PPO 多得多。

为什么它有效? (消融实验)

作者进行了“消融实验” (移除方法的部分组件以查看什么起作用) 。

  • 粒度 (Granularity): 他们尝试仅在句子结尾分配 DPO 奖励 (像标准 PPO 一样) ,而不是每个 Token。性能显著下降。这证明了奖励的 密度 是关键。
  • 奖励塑形 (Reward Shaping): 他们表明 DPO 奖励起到了“奖励塑形”的作用。它引导了优化景观,平滑了 PPO 通常需要应对的崎岖地形。

结论

RTO 代表了大型语言模型对齐迈出的重要一步。通过弥合直接偏好优化 (DPO) 和近端策略优化 (PPO) 之间的差距,作者解锁了 密集奖励 的力量,且无需昂贵的 Token 级人工标注。

给学生和从业者的主要启示:

  1. 形式化很重要: 将 RLHF 建模为老虎机问题 (稀疏奖励) 限制了性能。将其建模为 MDP (密集奖励) 解锁了效率。
  2. 隐式奖励: 你并不总是需要为每一步都有一个显式的奖励模型。像 DPO 这样的模型隐式包含了这些信息;你只需要知道如何提取它。
  3. 混合方法: 争论通常将 RLHF 框定为“PPO 对比 DPO”。这篇论文表明,最佳解决方案可能是“PPO 加上 DPO”。

随着 RLHF 开源实现的不断成熟,像 RTO 这样的技术很可能会成为标准,帮助我们以更少的数据和计算浪费训练出更智能、更对齐的模型。