近端策略优化

$$ \mathcal{L}^{CLIP}(\theta)=\hat{\mathbb{E}}_t\left[\min\left(r_t(\theta)\hat{A}_t,\text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon)\hat{A}_t\right)\right] $$$$ \hat{A}_t=\sum_{l = 0}^{T-t-1}(\gamma\lambda)^l\delta_{t + l} $$

其中 $\gamma$ 是折扣因子,$\lambda\in[0, 1]$ 是 GAE 参数,而 $\delta_t=r_t+\gamma V(s_{t + 1})-V(s_t)$ 是时序差分 (TD) 误差。此处,$r_t$ 是时间步 $t$ 的奖励,$V(s)$ 是价值函数。由于在 RLHF 中通常将折扣因子设为 $\gamma = 1.0$,为简化表示,我们在本文后续章节中省略了 $\gamma$。

识别并解决 PPO 在长 CoT 任务中的失败模式

在本节中,我们展示 PPO 在长 CoT 任务中的一个常见失败模式,并从理论和实证角度考察其与预训练及训练中价值偏差的关系。随后,我们提出实用的解决方案来改进 PPO,使其能够避免此类失败。

PPO 在长思维链 (CoT) 任务中的失败模式

在从人类反馈中进行强化学习 (Reinforcement Learning from Human Feedback, RLHF) 的领域应用 PPO 时,有两种常见的做法如下:

  • 采用默认的广义优势估计 (Generalized Advantage Estimation, GAE),通常设置 $\lambda = 0.95$。
  • 使用一个训练充分的奖励模型 (reward model) 来初始化价值模型 (value model)。

第一种做法起源于传统的强化学习文献,在这些文献中,PPO 已经在 Mujoco 和 Atari 等环境中得到了广泛的测试。在这些环境中,奖励 (rewards) 会沿着轨迹 (trajectory) 累积,导致回报 (return) 具有高方差。因此,方差缩减 (variance reduction) 变得十分必要。第二种做法则自然地源于奖励模型和价值模型之间的明显相似性,因为这两种模型都被训练用于预测关于响应 (response) 的标量信息 (scalar information)。然而,我们的实验揭示,将 PPO 轻率地应用于需要长思维链 (CoT) 的任务不可避免地会导致失败,具体如图1所示。

image-20250409223149535

通常情况下,失败模式表现为随着训练的开始,验证性能下降,同时伴随着模型输出长度的显著减少。由于已经证明输出长度与模型在复杂推理任务上的性能密切相关,因此输出长度的初始急剧减少可以被认为是这种性能下降的根本原因。

通过价值预训练解决价值初始化偏差

在我们的任务中,验证器作为奖励信号的来源。它使用基于规则的答案解析机制,这种机制不太可能表现出对输出长度的偏好。因此,输出长度的减少只能归因于策略优化动态,这主要是由分配给每个 Token 的优势值驱动的。为了进一步探讨这一点,我们绘制了优势值与 Token 位置之间的相关性图,如图2所示。这揭示了优势值与 Token 位置之间存在强相关性。Token 的位置越靠前,其优势值的正向偏差就越大。这导致模型偏好靠前的 Token,最终导致观察到的输出长度骤减。

image-20250409223231908

$$ \hat{A}_t=\sum_{l = 0}^{T-t-1}\lambda^l (r_{t + l}+ V(s_{t + l + 1})-V(s_{t + l})) \label{eq:gae_computation} $$

这解释了为什么更靠前的标记倾向于在优势计算中表现出更大的正向偏差。由于标记位置和优势之间的这种相关性,模型倾向于生成更短的响应,这阻碍了模型在最终确定答案之前生成长思维链。

为了减轻这种价值初始化偏差,我们引入了价值预训练 (Value-Pretraining)。该方法涉及在预先指定的固定策略下,离线训练价值模型直至收敛。一旦价值模型收敛,它将被用于所有后续的正式实验中。具体步骤概述如下:

  1. 通过从一个固定策略(例如 $\pi_{\text{sft}}$)中采样来持续生成响应,并使用 GAE(其中 $\lambda = 1.0$,也称为蒙特卡洛回报)来更新价值模型。这种设置将优化问题转化为一个稳定的梯度下降优化问题,从而确保对价值模型进行更可靠和一致的更新。
  2. 训练价值模型,直到关键的训练指标,包括价值损失 (value loss) 和解释方差 (explained variance),达到足够低的值。监控这些指标至关重要,因为它们反映了模型学习过程的质量和稳定性;达到低值表明模型正在有效地收敛。
  3. 训练完成后保存价值检查点 (checkpoint)。随后,为后续实验加载此检查点。这一步骤为价值估计提供了一个更准确的初始点,使模型能够从一个经过良好校准的状态开始。

使用解耦 GAE 改进训练中价值估计

$$ V^{\text{target}}(s_t) = \left\{ \begin{array}{ll} \sum_{l = 0}^{T-t-1}\lambda^l (r_{t + l}+ V(s_{t + l + 1})-V(s_{t + l}))+V(s_t) ,& \lambda < 1.0 \\ \sum_{l = 0}^{T-t-1} r_{t + l} ,& \lambda = 1.0 \end{array} \right. $$

根据方程,在 GAE 计算过程中,分配给 <EOS> Token 的奖励在反向传播至先前 Token 时,会以 $\lambda$ 的速率衰减。传播到第 $t$ 个 Token 的奖励信号为 $\lambda^{T-t} r_{}$。当 $T-t$ 很大时,最终的奖励信号基本为零。若 $\lambda = 1.0$,则不会发生此类奖励信号衰减,这使其成为进行价值优化的理想选项。此外,当$\lambda<1.0$ 时,价值预测被整合到回归目标的构建之中。这种方法属于半梯度下降法,往往不够稳定。相反,当$\lambda=1.0$ 时,价值的回归目标是累积奖励,从而实现稳定的梯度下降优化。

在图3中,我们展示了当 $λ < 1.0$ 时,奖励信号在传播过程中迅速衰减,前面的token无法接收到来自奖励模型的信号。这种现象在需要长链式思考(Chain of Thought,CoT)的任务中更为严重,因为轨迹长度明显更长。因此,由于基于人类反馈的强化学习(RLHF)中存在轨迹级别的奖励信号,以无偏的方式优化价值要优于以减少方差的方式学习价值。

image-20250409223441693

$$ \begin{split} \text{Var}[A_t^{\lambda}] &=\text{Var}\left[\sum_{l = 0}^{T-t-1}\lambda^l\delta_{t + l}\right] \\ & =\sum_{l = 0}^{T-t-1}\lambda^{2l}\text{Var}[\delta_{t + l}]+2\sum_{i = 0}^{T-t-1}\sum_{j = i + 1}^{T-t-1}\lambda^{i + j}\text{Cov}[\delta_{t + i},\delta_{t + j}], \end{split} \label{eq:gae_variance_analysis} $$

其中 $\text{Cov}[\delta_{t + i},\delta_{t + j}]$ 是时间步 $t + i$ 和 $t + j$ 处 TD 误差之间的协方差。由于 $\lambda\in[0, 1]$,随着 $\lambda$ 减小,后期 TD 误差的权重 $\lambda^l$ 会更快速地下降。这意味着变化更大且可靠性较低的后期 TD 误差对整体优势估计的贡献减少了,从而降低了优势估计的方差。

$$ G_{t:t + h} = \left\{ \begin{array}{ll} \sum_{l = 0}^{h-1} r_{t + l}+\bar{V}(s_{t + h}),& t + h < T \\ \sum_{l = 0}^{T-h} r_{t + l},& t + h = T \end{array} \right. \label{eq:n-step_return_def} $$$$ \begin{split} \mathbb{E}_t \left[\nabla_{\theta}\log \pi_{\theta}(a_t|s_t) A_t \right] &= \mathbb{E}_t \left[\nabla_{\theta}\log \pi_{\theta}(a_t|s_t) \sum_{l = 0}^{T-t-1} \lambda^l (r_{t + l}+\bar{V}(s_{t + l + 1})-\bar{V}(s_{t + l})) \right] \\ &= \mathbb{E}_t \left[\nabla_{\theta}\log \pi_{\theta}(a_t|s_t) \left((1-\lambda)\sum_{l = 1}^{T-t-1} \lambda^{l-1}G_{t:t + l}+\lambda^{T-t-1}G_{t:T}-\bar{V}(s_t)\right) \right] \\ &= \mathbb{E}_t \left[\nabla_{\theta}\log \pi_{\theta}(a_t|s_t) \left((1-\lambda)\sum_{l = 1}^{T-t-1} \lambda^{l-1}G_{t:t + l}+\lambda^{T-t-1}G_{t:T}\right) \right] \\ \end{split} \label{eq:gae_bias_derivation} $$

基于公式,代入任意值函数不会给策略梯度引入额外的偏差。考虑到大语言模型需要大量的时间和计算资源,因此期望使用较小的 $\lambda$ 来加速策略的收敛。一个可能的配置是 $\lambda_{\text{policy}} = 0.95$ 和 $\lambda_{\text{value}} = 1.0$。

通过结合 Value-Pretraining 和 Decoupled-GAE,我们提出了 Value-Calibrated Proximal Policy Optimization (VC-PPO),如算法1所示,这是一种简单而有效的方法,可以提高 PPO 在长 CoT 任务中的性能。VC-PPO 和基线 PPO 之间的主要区别已突出显示。

image-20250409225024794

实验

设置

数据集。 为了全面展示我们提出的算法的有效性,我们对美国邀请数学竞赛 (AIME) 问题进行了实验,这些问题通常需要较长的思维链才能解决。测试集由最近两年的 AIME 问题组成。相反,训练集由过去所有 AIME 竞赛的问题组成,并辅以一些人工构建的困难数学问题。为了评估模型的泛化能力,我们同时监控其在典型长思维链 (CoT) 场景(例如通用问答 (GPQA) 和 Codeforces)中的表现。

冷启动。 此阶段旨在增强模型在特定推理格式中的推理能力。我们使用了数十个样本,这些样本的格式要求模型在给出最终答案之前,将其思考过程置于 <think></think> 标签之间。这些样本用于微调 Qwen2.5 32B 模型,我们在实验中使用该模型以获得更好的可重复性。

奖励建模。 我们采用了在数学、代码和逻辑推理等领域中经典推理任务中常用的方法。这种方法利用基于规则的奖励来指导学习过程。在分配奖励分数时,验证器会忽略由 <think> 令牌括起来的思考部分,仅提取答案部分进行评估。正确答案被分配 $1.0$ 的分数,而错误答案则被分配 $-1.0$ 的分数。

RL 基线。 在我们的实验中,我们使用 verl 作为我们的实验框架。 中描述的近端策略优化 (PPO) 算法作为基线,默认情况下 $\lambda$ 设置为 0.95。策略模型和价值模型的学习率分别设置为 $1\times10^{-6}$ 和 $2\times10^{-6}$。KL 惩罚系数设置为 0,因为基于规则的奖励不能像通用奖励模型那样被破解。我们为不同的目的采用了不同的上下文长度设置 8k 和 16k:16k 设置用于与最先进的结果进行比较,而 8k 设置用于消融研究。

价值预训练。 我们冻结策略模型,并将广义优势估计 (GAE) $\lambda$ 设置为 1.0,以获得无偏回报。其他超参数与基线近端策略优化 (PPO) 的超参数相同。通过保存在价值预训练不同步骤的价值模型,我们可以获得用于强化学习 (RL) 训练的多个初始价值检查点。我们还在实验中对这些检查点进行了消融研究。

解耦-GAE。 由于之前描述的价值振荡和奖励信号衰减,$\lambda_{\text{critic}}$ 设置为 1.0。同时,策略中使用的 $\lambda_{\text{actor}}$ 保持在 0.95,以便与基线 PPO 进行公平比较。随后,我们将 $\lambda_{\text{actor}}$ 的值设置为 0.9 到 1.0 之间,以研究其对策略收敛的影响,而 $\lambda_{\text{critic}}$ 保持在 1.0。

实验结果

我们使用提出的价值校准近端策略优化 (VC-PPO) 算法在 Qwen-32B-Base 模型上进行 RL 训练。然后,我们将我们的模型与已建立的广义近端策略优化 (GRPO) 算法进行比较,该算法在 DeepSeek-R1 模型中使用。该实验利用 16k 上下文长度来实现最先进的性能。结果如表1所示。所提出的 VC-PPO 算法在相同的实验设置下明显优于 GRPO。我们的主要目标是优化模型在奥林匹克级别的数学问题组成的美国邀请数学竞赛 (AIME) 上的性能。因此,大部分训练数据都与数学相关,并且 VC-PPO 在 AIME 数据集上表现出最显著的优势。

image-20250409225208549

据我们所知,在 AIME 数据集上,pass@1 得分为 48.8 是 Qwen-32B-Base 模型在不使用蒸馏技术的情况下所获得的最高性能。该分数超过了 DeepSeek-R1 技术报告中报告的在类似实验设置下 AIME 分数 47.0。训练过程中 AIME 数据集通过率的增加如图4所示。此外,我们已将 VC-PPO 算法部署在我们的内部模型中,该模型已达到 74 的 AIME 分数。

image-20250409225243799

在表2中,我们展示了价值预训练和解耦 GAE 的消融结果。当直接应用近端策略优化 (PPO) 算法时,它无法提高预训练模型的性能。这是因为模型的输出长度崩溃了。相比之下,所提出的价值校准近端策略优化 (VC-PPO) 算法表现出显着的性能提升,突出了其在处理需要长链式推理 (CoT) 的任务中的优越性。此外,当我们通过从 VC-PPO 中删除价值预训练或解耦 GAE 组件来进行消融实验时,性能会显着下降。这种下降强调了价值预训练和解耦 GAE 在我们提出的 VC-PPO 算法的有效性中发挥的关键作用。

image-20250409225309550

在图3中,我们比较了在消融实验中,经过相同训练步数后各模型的性能,特别是在训练 100 步之后。进行此比较的原因是不同配置的性能趋势存在明显差异。最佳配置是对价值模型进行 100 步的预训练。超过这个步数可能会导致过拟合,从而对模型的泛化能力产生负面影响。

image-20250409225327019

$\lambda_{\text{actor}}$ 的消融研究结果如表4所示。 值得强调的是,所有 $\lambda_{\text{actor}} < 1.0$ 的实验组都显著优于 $\lambda_{\text{actor}} = 1.0$ 的实验组。 这一结果支持了我们在之前节中基于解耦 GAE 的分析。 在美国邀请数学考试 (AIME) 中,$\lambda_{\text{actor}} = 0.99$ 的实验组表现优于其他 $\lambda_{\text{actor}}$ 值较低的组。 然而,在 0.95 和 1.0 之间,性能下降幅度很小。 因此,$\lambda_{\text{actor}}$ 的推荐设置是 $\lambda_{\text{actor}} \in [0.95, 1.0)$。

image-20250409225345834

讨论

在基于人类反馈的强化学习 (RLHF) 中,平滑的初始训练状态至关重要,尤其是在长链思维 (CoT) 任务中。 在传统的强化学习 (RL) 中,价值函数和策略通常是随机初始化的。然而,在 RLHF 中,初始策略通常从监督微调 (SFT) 策略初始化。这个 SFT 策略充当了学习过程的强大先验。在长链思维 (CoT) 任务中,初始策略通过 CoT 模式进一步增强,提供了更强大的先验。

我们的经验观察表明,随着先验策略变得更强,将价值模型与策略对齐变得越来越重要。否则,精心构建的 CoT 模式很容易被破坏,如图1 所示。在我们的实验中,在应用价值预训练技术后,该技术有效地将价值模型与初始策略对齐,输出长度的崩溃不再出现。这个结果清楚地表明了拥有完全对齐的价值模型的重要性,如图5所示。

image-20250409225441950

价值预训练将知识注入到价值模型中,是一种更优越的价值预热形式。 我们在图6中展示了价值预训练期间的价值损失,其中可以观察到两阶段收敛模式。在第一阶段,价值损失迅速下降。我们将此阶段解释为范围对齐,这与强化学习 (RL) 中常用的价值预热技术有相似之处。然而,在第二阶段,价值损失下降的速度较慢。我们将此阶段解释为知识注入。在此阶段,模型开始学习哪些 Token 更有利,这是一个在之前的研究中经常被忽视的关键方面。如表3所示,此阶段对我们模型的最终性能有重大影响。

image-20250409225527241

基于表2中呈现的实验结果以及表4中的消融实验结果,我们可以得出结论:价值模型倾向于选择更大的$\lambda$值,这会导致更高的方差和更低的偏差。相比之下,策略模型更倾向于选择更低的方差,这意味着$\lambda$值应低于1.0。值得注意的是,同时仍然需要保持相对较低的偏差,因为过高的方差会对性能产生不利影响。这一发现暗示了回归类型的损失函数目标,例如价值优化中使用的均方误差(MSE)损失,对高方差不敏感。相反,策略梯度类型的目标函数更容易受到方差的影响。这为强化学习(RL)或基于人类反馈的强化学习(RLHF)领域的进一步研究提供了一个有潜力的方向。

结论

在本研究中,我们深入探讨了PPO在长CoT任务中的失败,并提出了VC-PPO作为解决方案。通过识别价值初始化偏差和奖励信号衰减作为主要问题,我们引入了价值预训练和解耦GAE技术。价值预训练使价值模型与初始策略对齐,防止CoT模式的丢失并提高性能。解耦策略和价值的GAE计算允许在两个组件中实现更好的偏差-方差权衡。在AIME、CodeForces和GPQA数据集上的实验结果表明,VC-PPO明显优于基线PPO。消融研究进一步强调了价值预训练和解耦GAE在VC-PPO中的关键作用。此外,我们的研究揭示了价值模型和策略模型之间在方差-偏差偏好方面的差异,这可能是未来RL和RLHF研究的一个有希望的领域。总的来说,VC-PPO提供了一种有效的方法来提高PPO在长CoT任务中的性能,从而有助于大语言模型(LLM)在复杂推理任务中的进步。