Jiahong 的个人博客

凡事预则立,不预则废


  • Home

  • Tags

  • Archives

  • Navigation

  • Search

NLP——LLM对齐微调-DPO相关改进

本文简单主要记录 DPO 的改进,记录各种类 DPO 类的方法,更详细的介绍见论文的其他讲解
注:本文包含 AI 辅助创作

  • 参考链接:
    • (DPO)Direct Preference Optimization: Your Language Model is Secretly a Reward Model, NeurIPS 2023, Stanford University
    • (DPOP)Smaug: Fixing Failure Modes of Preference Optimisation with DPO-Positive, 2024, Abacus.AI
    • SLiC-HF: Sequence Likelihood Calibration with Human Feedback, 2023, Google Deepmind
    • (TDPO)Token-level Direct Preference Optimization, ICML 2024, UCAS
    • KTO: Model Alignment as Prospect Theoretic Optimization, ICML 2024, Contextual AI
    • (IPO)A General Theoretical Paradigm to Understand Learning from Human Preferences, 202312, Google DeepMind
      • 一篇容易误解为 IPO 方法的文章:IPO: Your Language Model is Secretly a Preference Classifier, 202502, Indian Institute of Technology Roorkee & Lossfunk,这篇文章不是常说的 IPO 方法,是印度一所理工大学 25 年发的比较新的方法
    • Self-Play Fine-Tuning Converts Weak Language Models to Strong Language Models, ICML 2024, UCLA
    • Insights into Alignment: Evaluating DPO and its Variants Across Multiple Tasks, 202502, Arizona State University
    • (Segment-Level-DPO)SDPO: Segment-Level Direct Preference Optimization for Social Agents, 202502, Nankai, Alibaba
    • (ODPO)Direct Preference Optimization with an Offset, 2024
    • SimPO: Simple Preference Optimization with a Reference-Free Reward, 2024

回顾 DPO 的损失函数

  • DPO 的损失函数 :
    $$
    Loss_{\text{DPO}}(\pi_\theta;\pi_\text{ref}) = - \mathbb{E}_{(x,y_w,y_l) \sim D}\left [ \log \sigma \left( \color{red}{\beta}\log\frac{\pi_\theta(y_w|x)}{\pi_\text{ref}(y_w|x)} - \color{red}{\beta}\log\frac{\pi_\theta(y_l|x)}{\pi_\text{ref}(y_l|x)} \right)\right ]
    $$

DPOP(DPO-Positive)

  • DPO 中存在的问题 :
    • DPO 中的损失函数要求的是 \(\left(\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)} \right) \) 变大;实际上,模型可能学习到的是,让 \(\pi_\theta(y_w|x)\) 和 \(\pi_\theta(y_w|x)\) 同时变小,只要正样本变小的幅度较小即可
  • DPOP 的改进 :
    $$
    Loss_{\text{DPOP}}(\pi_\theta;\pi_\text{ref}) = - \mathbb{E}_{(x,y_w,y_l) \sim D}\left [ \log \sigma \left( \color{red}{\beta}\left(\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)} - \lambda\cdot \max\left( 0, \log\frac{\pi_\text{ref}(y_w|x)}{\pi_\theta(y_w|x)} \right) \right) \right)\right ]
    $$
    • \(\lambda\) 是一个大于 0 的超参数
    • 在 DPOP 中会加入额外损失函数 \(- \lambda\cdot \max\left( 0, \log\frac{\pi_\text{ref}(y_w|x)}{\pi_\theta(y_w|x)} \right)\) 保证 \(\pi_\theta(y_w|x) > \pi_\text{ref}(y_w|x)\)
      • 核心思路可以一句话总结为:让模型生成正样本的概率高于参考模型生成正样本的概率

SLiC(Sequence Likelihood Calibration)

  • 注:原始论文中的损失函数不够清晰,这里为了跟 DPO 风格统一,我们参考其他论文的表达,SLiC 的损失函数为:
    $$ L_{SLiC}(\pi_{\theta}) = \mathbb{E}_{(x,y_w,y_l) \sim D, y_\text{ref} \color{red}{\sim \pi_\text{ref}(x)}} \left[ \max\left(0, \delta - \log \pi_{\theta}(y_w|x) + \log \pi_{\theta}(y_l|x)\right) - \lambda \log \pi_{\theta}(y_\text{ref}|x) \right] $$
    • \(\max\left(0, \beta - \log \pi_{\theta}(y_w|x) + \log \pi_{\theta}(y_l|x)\right)\) 是 对比学习逻辑 :
      • 通过 \(\log \pi_{\theta}(y_w|x)\)(正样本条件概率的对数)和 \(\log \pi_{\theta}(y_l|x)\)(负样本条件概率的对数)的差,衡量模型对正负样本的区分能力;
    • 边界参数 \(\delta\) :
      • 当正样本对数概率与负样本对数概率的差小于 \(\delta\) 时(说明大的不够多),损失项为 \(\delta - (\log \pi_{\theta}(y_w|x)\log \pi_{\theta}(y_l|x))\)
      • 否则,正样本对数概率与负样本对数概率的差大于 \(\delta\) 时 ,损失为 0,此时正样本概率比负样本概率大的够多了,不需要惩罚了
      • 这类似于 hinge 损失;
    • 正则化项 \(-\lambda \log \pi_{\theta}(y_\text{ref}|x)\):
      • \(\lambda\) 为正则化系数,用于平衡主体损失和正则化强度;
      • \(\log \pi_{\theta}(y_\text{ref}|x)\) 鼓励模型对参考样本 \(y_\text{ref}\) 赋予高概率,避免过拟合或增强对特定参考的拟合能力
  • 文章也同时提出了 SLiC-HF 方法,允许使用多轮迭代来加入人类反馈
  • 注:DPO 方法理论上早于 SLiC,但是 SLiC 没有引用 DPO 方法,也没有与之作比较

TDPO(Token-level Direct Preference Optimization)

  • TDPO1 损失函数
    $$
    \mathcal{L}_{\text{TDPO1} } = -\mathbb{E}_{(x,y_w,y_l) \sim 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)} - \beta \left( D_{\text{SeqKL} }(x, y_l; \pi_{\text{ref} } | \pi_\theta) - D_{\text{SeqKL} }(x, y_w; \pi_{\text{ref} } | \pi_\theta) \right) \right) \right]
    $$
    • \(D_{\text{SeqKL} }(x, y; \pi_{\text{ref} } | \pi_\theta)\) 是序列KL散度,定义为 Token-level KL 散度的和
      $$D_{SeqKL}(x, y; \pi_{\text{ref}} \parallel \pi_\theta) = \sum_{t=1}^{T} D_{KL}\left(\pi_{\text{ref}}(\cdot | [x, y^{ < t}]) \parallel \pi_\theta(\cdot | [x, y^{ < t}])\right)$$
  • TDPO2 损失函数
    $$
    \mathcal{L}_{\text{TDPO2} } = -\mathbb{E}_{(x,y_w,y_l) \sim 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)} - \alpha \left( \beta D_{\text{SeqKL} }(x, y_l; \pi_{\text{ref} } | \pi_\theta) - \text{sg} \left( \beta D_{\text{SeqKL} }(x, y_w; \pi_{\text{ref} } | \pi_\theta) \right) \right) \right) \right]
    $$
    • \(\text{sg}(\cdot)\) 表示 stop_gradient 操作,主要思想是停止 \(y_w\) 样本上的 KL 散度项
    • 相对 TDPO1,TDPO2 还增加了 \(\alpha\) 参数,用于权衡序列 KL 散度的重要性
    • \(\alpha\) 和 \(\beta\) 是算法超参数
  • 补充:来自原始论文的图示
  • 说明:实验证明 TDPO2 效果更好,可实现在 KL 散度更小的情况下,实现更大的 Reward,详情见原论文图3

KTO(Kahneman-Tversky Optimization)

  • KTO 不需要对比样本,仅需要有标签的样本数据即可,每个 Prompt 可只有一个或正(Desirable)或负(Undesirable)的标签即可
    • KTO 从 Kahneman & Tversky’s prospect theory 中得到启发,定义了一个损失函数家族,称为 human-aware losses (HALOs),不需要对比样本,仅需要有标签的样本数据即可学习
  • KTO 损失函数定义为:
    $$
    L_{KTO}(\pi_{\theta}, \pi_\text{ref}) = \mathbb{E}_{x,y \sim D}[\lambda_y - v(x, y)] \quad (8)
    $$
    • 可以看出,该损失函数在最大化 \(v(x, y)\),其定义为:
      $$
      v(x, y) =
      \begin{cases}
      \lambda_D \sigma(\beta(r_{\theta}(x, y) - z_0)) & \text{if } y \sim y_{\text{desirable} }|x \\
      \lambda_U \sigma(\beta(z_0 - r_{\theta}(x, y))) & \text{if } y \sim y_{\text{undesirable} }|x
      \end{cases}
      $$
      • 直观理解:最大化 Desirable 样本的概率,最小化 Undesirable 样本的概率
    • 其他符号含义:
      $$
      r_{\theta}(x, y) = \log \frac{\pi_{\theta}(y|x)}{\pi_\text{ref}(y|x)} \\
      z_0 = \text{KL}(\pi_{\theta}(y’|x) \parallel \pi_\text{ref}(y’|x))
      $$
      • \(z_0\) 是对分布的 KL 散度估计(注意:不针对特定样本进行估计),估计两个分布的KL散度时,需要从原始空间中随机采样任意样本进行估计
      • \(y’\) 是从原始空间中采样的 \(\mathcal{Y}\) 任意输出
    • \(\lambda_y, \lambda_D, \lambda_U\) 均为超参数
  • 实际实践中,实际训练中,由于直接计算完整分布的期望不现实,采样 microbatch 方法对 KL 散度进行估计:
    $$ \hat{z}_0 = \max\left(0, \frac{1}{m} \sum_{1 \leq i \leq m} \log \frac{\pi_{\theta}(y_j|x_i)}{\pi_\text{ref}(y_j|x_i)}\right) $$
    • 其中 \(j = (i+1) \mod m\),表示输入 \(x_i\) 和输出 \(y_j\) 进行错位匹配
    • 已进行 SFT 的情况 :若 KTO 前已用相同数据进行 SFT,且将 SFT 模型作为 \(\pi_\text{ref}\),则 KL 估计值 \(\hat{z}_0\) 会快速趋近于零(随机样本下,目标策略和参考策略的分布基本相同),此时可直接设 \(\hat{z}_0 = 0\),避免额外计算
    • 未进行 SFT 的情况 :当 KTO 前未进行 SFT,或 SFT 数据与 KTO 数据不重叠时,必须估计 \(\hat{z}_0\) 以确保损失函数的有效性

IPO(Indentity Preference Optimisation, Indentity-PO)

注:原始论文中作者使用了很多新的符号,很影响理解,这里会对部分符号进行讲解

  • IPO 中,作者移除了 DPO 中在概率差上添加激活函数的做法
  • IPO 论文中,作者推导了一个通用的偏好优化目标函数 \(\Psi\)PO ,通过引入一个非递减函数 \(\Psi\),平衡偏好概率的非线性函数最大化与 KL 正则化项,鼓励策略接近参考策略。其表达式为:
    $$\max_{\pi} \underset{\substack{x \sim \rho \\ y \sim \pi(\cdot| x) \\ y’ \sim \mu(\cdot| x)} }{\mathbb{E} }\left[\Psi\left(p^{*}\left(y \succ y’ | x\right)\right)\right]-\tau D_{KL}\left(\pi | \pi_\text{ref}\right)$$
    • \(y’\) 跟 DPO 中的 \(y_l\) 含义一致
    • \(\mu(\cdot|x)\) 是行为策略(用作偏好数据对收集),与 \(\pi_\text{ref}\) 不同(用作 KL 正则化约束)
  • IPO 是在 \(\Psi\)PO 的基础上,将 \(\Psi\) 设定为恒等映射得到的一种特殊形式,其目标函数为:
    $$\max_{\pi} p_{\rho}^{*}(\pi \succ \mu)-\tau D_{KL}\left(\pi | \pi_\text{ref}\right)$$
    • \(\tau\) 为正则化参数,用于平衡偏好优化与策略正则化
    • \(p_{\rho}^{*}(\pi \succ \mu)\) 表示在给定上下文 \(x\) 的条件下,采样 \(y_w \sim \pi(\cdot|x), y_l \sim \mu(\cdot|x)\) 后,人类真实偏好 \(y_w \succ y_l\) 的概率
      • \(p^*\) 是真实概率,\(p\) 是预估概率,是对真实概率的估计值
  • 经推导得到 IPO 损失函数公式如下:
    $$
    L(\pi) = \underset{y, y’ \sim \mu}{\mathbb{E} } \left[ \left( h_{\pi}(y, y’) - \frac{p^{*}(y \succ \mu) - p^{*}(y’ \succ \mu)}{\tau} \right)^2 \right]
    $$
    • \(p^{*}(y \succ \mu)\) 表示在上下文 \(x\) 下,动作 \(y\) 优于分布 \(\mu\) 的真实偏好概率:
      $$ p^{*}(y \succ \mu) = \mathbb{E}_{y’\sim\mu(\cdot|x)}[p^{*}(y \succ y’|x)] $$
      • \(p^{*}(y \succ y’|x)\) 表示在给定上下文 \(x\) 后,人类对 \(y\) 的偏好优于 \(y’\) 的真实概率;给定 \(y,y’\) 后,这个值与模型策略无关,比如在伯努利分布下就取值为 0 或 1
    • \(h_{\pi}(y, y’)\) 表示策略 \(\pi\) 与参考策略 \(\pi_{\text{ref} }\) 的对数似然比差异
      $$ h_{\pi}(y, y’) = \log \left( \frac{\pi(y) \pi_{\text{ref} }(y’)}{\pi(y’) \pi_{\text{ref} }(y)} \right) $$
      • 理解:进一步地,该值还可以写成其他形式
        $$ h_{\pi}(y, y’) = \log \left( \frac{\pi(y)}{\pi_{\text{ref} }(y)} \right) - \log \left( \frac{\pi(y’)} {\pi_{\text{ref} }(y’)}\right) $$
    • Bradley-Terry 模型中,有:
      $$ p^*(y \succ y’) = \sigma(r(y) - r(y’)) $$

基于伯努利采样的 IPO 损失函数

  • 基于伯努利采样的 IPO 损失函数
    $$
    \underset{y, y’ \sim \mu}{\mathbb{E} } \left[ \left( h_{\pi}(y, y’) - \tau^{-1} I(y, y’) \right)^2 \right]
    $$
    • 其中 \(I(y, y’)\) 是伯努利分布采样的偏好指示变量:当 \(y\) 优于 \(y’\) 时取1,否则取0,其均值为 \(p^{*}(y \succ y’)\)

给定数据集上的 IPO 损失函数(其他博客中最常见的形式)

  • 给定数据集上的 IPO 损失函数
    $$
    \underset{(y_w, y_l) \sim D}{\mathbb{E} } \left[ \left( h_{\pi}(y_w, y_l) - \frac{\tau^{-1} }{2} \right)^2 \right]
    $$
    • \(D\) 为经验偏好数据集,包含成对的偏好样本 \((y_w, y_l)\)(\(y_w\) 为偏好动作,\(y_l\) 为非偏好动作)
    • 该表达式通过对称采样(即同时考虑 \((y_w, y_l, 1)\) 和 \((y_l, y_w, 0)\))简化了方差,并最终转化为对对数似然比的回归优化
    • 正则化强度 \(\tau\) 的取值分析(论文中测试时取值为 \(\tau = 0.1,0.5,1.0\)):
      • 当 \(\tau \to +\infty\) 时,\(\tau^-1 \to +0\) ,\(\pi^*\) 收敛到均匀策略 \(\pi_{\text{ref} }\);
      • 当 \(\tau \to 0^+\) 时,\(\tau^-1 \to +\infty\),\(\pi^*(y_1) \to 1\) 且 \(\pi^*(y_2) \to 0\),即收敛到确定性最优策略
  • 给定数据集上的 IPO 的训练伪代码为:

SPIN(Self-Play fIne-tuNing)

  • SPIN(Self-Play Fine-Tuning)是一种无需额外人类标注数据(仅 SFT 数据即可),就能将弱语言模型转化为强语言模型的微调方法,其核心是通过语言模型与自身迭代版本进行自我博弈(Self-Play),逐步提升模型性能
  • SPIN 受游戏领域自我博弈(如 AlphaGo Zero)的启发,让语言模型在迭代过程中与自身的旧版本进行“对抗”:
    • 自我博弈过程 :当前模型(主玩家)需要区分人类标注数据与旧版本模型生成的数据,而旧版本模型(对手玩家)则试图生成与人类数据难以区分的响应。通过这种动态博弈,模型逐步逼近目标数据分布
    • 核心目标 :使模型的生成分布 \( p_{\theta}(y|x) \) 最终与人类标注数据的分布 \( p_{data}(y|x) \) 一致

训练过程(非正式流程,仅作为理解)

  • SPIN 的迭代过程包含两个关键步骤,以第 \( t+1 \) 次迭代为例:
  • 训练主玩家(区分器)
    • 利用旧版本模型 \( p_{\theta_t} \) 生成 synthetic 数据 \( y’ \),主玩家 \( f_{t+1} \) 的目标是最大化人类数据 \( y \) 与旧模型生成数据 \( y’ \) 的期望差异。基于积分概率度量(IPM),目标函数定义为:
      $$
      f_{t+1} = \underset{f \in \mathcal{F}_t}{\text{argmax} } , \mathbb{E}_{ x \sim q(\cdot),y \sim p_{data}(\cdot|x), y’ \sim p_{\theta_t}(\cdot|x)}\left[ f(x, y) - f(x, y’) \right]
      $$
      • 其中 \( \mathcal{F}_t \) 是函数类,为避免目标无界,通常采用逻辑损失函数:
        $$ \ell(t) = \log(1 + \exp(-t)) $$
      • 由此原始问题可转化为:
        $$
        f_{t+1} = \underset{f \in \mathcal{F}_t}{\text{argmin} } , \mathbb{E}_{ x \sim q(\cdot),y \sim p_{data}(\cdot|x), y’ \sim p_{\theta_t}(\cdot|x)} \left[ \ell(f(x, y) - f(x, y’)) \right]
        $$
  • 更新对手玩家(生成器)
    • 基于训练好的主玩家 \( f_{t+1} \),更新旧模型 \( p_{\theta_t} \) 以生成更接近人类数据的响应。引入 KL 正则化项以稳定训练,优化目标为:
      $$
      \underset{p}{\text{argmax} } , \mathbb{E}_{x \sim q(\cdot), y \sim p(\cdot|x)}\left[ f_{t+1}(x, y) \right] - \lambda \mathbb{E}_{x \sim q(\cdot)} \text{KL}\left( p(\cdot|x) || p_{\theta_t}(\cdot|x) \right)
      $$
    • 其闭式解为:
      $$
      \hat{p}(y|x) \propto p_{\theta_t}(y|x) \exp\left( \lambda^{-1} f_{t+1}(x, y) \right)
      $$

端到端训练目标(正式流程)

  • 将上述两步整合为端到端的迭代更新规则,第 \( t+1 \) 次迭代的参数 \( \theta_{t+1} \) 由以下目标函数确定:
    $$
    L_{\text{SPIN} } = \mathbb{E}\left[ \ell\left( \lambda \log\frac{p_{\theta}(y|x)}{p_{\theta_t}(y|x)} - \lambda \log\frac{p_{\theta}(y’|x)}{p_{\theta_t}(y’|x)} \right) \right]
    $$
    • 其中期望同上,\( \ell \) 为逻辑损失函数。该过程不断迭代,直至模型分布收敛到 \( p_{data}(\cdot|x) \)
  • SPIN 训练伪代码为:
  • 注:GAN 的判别器和生成器是独立模型,而SPIN 的主玩家和对手玩家均为同一模型的不同迭代版本
  • 收敛性证明 :在损失函数 \( \ell \) 单调递减且凸的假设下(如逻辑损失),SPIN 的全局最优解当且仅当 \( p_{\theta}(y|x) = p_{data}(y|x) \) 时达到。此时,模型无法区分自身生成数据与人类数据
  • 数据效率 :仅使用 SFT 数据集的 50k 子集(Ultrachat200k),SPIN 迭代 0 次时效果略微不如 DPO,迭代 1 次即可达到甚至超过 DPO 使用 62k 新偏好数据的性能,详情见原始论文 6.2 和图3
  • 迭代必要性 :论文中通过实验证明了,迭代多轮是必要的(对数曲线),原论文图2

SDPO(Segment-Level Direct Preference Optimization)

  • 原始论文:(Segment-Level-DPO)SDPO: Segment-Level Direct Preference Optimization for Social Agents, 20250227, Tongyi Lab
  • 详细介绍链接:NLP——LLM对齐微调-SDPO(Segment-Level-DPO)

sDPO(stepwise DPO)

  • 原始论文:sDPO: Don’t Use Your Data All at Once, Twelve Labs & Upstage AI, 20250119

SimPO

  • 详细介绍链接:NLP——LLM对齐微调-SimPO

ODPO(Offset DPO)

  • 原始论文:(ODPO)Direct Preference Optimization with an Offset, 20240606
  • Offset DPO(ODPO)是DPO的泛化变体,核心是为偏好对引入偏移量以区分偏好强度,让模型按偏好差异优化生成概率,在奖励与KL散度的帕累托前沿表现更优,尤其适合偏好数据有限或偏好强度差异大的场景:
    $$ \mathcal{L}_{\text{ODPO}} = -\mathbb{E}_{(x,y^+,y^-)} \left[ \log \sigma \left( \beta \left( \log \frac{\pi_\theta(y^+|x)}{\pi_{\text{ref}}(y^+|x)} - \log \frac{\pi_\theta(y^-|x)}{\pi_{\text{ref}}(y^-|x)} \right) - \Delta \right) \right] + \lambda \cdot \text{KL}(\pi_\theta \parallel \pi_{\text{ref}}) $$
    • 通过 \(\Delta\) 量化偏好差异,实现差异化优化,提升对齐精度

rDPO(Robust DPO)

  • 原始论文:Provably Robust DPO: Aligning Language Models with Noisy Feedback, Microsoft, 20240412
  • 目标是提升 DPO 稳定性:
    • rDPO :在优化过程中考虑标签可能被随机翻转的情况
      • Label Flip(Label 翻转):标签被错误标注为相反结果,主要用于建模偏好数据中的噪声
    • cDPO :利用 Label Smoothing 处理噪声偏好标签,使优化更稳健
      • Label Smoothing:将硬标签平滑成概率分布,缓解过拟合并提升鲁棒性
  • 上述思想最早在 Secrets of RLHF in Large Language Models Part II: Reward Modeling, Fudan, 202401 中提到的思想

NLP——LLM对齐微调-Dr.GRPO

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:(Dr.GRPO)Understanding R1-Zero-Like Training: A Critical Perspective, 202503, Sea AI Lab, NUS
    • 开源代码:github.com/sail-sg/understand-r1-zero

Paper Summary

  • 整体总结:
    • 论文以批判性视角审视了用于 R1-Zero-like 训练的 Base Models 和用于 RL 的算法
    • 作者揭示了预训练偏差如何影响 RL 结果,以及像 GRPO 这样的优化选择如何无意中塑造模型行为
    • 论文提出的 Dr.GRPO 提供了一个简单的修正,在保持推理性能的同时提高了 token 效率(目前在很多场景上已经被广泛应用,各大 RL 框架均有实现)
    • PS:scaling RL can be both effective and efficient,sometimes, less really is more
  • 背景:
    • DeepSeek-R1-Zero 已证明:大规模 RL(无需SFT)即可直接增强 LLM 的推理能力
  • 分析:
    • 论文从 Base Model 和 RL 对 R1-Zero-like 训练进行了批判性审视
    • 研究了包括 DeepSeek-V3-Base 在内的多种 Base Models ,以理解预训练特性如何影响 RL 性能
    • 分析表明:
      • 预训练偏差:DeepSeek-V3-Base 已展现出“顿悟时刻”(Aha moment);Qwen2.5 Base Models无需提示模板也表现出强大的推理能力
      • GRPO 存在优化偏差:GRPO 会在训练过程中人为增加响应长度(尤其是错误输出)
  • 主要工作:
    • 提出一种无偏优化方法 Dr.GRPO,在保持推理性能的同时提升 token 效率(token efficiency)
    • 继而论文提出了一种极简的 R1-Zero 方案,使用 7B Base Models 在 AIME 2024 上达到 43.3% 的准确率,创造了新的 SOTA
  • 注:给出的很多评估测试指标和数据集都有很明确的引用 ,很方便查找各种指标来源 ,论文不会清晰展示,详情可以看论文原文

Introduction and Discussion

  • DeepSeek-R1-Zero 通过引入R1-Zero式训练范式 ,彻底改变了 LLM 的后训练流程:
    • 即:无需依赖 SFT 作为前置步骤,直接将 RL 应用于基础 LLM
  • 这一新范式因其简洁性和展示的 RL scaling phenomenon 而备受关注:
    • 模型的推理能力随着响应长度的持续增加而提升
    • 这一现象还伴随着“Aha moment”的出现,即模型通过学习涌现出自我反思等高级技能
  • 论文旨在通过研究两个关键组件(Base Models和RL),来理解 R1-Zero-like 训练
    • 第一部分,论文探讨 Base Models 的各种属性,重点关注 Qwen2.5 模型家族,该家族被用于近期尝试复现 R1-Zero 的研究,以及 DeepSeek-V3-Base ,真正的 R1-Zero 模型正是基于后者通过 RL 调优得到的
    • 第二部分,论文揭示了 GRPO 优化中的偏差(Shao等,2024),该偏差可能导致错误响应逐渐变长。为此,论文提出了一种简单修改以消除偏差,即“正确实现的GRPO”(Dr.GRPO),从而获得 better token efficiency(如图1所示)
      • 理解:这里的 better token efficiency 是指用更短的 Token 序列获得更高的奖励
  • 通过对 Base Models 和 RL 的分析,论文提出了 R1-Zero-like 训练的极简方案(minimalist recipe) :
    • 使用(无偏的)Dr.GRPO 算法在 MATH level 3-5(详情见原论文引用) 问题上对 Qwen2.5-Math-7B 进行 RL 调优,并采用 Qwen-Math 模板,仅需 8 块 A100 GPU 运行 27 小时即达到 SOTA 性能(图2)。作者希望论文的发现、发布的模型和开源代码库能为该领域的未来研究提供帮助
  • 论文的核心结论概述(TLDR):
    • (第2.1节)模板可以让 Base Models 回答问题而非补全句子;所有 Base Models 在 RL 之前已具备数学解题能力
    • (第2.2节)Qwen-2.5 Base Models 不使用模板时性能立即提升约 60% ,论文推测其在模型构建过程中可能预训练了 concatanated Question-Answer 文本
    • (第2.3节)几乎所有 Base Models (包括 DeepSeek-V3-Base)均已展现出“Aha moment”
    • (第3.1-3.2节)Dr.GRPO 有效修正了 GRPO 的优化偏差,实现了 better token efficiency
    • (第3.3节)模型与模板的不匹配可能破坏推理能力,而 RL 会重建这种能力
    • (第3.4节)Llama-3.2-3B 的数学预训练提升了其 RL 性能上限

Analysis on Base Models

  • 本节论文深入研究了多种 Base Models ,包括 Qwen-2.5家族、Llama-3.1 和 DeepSeek系列
  • 论文从 MATH(Hendrycks等,2021)训练集中抽取 500 个问题,分析这些模型的响应

R1-Zero Trainability: Templates Construct Exploratory Base Policies(R1-Zero 可训练性分析)

  • 由于从 Base Models 开始训练是 R1-Zero 式范式的基本设定,论文首先研究广泛使用的开源 Base Models(通常训练用于句子补全,即 \(p_{\theta}(\mathbf{x})\))是否能够通过适当的模板有效激发其问答能力,从而作为问答基础策略 \(\pi_{\theta}(\cdot|\mathbf{q})\)
    • 问题:句子补全为什么是 \(p_{\theta}(\mathbf{x})\)?
    • 回答:这里应该是强调与 Question-Answer 数据不同,区别于 \(p_{\theta}(\mathbf{o}|\mathbf{q})\)
  • 除了Guo等(2025)中的R1模板(模板1),论文还考虑了Zeng等(2025)使用的 Qwen-Math 模板(模板2)以及无模板(模板3):
    • Template 1 (R1 template):

      A conversation between User and Assistant. The User asks a question, and the Assistant solves it. The Assistant first thinks about the reasoning process in the mind and then provides the User with the answer. The reasoning process is enclosed within <think> </think> and answer is enclosed within <answer> </answer> tags, respectively, i.e., <think> reasoning process here </think> <answer> answer here </answer>.\nUser: {question}\nAssistant: <think>

    • Template 2 (Qwen-Math template)

      <|im_start|>system\nPlease reason step by step, and put your final answer within \\boxed{}.<|im_end|>\n<|im_start|>user\n{question}<|im_end|>\n<|im_start|>assistant\n

    • Template 3 (No template)

      {question}

  • 实验设置 :
    • 论文测试了 Qwen2.5-Math-1.5B、Qwen2.5-Math-7B、Qwen2.5-7B、Llama-3.1-8B、DeepSeek-Math-7B 和 DeepSeek-V3-Base-685B
    • 对每个模型,
      • 首先应用无模板获取响应,然后让 GPT-4o-mini 判断响应是问答格式(无论质量)还是句子补全模式。记录倾向于回答问题的响应百分比作为指标
      • 然后应用R1模板和Qwen-Math模板获取响应,并根据指标确定每个模型的最适合模板。最后,评估每个模型在对应模板下的 pass@8 准确率,以判断基础策略是否能探索出有利于 RL 改进的轨迹
  • 结果 :图3(左)展示了 Base Models (使用或不使用模板)回答问题的能力,论文发现:
    • 不同 Base Models 使用模板后的提升不一致 :Llama 和 DeepSeek 模型通过使用适当模板(R1 模板)显著提升了问答能力,但Qwen2.5 模型在不使用模板时表现最佳(问答率100%)
      • 这一有趣特性促使论文进一步研究(见第2.2节)
    • DeepSeek-V3-Base 在无模板时问答率最低,表明它是一个近乎纯净的 Base Models
      • 这一观察促使论文探索纯净 Base Models (如DeepSeek-V3-Base)是否展现出 Aha moment(第2.3节)
    • 图3(中)展示了不同 Base Models(使用模板)在不同采样温度下的 pass@8 准确率
      • 该指标可作为基础策略探索能力的指标
      • 例如,若基础策略无法采样出任何导致正确答案的轨迹,RL 将无法改进策略,因为缺乏奖励信号
      • 结果表明,所有测试模型均具备探索能力(适合 RL),其中 Qwen2.5 模型表现最佳(甚至超越 DeepSeek-V3-Base)。这可能部分解释了为何多数 R1-Zero 项目(Zeng等,2025;Hu等,2025)基于 Qwen2.5 模型

Qwen-2.5 Models Unlock the Best Performance When Discarding Template

  • 论文进一步探究了图3(左)中的有趣现象:所有 Qwen2.5 Base Models 即使不使用任何模板,也能直接作为聊天模型
  • 论文在五个标准基准上评估 Qwen2.5-Math 模型的推理能力:AIME 2024、AMC、MATH500、Minerva Math 和 OlympiadBench
  • 采用贪婪解码,采样 token 限制为 3000
  • 如表1所示,不使用任何模板可显著提升 Qwen2.5-Math 模型平均性能,相比传统的 4-shot prompting 提升约 60%
    • 理解:没有模板效果反而最好,说明模板需要一定的格式遵循能力,这会让模型解决问题的能力有所降低!
    • 问题:传统的 4-shot prompting 也是无模板吧?为什么给了 4-shot 效果反而变差了?
      • 回答:猜测是因为增加了太多上下文反而让模型有点混乱了?就像要遵循模板一样,降低了模型解决问题的能力
  • 由于 Qwen2.5-Math(2024)在预训练阶段使用了聊天模型数据(Question-Answer 对),论文推测其可能直接预训练拼接文本以最大化 \(\log p_{\theta}(\mathbf{q};\mathbf{o})\)
    • 若假设成立,使用 Qwen2.5 模型复现 DeepSeek-R1-Zero 时需更加谨慎,因为这些 Base Models 即使无模板也已类似 SFT 模型

Aha moment 已出现在包括 DeepSeek-V3-Base 的 Base Models 中

  • DeepSeek-R1-Zero 最引人注目的成果之一是通过纯 RL 训练涌现出自我反思行为(即Aha moment)
  • 一些前期研究(Liu等,2025b;Yeo等,2025)指出,开源 R1 复现可能不存在 Aha moment,因为它们使用的 Base Models 已包含 self-reflection keywords
  • 然而,这些研究未测试真正的 R1-Zero 模型所基于的 DeepSeek-V3-Base。论文通过自行托管 DeepSeek-V3-Base-685B 并分析其对 500个 MATH 问题的响应(使用 R1 模板)填补了这一空白。从图3(右)可见,DeepSeek-V3-Base 也生成了相当数量的自我反思,进一步验证了Liu等(2025b)的观点。图4 展示了 DeepSeek-V3-Base 生成“Aha”、“wait”和“verify the problem”等关键词的案例
    • 问题:Liu等(2025b)的观点是什么?
  • 另一个重要问题是自我反思行为是否与 RL 训练后模型性能提升相关。论文使用 DeepSeek-R1-Zero 模型并分析其对相同 MATH 问题的响应。虽然 R1-Zero 中自我反思行为更频繁,但这些行为未必意味着更高的准确率。详细分析见附录D

Analysis on Reinforcement Learning

  • 语言模型的生成过程可以形式化为一个 token-level 的马尔可夫决策过程(MDP)\(\mathcal{M}=(\mathcal{S},\mathcal{A},r,p_Q)\)
  • 在每一步生成 \(t\) 时,状态 \(s_t \in \mathcal{S}\) 是输入问题和已生成输出的拼接:\(s_t = \mathbf{q};\mathbf{o}_{ < t} = [q_1,\ldots,q_M,o_1,\ldots,o_{t-1}]\)
  • 策略 \(\pi_\theta(\cdot|s_t)\) 会从词汇表 \(\mathcal{A}\) 中选择 next token \(o_t\),确定性地转移到下一个状态 \(s_{t+1} = s_t;[o_t]\)
  • 生成过程从初始状态 \(s_1 = \mathbf{q} \sim p_Q\) 开始,当自回归策略生成 [eos] token 或耗尽 Budget 时停止
  • 通常,论文最大化以下熵正则化目标(2017a):
    $$
    \mathcal{J}(\pi_\theta) = \mathbb{E}_{\mathbf{q}\sim p_Q} \left[\mathbb{E}_{\mathbf{o}\sim \pi_\theta(\cdot|\mathbf{q})}[R(\mathbf{q},\mathbf{o})] - \beta \mathbb{D}_{KL}[\pi_\theta(\cdot|\mathbf{q})||\pi_{\text{ref} }(\cdot|\mathbf{q})]\right], \tag{1}
    $$
    • \(\pi_{\text{ref} }\) 是参考策略
    • \(R(\mathbf{q},\mathbf{o}) = \sum_{t=1}^{|\mathbf{o}|} r(s_t,o_t)\) 是轨迹 \(\mathbf{q};\mathbf{o}\) 的回报(Sutton, 2018)
      • 其中 \(r\) 是从 \(\pi_{\text{ref} }\) 收集的数据中学习的奖励模型
    • KL 正则项通常用于 RLHF,以防止 \(\pi_\theta\) 偏离奖励模型准确的分布(类似 OOD 问题)
    • 在调整推理模型时,通常使用 Rule-based Verifiers 作为奖励模型 \(r\)(2024),消除了分布偏移的担忧
      • 这使得我们可以移除 KL 项 ,不仅节省了训练时 \(\pi_{\text{ref} }\) 的内存和计算需求,还可能为 R1-Zero-like 训练带来更好的性能(2025)
        • 论文全文中,我们将假设 \(\beta = 0\)
      • 问题:为什么说Rule-based Verifiers 作为奖励模型可以消除分布偏移的担忧?
      • 理解:作者的思路是这样的
        • 第一:奖励模型 \(r\) 是从 \(\pi_{\text{ref} }\) 收集的数据中学习的
        • 第二:KL 正则项是为了防止 \(\pi_\theta\) 偏离奖励模型准确的分布(偏离太多会导致奖励模型估不准)
        • 第三:Rule-based Verifiers 作为奖励模型后,无论策略分布怎么变化,其实都不会出现奖励模型无法评估的情况,也就不存在分布偏移问题
      • 补充说明:这里可能理解是有误的:
        • 首先,奖励模型不一定是从 \(\pi_{\text{ref} }\) 收集的数据中学习的(当然,从 \(\pi_{\text{ref} }\) 收集会更好,可保证策略和奖励模型都是基于 \(\pi_{\text{ref} }\) 分布的);
        • 其次,个人认为是 KL 散度还可以防止模型 Reward Hacking 跑飞了或遗忘了之前的知识。当然,实际是否有效需要实操,都有各自的道理

策略优化算法

  • 为了优化上述目标(式 (1) 中 \(\beta = 0\)),近端策略优化(PPO)(2017b)最大化以下替代目标:
    $$
    \begin{align}
    \mathcal{J}_{\text{PPO} }(\pi_\theta) &= \mathbb{E}_{\mathbf{q}\sim p_Q,\mathbf{o}\sim \pi_{\theta_{\text{old} } }(\cdot|\mathbf{q})} \\
    &\sum_{t=1}^{|\mathbf{o}|} \left\{\min\left[\frac{\pi_\theta(o_t|\mathbf{q},\mathbf{o}_{ < t})}{\pi_{\theta_{\text{old} } }(o_t|\mathbf{q},\mathbf{o}_{ < t})}\hat{A}_t, \text{clip}\left(\frac{\pi_\theta(o_t|\mathbf{q},\mathbf{o}_{ < t})}{\pi_{\theta_{\text{old} } }(o_t|\mathbf{q},\mathbf{o}_{ < t})},1-\epsilon,1+\epsilon\right)\hat{A}_t\right]\right\},
    \end{align} \tag{2}
    $$
    • \(\pi_{\theta_{\text{old} } }\) 是更新前的策略
    • \(\hat{A}_t\) 是第 \(t\) 个 token 的优势函数估计(注意:PPO 的优势函数估计使用的奖励函数中包含了 KL 散度, GRPO 的奖励函数不包含 KL 散度)
    • 标准方法是通过学习的价值模型 \(V_\phi\) 计算广义优势估计(GAE)(2015)。然而,在 LLM 调整的背景下,学习价值模型计算成本高,因此更倾向于无需 \(V_\phi\) 的方法
      • 例如:GRPO 首先对每个问题采样一组响应 \(\{\mathbf{o}_1,\ldots,\mathbf{o}_G\}\) 并计算其回报 \(\mathbf{R} = \{R_1,\ldots,R_G\}\),然后将 \(\mathbf{o}_i\) 的所有 token 优势设为
        $$\hat{A}_t = \frac{R_i - \text{mean}(\mathbf{R})}{\text{std}(\mathbf{R})}$$

GRPO 导致优化偏差

  • 在 Deepseek-R1-Zero(2025)中,一个显著趋势是训练过程中响应长度的持续增加。这常被解释为高级推理能力(如自我反思)的发展
  • 近期研究(2025; 2025; 2025)使用不同算法和实现复现了这一现象
  • 但作者认为观察到的响应长度增加可能是 GRPO(2024)目标函数中的固有偏差导致:
    $$
    \begin{align}
    \mathcal{J}_{\text{GRPO} }(\pi_\theta) &= \mathbb{E}_{\mathbf{q}\sim p_Q, \{\mathbf{o}_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|\mathbf{q})} \\
    &\frac{1}{G} \sum_{i=1}^G \color{red}{\frac{1}{|\mathbf{o}_i|}} \sum_{t=1}^{|\mathbf{o}_i|} \left\{\min\left[\frac{\pi_\theta(o_{i,t}|\mathbf{q},\mathbf{o}_{i,<t})}{\pi_{\theta_{\text{old} } }(o_{i,t}|\mathbf{q},\mathbf{o}_{i,<t})}\hat{A}_{i,t}, \text{clip}\left(\frac{\pi_\theta(o_{i,t}|\mathbf{q},\mathbf{o}_{i,<t})}{\pi_{\theta_{\text{old} } }(o_{i,t}|\mathbf{q},\mathbf{o}_{i,<t})},1-\epsilon,1+\epsilon\right)\hat{A}_{i,t}\right]\right\}
    \end{align} \tag{3}
    $$
    • 其中
      $$
      \hat{A}_{i,t} = \frac{R(\mathbf{q},\mathbf{o}_i) - \text{mean}(\{R(\mathbf{q},\mathbf{o}_1),\ldots,R(\mathbf{q},\mathbf{o}_G)\})}{\color{red}{\text{std}(\{R(\mathbf{q},\mathbf{o}_1),\ldots,R(\mathbf{q},\mathbf{o}_G)\})}},
      $$
    • 且回报 \(R(\mathbf{q},\mathbf{o}_i)\) 通常仅包含 LLM 推理中的可验证结果奖励(outcome verifiable reward)
      注:该分析同样适用于过程奖励情况
  • 与式 (2) 相比,GRPO 引入了两种偏差(见图5):
    • Response-level length bias :由除以 \(|\mathbf{o}_i|\) 引起
      • 对于正优势(\(\hat{A}_{i,t} > 0\),表示正确响应),此偏差导致对较短响应的梯度更新更大,使策略倾向于简短的正确回答
      • 对于负优势(\(\hat{A}_{i,t} < 0\),表示错误响应),较长响应的惩罚较小(因为其 \(|\mathbf{o}_i|\) 较大),导致策略在错误响应中偏好更长的回答
      • 思考:常规的 RL 场景中,存在另一种(结束状态奖励一致,但时间步不一致导致)的问题,这时候 RL 更倾向于时间步短的轨迹。这与 GRPO 不同
        • GRPO 的奖励是有正有负的,且同一个轨迹上的每个 token 奖励都一致
        • GRPO 对同一轨迹的 token 求平均计算 loss 的做法会在奖励为负和为正时都缩小长轨迹上 token 的 Loss 权重
        • 所以模型会倾向于 简短的正确回答 和 较长的错误回答
      • 问题:在 \(\color{red}{\frac{1}{|\mathbf{o}_i|}}\) 前面还有 \(\sum_{t=1}^{|\mathbf{o}_i|}\),似乎并不会导致本论文中所说的问题,\(\color{red}{\frac{1}{|\mathbf{o}_i|}} \sum_{t=1}^{|\mathbf{o}_i|}\) 相当于是一个平均而已
        • 这里理解有误,\(\sum_{t=1}^{|\mathbf{o}_i|}\) 只是损失函数累计到一起的动作(可以看做是一个 Batch 的多个样本一起更新模型), \(\color{red}{\frac{1}{|\mathbf{o}_i|}}\) 则是相当于给所有样本都加了一个权重 \(\color{red}{\frac{1}{|\mathbf{o}_i|}}\)
        • 这个权重与 \(\color{red}{\mathbf{o}_i}\) 有关,对不同长度的 response 的 Token 是不公平的,此时,长序列的回复梯度会被缩小(不论正负都会被缩小)),导致模型会倾向于 简短的正确回答 和 较长的错误回答
    • Question-level difficulty bias :由将中心化结果奖励除以 \(\text{std}(\{R(\mathbf{q},\mathbf{o}_1),\ldots,R(\mathbf{q},\mathbf{o}_G)\})\) 引起
      • 标准差较低的问题(如过于简单或困难,结果奖励几乎全为 1 或 0)在策略更新时被赋予更高权重
      • 尽管优势归一化是 RL 中的常见技巧(2021),但通常在整批数据上计算
      • 相比之下,Question-level 归一化导致不同问题在目标中权重不同,从而在优化中引入难度偏差
  • 特别说明:开源 PPO 实现中同样存在长度偏差
    • 论文还检查了几种流行的开源 PPO 实现
    • 令人惊讶的是,所有这些实现都通过响应长度对损失进行归一化(见表2),这与式 (2) 中定义的 PPO 目标不一致
    • 这种公式与实现的错配甚至在 GRPO 发表之前就已存在
    • 论文推测这种错配可能源于预训练阶段(2019),其中所有 token 被打包到固定长度的上下文中,通过上下文长度归一化损失(即计算 loss.mean(-1))提高了数值稳定性
    • 然而,在 RL-tuning stage,典型实现(2020)通过响应长度归一化损失,而响应长度非常量,从而引入了意外的长度偏差

Dr.GRPO:修正 GRPO 的优化偏差(Dr.GRPO: GRPO Done Right)

  • 为避免上述 GRPO 的优化偏差,论文提出简单地移除 \(\frac{1}{|\mathbf{o}_i|}\) 和 \(\text{std}(\{R(\mathbf{q},\mathbf{o}_1),\ldots,R(\mathbf{q},\mathbf{o}_G)\})\) 归一化项
  • 同时,为了忠实实现无偏优化目标(unbiased optimization objective,这里的无偏是指上述两个偏差Response-level length bias 和 Question-level difficulty bias),我们可以将 listing 1 中 masked mean 函数的 mask.sum(axis=dim) 替换为常数值(如 Generation Budget ,论文使用最大输出 Token 数),如绿色行所示
  • 特别说明:实际上 verl 库中实现的 DAPO 其实已经没有按照不同回复的 response 长度作为分母了(分母位置如果直接 sum 所有,相当于按照整个 Batch 的总 Token 做归一化),详情见:verl/xxx/masked_mean
  • 这些简单修改恢复了式 (2) 中的 PPO 目标,优势通过蒙特卡洛回报和无偏基线估计(Sutton 2018)。详细推导见附录 A。论文将新优化算法称为 Dr.GRPO ,并通过实验验证其有效性
    • 问题:如何理解这里的代码?
  • 实验设置 :论文使用 Oat(2025a)实现算法,采用 Qwen2.5-1.5B Base Models 和 R1 模板(模板 1)进行 online RL-tuning。论文使用 Math-Verify 实现基于验证的奖励函数,规则如下:
    $$
    R(\mathbf{q},\mathbf{o}) = \begin{cases}
    1 & \text{if } \mathbf{o} \text{ 包含 } \mathbf{q} \text{ 的正确答案} \\
    0 & \text{else}
    \end{cases}
    $$
    • 论文从 MATH(2021)训练数据集中采样问题运行 RL,比较原始 GRPO 和提出的 Dr.GRPO
    • 论文在五个基准测试上评估在线模型:AIME2024、AMC、MATH500、Minerva Math 和 OlympiadBench
    • 更多实验细节和超参数见开源代码库
  • 结果 :图6 展示了 Dr.GRPO 能有效减轻优化偏差并提升 token 效率
    • 论文发现 GRPO 和 Dr.GRPO 均表现出与 DeepSeek-R1-Zero(2025)相似的趋势,即响应长度随训练奖励增加(图1 & 2)
    • GRPO 在奖励提升放缓时仍持续生成长响应(图2)
    • 尽管这种现象常被称为 RL 中长链式思维的“涌现”(2025 等),作者认为这也与优化中的响应级长度偏差(3.1 节)有关
    • 相比之下,通过计算无偏策略梯度,Dr.GRPO 防止了训练中响应长度的无限制增长(图2)
    • 此外,在评估基准上,Dr.GRPO 显著减少了错误响应的长度(图4),表明无偏优化器还能减轻过度思考(Chen 等, 2024)

A Duet of Template and Question Set Coverage in RL dynamics(模板与问题集覆盖在 RL Dynamics 中的双重作用)

  • 回想 Qwen2.5-Math Base Models 无需任何提示模板即可高准确率回答问题(2.2 节)
  • 基于这一有趣现象,论文研究不同模板如何影响 RL 训练
  • 鉴于普遍认为更大的问题集覆盖能带来更好性能(2025 等),论文还研究了不同模板与不同问题集覆盖水平的交互
  • 实验设置 :从 Qwen2.5-Math-1.5B Base Models 出发,分别应用 R1 模板、Qwen-Math 模板和无模板运行 Dr.GRPO 的 RL。所有实验针对表3 中不同问题集重复进行
  • 结果 :图7 展示了不同设定下的 RL 曲线(注:图中的数据集是训练集,不是测试集),论文得出以下观察:
    • 1)模板决定初始策略性能,但 RL 可将所有策略提升至约 40%(给定合适问题集);
    • 2)使用 R1 模板时,问题集对 RL 动态影响显著,覆盖过窄会导致较低的平台性能;使用 Qwen-Math 模板时,最佳最终性能通过在 GSM-8K 为训练集的 RL 实现,表明在更简单(且分布外)问题上训练可大幅提升(近翻倍)困难问题的测试准确率
  • 由此论文得出以下见解:
    • Qwen2.5-Math-1.5B Base Models 已具备强大数学求解能力(见图7 右图起点)。应用模板实际上会破坏此能力,RL 可以重建这个能力。这意味着我们在宣称纯 RL 带来的巨大增益时应更加谨慎
    • 当 Base Models 与模板严重不匹配(如 R1 模板与 Qwen2.5-Math-1.5B),策略改进主要来自 RL-tuning ,因此需要问题集具有良好的覆盖(图7 左图)。
    • 当 Base Models 与模板匹配时:即使是 Completely OOD 的小问题集也能通过强化正确推理行为(而非灌输新知识)同样有效地诱导推理能力

      When there is a large mismatch between base models and templates (e.g., R1 template mismatches Qwen2.5-Math-1.5B), the policy improvement mainly comes from RL- tuning, thus requiring question set to have good coverage (left plot of Fig. 7). Otherwise, even a small and completely o.o.d. question set could induce the reasoning ability equally well, by reinforcing correct reasoning behaviors instead of infusing new knowledge.

      • 理解:这里是在说,RL 主要是在激活模型的推理能力,如果模板匹配,则我们进需要很少的数据集就能激活这个能力;但如果不匹配,则需要较为全面的数据来重构这个能力
    • 质疑:这里训练步数太少了,看着大家的效果都还没有收敛呢

Domain-Specific Pretraining Improves RL Ceiling

  • 近期成功的 R1-Zero-like 数学推理复现大多采用 Qwen2.5 Base Models 作为初始策略(2025等),这些模型已是强大的数学求解器并表现出自我反思模式(2.2 和 2.3 节)
  • 本节我们探索另一面:
    • R1-Zero-like 训练能否在原本较弱(数学推理方面)的 Base Models 上成功?
    • 回答是肯定的 ,论文还观察到数学预训练会提高 RL 的上限
  • 实验设置 :论文以 Llama-3.2-3B Base Models 为起点,分别用不同数据集进行预训练得到不同的领域模型,然后使用无偏 Dr.GRPO 算法和 R1 模板进行 RL-tuning
    • Llama-3.2-3B :基础模型
    • Llama-3.2-3B-FineMath :在 FineMath 数据集(2025)上对 Llama-3.2-3B 持续预训练(continual pretrained model,CPT)得到的模型
      • 论文假设领域特定预训练有助于 RL,因此特意训练了 Llama-3.2-3B-FineMath
    • Llama-3.2-3B-NuminaQA :在基于 NuminaMath-1.5 的 concatanated Question-Answer 文本数据集上以学习率 1e-5 对 Llama-3.2-3B-FineMath 持续预训练 2 轮
      • 理解:论文假设了 Qwen2.5 模型可能预训练于 concatanated Question-Answer 文本,所以类似地利用 NuminaMath-1.5(2024)数据集生成 concatanated 数据集来训练一个基础模型用于测试 RL
  • 结果 :图8 左图展示了不同 Base Models 的 RL 曲线
    • 论文发现 RL 甚至能改进原始 Llama Base Models,但增益有限
      • 理解:增益有限的原因是因为 Llama Based 模型较差,难以生成正确回复
    • 通过持续预训练(及 concatanated 持续预训练)嵌入数学领域知识后,Llama 模型展现出更强的 RL 性能,验证了论文的假设(假设是基础模型决定了 RL 上限)
    • 论文还用 Llama Base Models(Llama-3.2-3B-NuminaQA)重新审视 GRPO 的优化偏差
      • 图8 右图比较了 GRPO 和 Dr.GRPO 在模型性能和响应长度上的表现
      • 可以清晰看到 GRPO 会产生“double-increase”现象(性能和输出长度),可能导致在 Llama 模型上数学预训练后长链式思维“涌现”的误解
      • 遗憾的是,长度增加可能源于优化偏差(3.1 节),而提出的 Dr.GRPO 能有效缓解此问题(3.2 节和图8 右图)

附录A:策略梯度推导

  • 在 LLM 后训练的 RL 中,论文通常最大化以下目标函数:
    $$
    \mathcal{J}(\pi_{\theta}) = \mathop{\mathbb{E} }_{\mathbf{q}\sim p_{Q} } \left[\mathop{\mathbb{E} }_{\mathbf{o}\sim \pi_{\theta}(\cdot|\mathbf{q})}[R(\mathbf{q}, \mathbf{o})]\right], \tag{4}
    $$
    • \( R(\mathbf{q}, \mathbf{o}) = \sum_{t=1}^{|\mathbf{o}|} r(\mathbf{q}, \mathbf{o}_{ < t}) \) 是轨迹 \(\mathbf{q};\mathbf{o}\) 的回报(Sutton 2018),而 \( r(\mathbf{q}, \mathbf{o}_{ < t}) \) 表示响应 \(\mathbf{o}\) 中第 \( t \) 个 token 的 token-level 奖励
  • 方程(4)的蒙特卡洛策略梯度(Sutton 2018)为:
    $$
    \begin{split}
    \nabla_{\theta}\mathcal{J}(\pi_{\theta}) &= \mathop{\mathbb{E} }_{\mathbf{q}\sim p_{Q} } \left[\mathop{\mathbb{E} }_{\mathbf{o}\sim \pi_{\theta}(\cdot|\mathbf{q})}[\nabla_{\theta} \log \pi_{\theta}(\mathbf{o}|\mathbf{q}) R(\mathbf{q}, \mathbf{o})]\right] \\
    &= \mathop{\mathbb{E} }_{\mathbf{q}\sim p_{Q} } \left[\mathop{\mathbb{E} }_{\mathbf{o}\sim \pi_{\theta}(\cdot|\mathbf{q})}[\nabla_{\theta} \sum_{t=1}^{|\mathbf{o}|} \log \pi_{\theta}(o_{t}|\mathbf{q}, \mathbf{o}_{ < t}) R(\mathbf{q}, \mathbf{o})]\right] \\
    &= \mathop{\mathbb{E} }_{\mathbf{q}\sim p_{Q} } \left[\mathop{\mathbb{E} }_{\mathbf{o}\sim \pi_{\theta}(\cdot|\mathbf{q})}[\sum_{t=1}^{|\mathbf{o}|} \nabla_{\theta} \log \pi_{\theta}(o_{t}|\mathbf{q}, \mathbf{o}_{ < t}) \sum_{t’=t}^{|\mathbf{o}|} r(\mathbf{q}, \mathbf{o}_{\leq t’})]\right] \\
    &= \mathop{\mathbb{E} }_{\mathbf{q}\sim p_{Q} } \left[\mathop{\mathbb{E} }_{\mathbf{o}\sim \pi_{\theta}(\cdot|\mathbf{q})} \left[\sum_{t=1}^{|\mathbf{o}|} \nabla_{\theta} \log \pi_{\theta}(o_{t}|\mathbf{q}, \mathbf{o}_{ < t}) \left( \sum_{t’=t}^{|\mathbf{o}|} r(\mathbf{q}, \mathbf{o}_{\leq t’}) - B(\mathbf{q}, \mathbf{o}_{ < t}) \right)\right]\right],
    \end{split} \tag{5}
    $$
    • 其中 \( B(\mathbf{q}, \mathbf{o}_{ < t}) \) 是一个减少方差的项,其相对于 \( o_{t} \) 不变,因此:
      $$
      \begin{split}
      \mathop{\mathbb{E} }_{o_{t}\sim \pi_{\theta}(\cdot|\mathbf{q}, \mathbf{o}_{ < t})}[\nabla_{\theta} \log \pi_{\theta}(o_{t}|\mathbf{q}, \mathbf{o}_{ < t}) B(\mathbf{q}, \mathbf{o}_{ < t})] &= \mathop{\mathbb{E} }_{o_{t}\sim \pi_{\theta}(\cdot|\mathbf{q}, \mathbf{o}_{ < t})}[\nabla_{\theta} \log \pi_{\theta}(o_{t}|\mathbf{q}, \mathbf{o}_{ < t})] B(\mathbf{q}, \mathbf{o}_{ < t}) \\
      &= [\sum_{o_{t} } \pi_{\theta}(o_{t}|\mathbf{q}, \mathbf{o}_{ < t}) \nabla_{\theta} \log \pi_{\theta}(o_{t}|\mathbf{q}, \mathbf{o}_{ < t})] B(\mathbf{q}, \mathbf{o}_{ < t}) \\
      &= [\sum_{o_{t} } \nabla_{\theta} \pi_{\theta}(o_{t}|\mathbf{q}, \mathbf{o}_{ < t})] B(\mathbf{q}, \mathbf{o}_{ < t}) \\
      &= [\nabla_{\theta} \sum_{o_{t} } \pi_{\theta}(o_{t}|\mathbf{q}, \mathbf{o}_{ < t})] B(\mathbf{q}, \mathbf{o}_{ < t}) \\
      &= [\nabla_{\theta} 1] B(\mathbf{q}, \mathbf{o}_{ < t}) = 0.
      \end{split}
      $$
      • 理解:这里证明主要是证明了策略梯度法中,对累计奖励减去任意与动作无关的值都可以保证原始策略梯度是无偏的
  • 通常,论文设 \( B(\mathbf{q}, \mathbf{o}_{ < t}) = \mathop{\mathbb{E} }_{\mathbf{o}_{\geq t’} \sim \pi_{\theta}(\cdot|\mathbf{q}, \mathbf{o}_{ < t})}[\Sigma_{t’=t}^{|\mathbf{o}|} r(\mathbf{q}, \mathbf{o}_{\leq t’})] \),即当前状态的期望累积奖励(也称为当前状态的价值),并定义 \( A(o_{t}|\mathbf{q}, \mathbf{o}_{ < t}) = \sum_{t’=t}^{|\mathbf{o}|} r(\mathbf{q}, \mathbf{o}_{\leq t’}) - B(\mathbf{q}, \mathbf{o}_{ < t}) \) 为优势。在结果奖励的情况下,\( \Sigma_{t’=t}^{|\mathbf{o}|} r(\mathbf{q}, \mathbf{o}_{\leq t’}) = \sum_{t=1}^{|\mathbf{o}|} r(\mathbf{q}, \mathbf{o}_{\leq t}) = R(\mathbf{q}, \mathbf{o}) \)
  • 通过设 \( B(\mathbf{q}, \mathbf{o}_{ < t}) = \text{mean}(\{R(\mathbf{q}, \mathbf{o}_{1}), \ldots, R(\mathbf{q}, \mathbf{o}_{G})\}) \),方程(5)的策略梯度变为:
    $$
    \nabla_{\theta}\mathcal{J}(\pi_{\theta}) = \mathop{\mathbb{E} }_{\mathbf{q}\sim p_{Q} } \left[\mathop{\mathbb{E} }_{\{\mathbf{o}_{i}\}_{i=1}^{G} \sim \pi_{\theta}(\cdot|\mathbf{q})}[\frac{1}{G} \sum_{i=1}^{G} \sum_{t=1}^{|\mathbf{o}|} \nabla_{\theta} \log \pi_{\theta}(o_{i,t}|\mathbf{q}, \mathbf{o}_{i,<t}) \tilde{A}_{i,t}]\right], \tag{6}
    $$
    • 其中:
      $$
      \tilde{A}_{i,t} = R(\mathbf{q}, \mathbf{o}_{i}) - \text{mean}(\{R(\mathbf{q}, \mathbf{o}_{1}), \ldots, R(\mathbf{q}, \mathbf{o}_{G})\})
      $$
      • 注:以上公式分母上是删除了原始 GRPO 中的的分母,作为对照,补充原始 GRPO 的优势函数估计为:
        $$
        \tilde{A}_{i,t} = \frac{R(\mathbf{q}, \mathbf{o}_{i}) - \text{mean}(\{R(\mathbf{q}, \mathbf{o}_{1}), \ldots, R(\mathbf{q}, \mathbf{o}_{G})\})}{\color{gray}{\color{red}{\text{std}(\{R(\mathbf{q}, \mathbf{o}_{1}), \ldots, R(\mathbf{q}, \mathbf{o}_{G})\})}}}.
        $$
  • 论文采用 PPO(2017b)目标计算方程(6):
    $$
    \begin{split}
    \mathcal{J}(\pi_{\theta}) &= \mathbb{E}_{\mathbf{q} \sim p_{Q}, \{\mathbf{o}_{i}\}_{i=1}^{G} \sim \pi_{\theta_{old} }(\cdot|\mathbf{q})} \\
    &\quad \left[\frac{1}{G} \sum_{i=1}^{G} \sum_{t=1}^{|\mathbf{o_i}|} \left\{\min \left[\frac{\pi_{\theta}(o_{i,t}|\mathbf{q}, \mathbf{o}_{i,<t})}{\pi_{\theta_{old} }(o_{i,t}|\mathbf{q}, \mathbf{o}_{i,<t})} \tilde{A}_{i,t}, \text{clip} \left(\frac{\pi_{\theta}(o_{i,t}|\mathbf{q}, \mathbf{o}_{i,<t})}{\pi_{\theta_{old} }(o_{i,t}|\mathbf{q}, \mathbf{o}_{i,<t})}, 1 - e, 1 + e \right) \tilde{A}_{i,t} \right]\right\}\right],
    \end{split}
    $$
    • 注意:上述公式中与原始 GRPO 的不同是移除了 \(\color{red}{\frac{1}{|\mathbf{o_i}|}}\)
  • 由此论文得出结论:RL 目标中不应出现 std 和 \(|\mathbf{o}|\)
  • \(\tilde{A}_{i,t}\)的无偏性 :论文注意到,上述计算的 \(\tilde{A}_{i,t}\) 与 REINFORCE Leave-One-Out(RLOO)(Ahmadian 等, 2024; Kool 等, 2019)的优势函数等价,仅差一个比例因子,该因子可以归入学习率而不影响RL动态。具体来说:
    $$
    \frac{G}{G-1} \cdot \tilde{A}_{i,t} = \frac{G}{G-1} R(\mathbf{q}, \mathbf{o}_{i}) - \frac{G}{G-1} \frac{1}{G} \sum_{j=1}^{G} R(\mathbf{q}, \mathbf{o}_{j}) = \tilde{A}^{\text{RLOO} }_{i,t}.
    $$

附录B:详细基准测试结果

  • 论文在表4中展示了三种规模(1.5B、3B和7B)的详细基准测试结果。论文还包含了同规模的指令模型和 R1-Distill 模型作为比较。由于论文使用了上下文长度为 4k 的 Qwen2.5-Math Base Models ,因此将所有基线的 Generation Budget 限制为 3k。对于训练了更长上下文的模型(如OpenReasoner-Zero和R1-Distill-Qwen),论文还 Report 了它们在 8k Generation Budget 下的性能

附录C:基于关键词和 LLM 的自我反思行为检测

  • 论文构建了一个精心选择的关键词和短语池,用于识别 LLM 响应中的自我反思行为。然而,LLM 生成的响应通常包含幻觉和无关内容,导致简单或模糊的关键词可能并不代表真正的自我反思。例如,“wait”和“try again”等术语经常导致误检。为了减少误报,论文保持了一个高度选择性且规模较小的关键词池,仅包含强烈指示自我反思的术语。在论文的实验中,关键词池包括:recheck、rethink、reassess、reevaluate、re-evaluate、reevaluation、re-examine、reexamine、reconsider、reanalyze、double-check、check again、think again、verify again 和 go over the steps
  • 我们在图9中展示了不同模型生成回答中各类关键词的出现情况。有趣的是,不同模型家族会侧重不同的关键词。例如:
    • “check again”(再次检查)、”double-check”(复核)、”re-evaluate”(重新评估)、”re-examine”(重新审视)、”recheck”(复查)、”reconsider”(重新考虑)以及”verify again”(再次验证)等短语在 Qwen2.5 家族中出现频率最高
    • DeepSeek 家族的回复中从未出现”re-evaluate”、”re-examine”和”verify again”等表达
    • Llama 模型则频繁使用”think again”(重新思考)这一短语
    • 我们推测这种现象源于预训练数据的差异,尤其是与逻辑推理和数学相关的内容部分
  • 尽管论文精心选择了关键词池,但仍可能不足以识别某些不包含特定关键词的隐式自我反思行为。此外,它仍可能导致误报,如图10中的案例(a)所示。为了更准确地评估 Base Models 的自我反思能力,论文利用更强的LLM(实验中为gpt-4o-mini)分析响应,判断其是否表现出显式或隐式的自我反思行为。这种方法有助于区分真正的自我反思行为与表面或偶然使用相关术语的情况
  • 尽管LLM检测能有效过滤关键词检测的误报并识别隐式自我反思行为,但它仍可能对冗长复杂的响应产生误分类。例如,图10中的案例(b)展示了LLM检测的误报,其中响应被归类为自我反思,但实际上并未表现出自我反思行为。通过关键词检测和 LLM 检测的交叉验证,论文增强了检测的鲁棒性。图11展示了结合两种方法的检测结果
    • 问题:Qwen2.5-Math-1.5B 为什么比 Qwen2.5-Math-7B 反思能力还强?
      • 理解:Qwen2.5 系列模型并不是针对反思训练的,反思多不代表模型性能更好?

附录D:DeepSeek-V3-Base 与 DeepSeek-R1-Zero 的比较

  • 论文分析了 DeepSeek-V3-Base 和 DeepSeek-R1-Zero,以理解 R1-Zero 训练期间模型行为的变化。图12展示了 500 个 MATH 问题在不同难度级别上的响应分类结果。结果表明,大多数错误响应在 RL 训练后被修正,证明了 R1-Zero 训练带来的显著性能提升。同时,论文发现未格式化响应的数量有所增加 ,这与Liu等人(2025b)的观察一致
    • 问题:未格式化响应的数量有所增加 是指 RL 训练反而导致 V3-Base 模型的格式遵循能力下降了吗?
      • 理解:格式遵循是基础模型就有的能力,并不需要 RL 来训练,RL 时将格式作为奖励的一部分,主要是防止格式下降?
  • 表5 Report 了各类别的平均响应长度。结果显示,所有类别的响应长度均显著增加,包括正确响应,这与Guo等人(2025)的图3结果一致。然而,错误响应的平均长度明显长于正确响应。论文猜测这是因为更具挑战性的问题通常需要更长的响应,而错误响应更可能来自较难的问题,从而导致更长的平均长度
  • 自我反思并不一定意味着更高的准确性 :为了研究自我反思行为是否与推理阶段的准确性相关,论文分析了 DeepSeek-R1-Zero 在八次试验中至少引发一次自我反思的问题。对于每个问题,论文采样 100 个响应,并将其分为有自我反思和无自我反思两组。图13展示了每组在每个问题上的准确性差异。结果表明,近一半的自我反思响应并未比无自我反思的响应实现更高的准确性,这表明自我反思并不一定意味着 DeepSeek-R1-Zero 在推理阶段的准确性更高

附录E:Prompts Used for GPT-As-A-Judge

  • 用于检测自我反思行为的 LLM 提示:

  • 上述 Prompt 的基本目标就是使用 GPT 来评估模型是否在自我反思(Self-Reflection),其中文简单总结如下

    1
    2
    3
    4
    5
    6
    7
    我将发送一个数学问题及其详细回答。您的任务是判断回答是否试图解决问题。如果回答偏离主题、包含幻觉、随机内容或其他无关信息,则标记为0。否则,评估回答是否表现出自我反思
    分类规则:
    1. 类别0:回答偏离主题、无意义、不连贯、过度重复或缺乏逻辑推理
    2. 类别1:回答试图解决问题,但未表现出自我反思
    3. 类别2:回答表现出任何形式的自我反思(显式或隐式)
    4. 类别3:回答仅包含用于计算的Python代码,无自我反思
    输出格式:简要说明后跟单个类别编号(0、1、2或3)
  • 用于检查模型问答能力的提示:

  • 上述 Prompt 其中文简单总结如下:

    1
    2
    3
    4
    我将发送一个问题和一个由LLM生成的长回答。您的任务是判断输出是否试图回答问题。输出可能包含无关内容、幻觉或随机回答
    输出格式:以单个整数(0或1)开头,后跟简要说明
    * 返回0:输出未尝试回答问题
    * 返回1:输出尝试回答问题(无论是否完整或正确)

NLP——LLM对齐微调-ETO

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:Trial and Error: Exploration-Based Trajectory Optimization for LLM Agents, PKU & AllenAI, 202407
    • 开源代码:https://arxiv.org/pdf/2403.02502

Paper Summary

  • 整体总结:
    • 论文提出了一种旨在提升大语言模型 Agent 能力的方法 称为 ETO(Exploration-based Trajectory Optimization)
      • 论文的方法通过试错学习(trial and error)优化基于行为克隆的基础 Agent
    • ETO 采用探索-训练迭代框架(持续提升 Agent 性能):
      • 在探索阶段, Agent 与环境交互并收集失败轨迹,构建轨迹偏好对
      • 在训练阶段, Agent 通过 DPO 损失从偏好信息中学习
    • 特别说明:ETO 展现出卓越的任务解决效率,并在缺乏专家轨迹的场景中表现出巨大潜力
  • 更详细一些的说明:论文提出了一种基于探索的轨迹优化方法 ETO
    • 与以往仅依赖成功专家轨迹的研究不同,论文的方法允许 Agent 从其探索失败中学习,通过迭代优化框架提升性能
    • 在探索阶段,Agent 通过与环境交互完成任务,收集失败轨迹以构建对比轨迹对;在随后的训练阶段,Agent 利用这些轨迹偏好对,通过对比学习方法(如 DPO)更新策略
    • 这种探索与训练的迭代循环促进了 Agent 的持续改进
  • 论文在三个复杂任务上的实验表明,ETO 始终以显著优势超越基线方法

Introduction and Discussion

  • LLM 通过为环境和工具交互制定行动计划,展现了解决复杂交互任务的强大能力(2023a; 2023)
  • 以 ChatGPT(OpenAI, 2022)和 GPT-4(OpenAI, 2023)为核心控制器的系统已被开发用于多种应用,包括网页浏览(2023; 2023)、具身任务(2022a; 2023)、多模态推理(2023)以及复杂问答
  • 然而,近期研究表明,开源 LLM 在构建 Agent 时的效果远不及 GPT-4(2023; 2023a; 2023)
  • 构建开源 LLM Agent 的标准方法是模仿学习(Imitation Learning),即基于专家轨迹对 LLM 进行微调
    • 行为克隆(BC, Behavioral Cloning)(Pomerleau, 1991)是一种简单有效的模仿学习技术,通过从观察-动作对中进行监督学习来推导策略
    • 近期研究(2023; 2023)如 Agent Lumos(2023)探索了使用 BC 通过专家轨迹的监督微调(SFT, Supervised Fine-Tuning)开发开源 LLM Agent
    • 这些方法采用 teacher-forcing 算法训练 LLM,使其能够基于观察和过去动作学习生成后续动作的策略
    • 然而,这些完全依赖专家演示的 SFT 方法可能由于对目标环境探索不足而产生次优策略,从而限制其泛化能力
  • 人类学习的过程不仅包括观察成功示范,还包含通过与环境的试错交互体验和探索失败 ,受此启发,论文提出了一种新颖的 LLM Agent 学习方法,称为 基于探索的轨迹优化(ETO)
    • 与以往仅依赖成功轨迹的方法不同,论文的方法利用当前策略的探索失败来增强 Agent 的学习过程
  • 具体而言,论文首先使用基于 SFT 的行为克隆构建 Base Agent(如图1 所示)
    • 在探索阶段,Base Agent 与目标环境交互以完成给定任务,并从环境中获取反馈。论文收集 Base Agent 的失败轨迹 ,并将其与先前为这些任务收集的专家轨迹配对
    • 在训练阶段,论文应用 DPO 损失(2023)通过这些对比轨迹对微调 LLM 策略,从而进一步提升 Agent
    • ETO 可以通过从先前调优的 Agent 中收集失败案例扩展到多轮迭代
  • 论文在三个代表性数据集上评估了论文的方法:
    • 用于网页导航的 WebShop(2022a)
    • 用于模拟科学实验的 ScienceWorld(2022)
    • 用于具身家庭任务的 ALFWorld(2021)
    • 在这些数据集上,ETO 始终以显著优势超越 SFT 行为克隆和其他强基线方法,证明了从探索失败中学习的有效性
  • 其他扩展实验和分析:
    • 论文的方法在 ScienceWorld 的挑战性分布外测试集上实现了 22% 的性能提升,展现了强大的泛化能力
    • 论文的方法在任务解决效率上表现优异,能够以更少的动作步骤获得更高的奖励
    • 在极端缺乏专家轨迹的场景下,ETO 在自博弈模式下仍能表现出色,进一步凸显了其潜力
  • 论文的贡献总结如下:
    • 方法 :论文提出了基于探索的轨迹优化方法 ETO,这是一种通过迭代收集失败轨迹并利用对比学习优化 Agent 策略的学习算法
    • 评估 :在三个复杂交互任务上的大量实验表明,论文的方法以显著优势超越了 SFT 行为克隆和其他强基线方法
    • 分析 :论文通过多角度深入分析验证了 ETO 的有效性,包括分布外泛化、动作效率以及无需专家轨迹的可行性

任务形式化

  • 具有环境反馈的 Agent 任务可以形式化为部分可观测马尔可夫决策过程(POMDP, Partially Observable Markov Decision Process)\((\mathcal{U}, \mathcal{S}, \mathcal{A}, \mathcal{O}, \mathcal{T}, \mathcal{R})\)
    • \(\mathcal{U}\) 是指令空间(instruction space)
    • \(\mathcal{S}\) 是状态空间
    • \(\mathcal{A}\) 是动作空间
    • \(\mathcal{O}\) 是观测空间
    • \(\mathcal{T}: \mathcal{S} \times \mathcal{A} \rightarrow \mathcal{S}\) 是状态转移函数
    • \(\mathcal{R}: \mathcal{S} \times \mathcal{A} \rightarrow [0,1]\) 是奖励函数
    • 注意:在论文的 LLM-based Agent 场景中,\(\mathcal{U}, \mathcal{A}, \mathcal{O}\) 均为自然语言空间的子集
  • 交互过程可总结为:
    • 给定任务指令 \(u \in \mathcal{U}\)
    • 参数为 \(\theta\) 的 LLM Agent 根据其策略 \(\pi_{\theta}\) 生成动作 \(a_1 \sim \pi_{\theta}(\cdot|u) \in \mathcal{A}\)
    • 该动作引发潜在状态空间 \(s_t \in \mathcal{S}\) 的变化,并产生执行反馈作为观测 \(o_t \in \mathcal{O}\)
    • Agent 在第 \(t+1\) 步生成相应动作 \(a_{t+1} \sim \pi_{\theta}(\cdot|u, a_1, o_1, …, o_{t-1}, a_t, \color{red}{o_t}) \in \mathcal{A}\)(注:红色部分 \(\color{red}{o_t}\) 是原始论文中没有加的,这里应该加上才对)
    • 交互循环持续至任务完成或超过最大步数,轨迹 \(e\) 表示为:
      $$
      e = (u, a_1, o_1, …, o_{n-1}, a_n) \sim \pi_{\theta}(e|u), \tag{1}
      $$
      • 其中策略为(\(n\) 为轨迹长度):
        $$
        \pi_{\theta}(e|u) = \prod_{j=1}^n \pi_{\theta}(a_j|u, a_1, o_1, …, o_{j-1}), \tag{2}
        $$
    • 最终计算任务完成度对应的奖励 \(r(u,e) \in [0,1]\),1 表示任务成功完成

Method

  • 论文的方法 ETO 首先通过行为克隆(Behavioral Cloning, BC)训练一个 Base Agent
  • 基于该 Base Agent,论文的框架通过迭代式的试错过程持续优化策略

Behavioral Cloning

  • 行为克隆(BC)通过在专家交互轨迹数据上进行 SFT ,已展现出良好的效果,为构建强大的 Agent 奠定了坚实基础
  • 在本工作中,论文采用 ReAct-style(2022b)的轨迹进行 BC,该方法在生成每个动作前还会生成链式推理(Chain-of-Thought, CoT)的理性解释(rationale)
  • 由于 CoT 和动作在 ReAct 框架中是一起生成的,为简化表示,论文用 \( a \) 表示带有 CoT 的动作
  • 给定专家轨迹数据集 \( \mathcal{D} = \left\{(u, e)^{(i)}\right\}_{i=1}^{|\mathcal{D}|} \),其中 \( |\mathcal{D}| \) 是轨迹数量,论文通过自回归损失对一个 LLM 进行微调,得到 Base Agent \( \pi_{\text{base} } \):
    $$
    \mathcal{L}_{\text{SFT} }(\pi_{\theta}) = -\mathbb{E}_{e \sim \mathcal{D} } \left[\pi_{\theta}(e|u)\right], \tag{3}
    $$
    • 其中 \( e = (u, a_1, o_1, …, o_{n-1}, a_n) \sim \mathcal{D} \) 是一条专家交互轨迹
  • 由于 \( \pi_{\theta}(e|u) = \prod_{j=1}^{n} \pi_{\theta}(a_j|u, …, o_{j-1}) \),在实践中,论文首先将轨迹 \( e \) 中的指令、动作和观察拼接为一个文本序列 \( t \):
    $$
    t = \text{concat}(u, a_1, o_1, …, o_{n-1}, a_n) = (t_1, t_2, …, t_l),
    $$
    • 其中 \( t_k \) 是结果序列中的第 \( k \) 个 词元(token)
    • 注意 token \(t_k\) 和 \(a_j\) 不是一一对应的关系,一个 \(a_j\) 可能对应多个 token \(t_k\)
  • 然后,公式 (3) 中的轨迹概率可以通过直接计算动作的概率(同时掩码任务描述和观察中的 token )得到:
    $$
    \pi_{\theta}(e|u) = -\sum_{k} \log \pi_{\theta}(t_k|t_{<k}) \times \mathbf{1}(t_k \in A),
    $$
    • 其中 \( \mathbf{1}(t_k \in A) \) 是一个指示函数,用于判断 \( t_k \) 是否属于 Agent 生成的动作 token

Learning From Exploration Failures

  • 行为克隆完全依赖于专家轨迹,缺乏对环境探索的能力,这可能导致策略次优
  • 为了训练更强大的 Agent,模型需要能够从失败轨迹中学习
  • 实现这一目标的一种可行方法是 RL ,它使 Agent 能够主动探索环境以获取奖励,并通过试错优化策略(2022):
    $$
    \max_{\pi_{\theta} } \mathbb{E}_{u \sim \mathcal{D}, e \sim \pi_{\theta}(e|u)} \left[r(u, e)\right] - \beta \mathbb{D}_{\text{KL} } \left[\pi_{\theta}(e|u) \mid \mid \pi_{\text{ref} }(e|u)\right], \tag{6}
    $$
    • 其中 KL 项与权重参数 \( \beta \) 用于控制与基础参考策略 \( \pi_{\text{ref} } \)(即 Base Agent \( \pi_{\text{base} } \))的偏离程度
  • 在实践中,待训练的 Agent 策略 \( \pi_{\theta} \) 也初始化为 \( \pi_{\text{base} } \)。然后,公式 (6) 中的优化问题可以通过 RL 方法(如 PPO,2017)求解
  • 然而,直接在 LLM Agent 上应用在线 RL 会面临实际挑战,例如不稳定性和低效率(2023; 2023)。因此,论文设计了一种迭代式离线学习框架 ,通过对比轨迹数据训练 Agent
  • 如图2 所示,训练过程可以表述为一个迭代的探索-训练循环(iterative exploration-training loop)
    • 在 ETO 的探索阶段,Agent 探索环境以收集失败轨迹;
    • 在 ETO 的训练阶段,Agent 从“失败-成功”(failure-success)轨迹对中学习对比信息以更新策略
Exploration Phase
  • 在探索阶段 ,Base Agent \( \pi_{\text{base} } \) 探索环境,收集训练数据中指令对应的轨迹:
    $$
    \hat{e} = (u, \hat{a}_1, \hat{o}_1, …, \hat{o}_{m-1}, \hat{a}_m) \sim \pi_{\text{base} }(e|u). \tag{7}
    $$
  • 环境随后返回轨迹 \( \hat{e} \) 对应的奖励 \( \hat{r} \)
  • 然后,论文基于最终奖励构建“失败-成功”轨迹对,记为 \( e_w \succ e_l \mid u \)
    • \( e_w \) 表示从专家轨迹 \( e \) 中选出的奖励较高的轨迹
    • \( e_l \) 表示从 Agent 生成轨迹 \( \hat{e} \) 中选出的奖励较低的轨迹
  • 注意,论文仅收集奖励不同的轨迹对。如果 \( \hat{e} \) 和 \( e \) 都成功完成任务,则直接丢弃该对
  • 最终,论文得到对比轨迹数据集:
    $$ \mathcal{D}_p = \left\{(u, e_w, e_l)^{(i)}\right\}_{i=1}^{|\mathcal{D}_p|} $$
Training Phase
  • 在训练阶段 ,通过建模轨迹对数据中的“失败-成功”对比信息来更新 Agent 策略
  • 给定轨迹对 \( e_w \succ e_l \mid u \),其“失败-成功”关系可以通过 Bradley-Terry(BT)模型(Bradley and Terry, 1952)建模:
    $$
    p(e_w \succ e_l|u) = \frac{\exp \left(r(u, e_w)\right)}{\exp \left(r(u, e_w)\right) + \exp \left(r(u, e_l)\right)}. \tag{8}
    $$
  • 在公式 (6) 的最优策略 \( \pi_r(e|u) \) 下,环境中的奖励函数 \(r(u, e)\) 可以表示为(2019; 2023):
    $$
    r(u, e) = \beta \log \frac{\pi_r(e|u)}{\pi_{\text{ref} }(e|u)} + \beta \log Z(x), \tag{9}
    $$
    • 其中 \( Z(u) = \sum_{e} \pi_{\text{ref} }(e|u) \exp \left(\frac{1}{\beta} r(u, e)\right) \) 是配分函数
  • 将公式 (9) 代入公式 (8),得到关于策略的 BT 模型:
    $$
    p(e_w \succ e_l|u) = \sigma \left(\beta \log \frac{\pi_{\theta}(e_w|u)}{\pi_{\theta}(e_l|u)} - \beta \log \frac{\pi_{\text{ref} }(e_w|u)}{\pi_{\text{ref} }(e_l|u)}\right),
    $$
    • 其中 \( \sigma \) 是 sigmoid 函数
  • 然后,通过极大似然估计可以得到最优策略 \( \pi_{\theta} \):
    $$
    \mathcal{L}_{\text{DPO} }(\pi_{\theta}; \pi_{\text{ref} }) = -\mathbb{E}_{(u, e_w, e_l) \sim \mathcal{D}_p} \left[\log \sigma \left(\beta \log \frac{\pi_{\theta}(e_w|u)}{\pi_{\theta}(e_l|u)} - \beta \log \frac{\pi_{\text{ref} }(e_w|u)}{\pi_{\text{ref} }(e_l|u)}\right)\right].
    $$
  • 这一优化目标旨在增加成功轨迹 \( e_w \) 的似然,同时降低失败轨迹 \( e_l \) 的似然,并通过约束项保持 Base Agent 的能力。此外,作为公式 (6) 的 RL 目标的重构,公式 (11) 直接最大化最终奖励,同时避免了执行 RL 优化的需求
Iteration
  • 为了进一步提升 Agent 的性能,ETO 采用迭代式的探索-训练方式
  • 在训练阶段后,Agent 策略可用于收集新的失败案例并创建对比轨迹对
  • 这些新数据随后通过轨迹对比学习进一步优化 Agent
  • ETO 的完整学习过程如算法 1 所示

Experiments

  • 在本节中,论文进行了广泛的实验以验证 ETO 的有效性
  • 论文的方法在三个数据集上均表现出优于基线的性能,并且在处理分布外未见任务时展现出更强的优势
  • 分析进一步展示了论文方法的高效性
  • 此外,论文的方法在专家轨迹不可用的场景中也表现出了潜力(注:可解决没有专家轨迹的问题)

Experimental Settings

  • 数据集(Datasets) 论文在三个具有代表性的 Agent 数据集上进行了实验:
    • 用于网页导航的 WebShop(2022a)
    • 用于具身科学实验的 ScienceWorld(2022)
    • 用于具身家务任务的 ALFWorld(2021)
  • WebShop 和 ScienceWorld 环境提供了从 0 到 1 的密集最终奖励
  • ALFWorld 仅提供二进制奖励,表示任务是否完成
  • 这三个环境均可形式化为部分可观测马尔可夫决策过程(POMDP)
  • 关于数据集和专家轨迹收集过程的详细信息,请参阅附录 A
  • 表 1 展示了论文数据集的统计信息
    • 值得注意的是,除了分布内测试集外,ScienceWorld 和 ALFWorld 还包含分布外未见变体的测试集
    • 这些额外的测试集使论文能够评估不同 Agent 的泛化能力
  • Training Setup 论文主要使用 Llama-2-7B-Chat(2023)作为构建 LLM Agent 的基础模型。为了提供更全面的结果,论文还对 Llama-2-13B-Chat 和 Mistral-7B(2023)进行了实验
    • 论文使用了 AdamW 优化器
    • 在 SFT 阶段:
      • 批大小为 64
      • 学习率设置为 1e-5(warmup 后的初始学习率)
      • 预热比例为 3%
      • 使用余弦调度器(cosine scheduler)
      • epochs = 3
    • 随后,Base Agent 将为训练集中的每个实例探索一次以收集失败轨迹
    • 在 ETO 的训练阶段:
      • 批大小为 32
      • 学习率设置为 1e-6(注:一般来说,为了稳定性考虑 DPO/RL的学习率比 SFT 要更小些)
      • DPO 损失中的 \(\beta\):在 WebShop 和 ScienceWorld 中设置为 0.1;在 ALFWorld 中设置为 0.5
      • epochs = 3
    • ETO 的迭代次数:在 WebShop 和 ScienceWorld 中设置为 2;在 ALFWorld 中设置为 1
    • 所有实验均在 8 块 NVIDIA A100 80G GPU 上进行
  • Baselines :论文将 ETO 与 SFT 行为克隆(Behavioral Cloning, BC)和其他后模仿基线方法进行了比较:
    • 1)SFT(2023;)在专家轨迹上进行行为克隆,这是 ETO 和其他基线的 Base Agent
    • 2)Best-of-N 采样 使用 SFT Base Agent,并在 N 次采样中选择奖励最高的轨迹。此处论文将 N 设置为 10
    • 3)RFT(Rejection sampling Fine-Tuning, 2023)是一种强大的基线方法,它将成功轨迹添加到专家轨迹数据集中,并在新的增强轨迹上训练 Agent
    • 4)PPO(Proximal Policy Optimization, 2017)是一种强化学习方法,直接优化 SFT Agent 以最大化最终任务奖励
      论文还纳入了 GPT-3.5-Turbo(OpenAI, 2022)、GPT-4(OpenAI, 2023)以及未调优的 Llama-2-7B-Chat 进行比较
  • Evaluation :所有方法均使用 ReAct-style 的交互格式(2022b)进行评估,并在动作前生成 CoT 推理
    • 每个任务的指令提示中包含 1-shot 上下文示例
    • LLM 的解码温度设置为 0.0 以实现确定性生成,Best-of-N 方法除外
    • 论文主要采用平均奖励(Average Reward)作为指标,表示测试集中所有任务实例的平均奖励
    • 附录 B 中还 Report 了成功率(Success Rate)以供参考

Results

  • 表2 展示了 ETO 和基线方法在三个 Agent 数据集上的性能对比
  • 结果显示,ETO 在 SFT 模仿学习的基础上实现了显著提升,使 WebShop 和 ScienceWorld 的平均奖励分别提高了 8% 和 9.5%
  • 论文的方法在所有数据集上均优于其他基线方法
  • 在 WebShop 数据集上,ETO 的平均奖励甚至超过了 GPT-4,展现了论文方法的卓越性能
  • 尽管 RFT 方法相比 SFT 也有所改进,但其性能仍然受限,因为它是行为克隆的增强版本,仅从成功轨迹中学习
    • 这一对比表明,失败轨迹与专家轨迹的对比对于提升 Agent 性能至关重要
  • 尽管 PPO 在 WebShop 上取得了性能提升,但由于强化学习优化过程固有的不稳定性,它在其他两个数据集上难以取得令人满意的结果,尤其是在仅提供二进制最终奖励的 ALFWorld 数据集上
  • 附录 D 展示了论文方法在任务解决轨迹上的案例分析
  • 泛化性方面:
    • ETO 在分布外未见场景中展现出更强的优势,在 ScienceWorld-Unseen 上实现了 20% 的性能提升;
    • 此外,ETO 在 ALFWorld 的未见场景中也表现出强大的有效性,优于 RFT 和 PPO 基线,后两者均出现了性能下降
    • 这些结果表明,通过试错学习可以进一步提升 Agent 的泛化能力,尤其是在分布外未见场景中
  • 不同 LLM 的结果(Results on Different LLMs):为了进一步证明论文方法的有效性,论文展示了基于其他基础 LLM(包括 Llama-2-13B-Chat 和 Mistral-7B)的结果
    • 表 3 表明,ETO 在不同 LLM 上均能一致提升 Agent 性能
    • 值得注意的是,与 Llama-2-7B 相比,13B 模型在两个数据集上的性能提升相对较小,这表明论文的方法可以为较弱的 Agent 带来更大的收益
    • 尽管 Mistral-7B 是一个比 Llama-2-13B 更强大的 LLM,但在经过 SFT 或 ETO 后,其性能仍不及 Llama-2-7B
    • 这一发现表明,基础 LLM 能力与 Agent 能力之间并无强相关性
  • 效率分析(Analysis on Efficiency):论文在 ScienceWorld 环境中评估了 Agent 的任务解决效率,该环境为每个任务提供了细粒度的子目标,任务的奖励会根据子目标的完成情况更新
    • 通过评估 Agent 在更少动作步骤内实现更高奖励的能力 ,我们可以确定其效率
    • 图3 展示了 ScienceWorld-Seen 测试集的得分轨迹,对比了 ETO、SFT Base Agent 和 Oracle Agent
    • 如图3 所示,ETO 能够在更少的动作步骤内达到更高的奖励
    • 有趣的是,在某些案例(如 15-90 和 19-23)中,论文的方法甚至超过了 Oracle Agent,更早地达到了 100 分
    • 这些结果表明,通过学习失败轨迹,论文的方法还获得了更强大的任务解决效率(更少动作步骤内实现更高奖励)

Ablation of Iterations

  • 本节论文研究了 ETO 中迭代次数的影响,结果如图4 所示
  • 如图所示,ETO 在 WebShop 和 ScienceWorld 数据集上的前两次迭代中能够提升 Agent 性能 ,但进一步增加迭代次数并不会带来持续改进,性能在第三次迭代后开始下降
  • 对于 ALFWorld 数据集,仅第一次迭代的 ETO 表现出改进 ,而第二次和第三次迭代的性能甚至落后于 SFT Base Agent
  • 对此的解释是:
    • ETO 的学习过程依赖于固定的专家轨迹集,而 Agent 的探索阶段是在相同的训练集上进行的,因此,失败-成功对比轨迹数据的多样性和数量受到限制
    • 最初,策略可以通过从过去的错误中学习得到改进,但模型在后续迭代中会过度拟合对比信息 ,导致性能下降
      • 问题:如何理解过度拟合对比信息?
    • 在 ALFWorld 中,粗粒度的二进制奖励进一步阻碍了 Agent 通过迭代训练获得改进
      • 问题:为何粗粒度的二进制奖励会阻碍 Agent 通过迭代训练获得奖励?
    • 作为潜在的解决方案,未来的工作可以探索利用 GPT-4 动态构建更多样化的对比轨迹数据

Strategy of Contrastive Data Construction

  • 本节论文深入探讨了方法中使用的对比轨迹对构建策略
    • 在原文 3.2 节中,论文直接从失败-成功轨迹对中学习(公式 (11)),称为轨迹级对比(trajectory-wise contrastive)
  • 受先前工作(2023b)启发,论文引入了 ETO 的一种细粒度变体,通过比较“good-bad”动作对来捕捉步骤级对比(step-wise contrastive)信息
    • 为此,论文使用专家轨迹在前 \(t-1\) 步进行教师强制(Teacher Forcing) ,然后让 Agent 预测第 \(t\) 步的动作
    • 第 \(t\) 步动作的质量由最终奖励决定(注意:是最终奖励而不是当前时间步 \(t\) 动作的奖励)
      • 问题:怎么由最终奖励决定呢?每一步都是教师给定的,而且只走了 \(t\) 步,教师需要完整序列才能评估奖励吧
      • 回答:详情见附录 C 的内容
  • 论文还实现了一种混合变体,结合了上述两种策略。关于 ETO 步骤级变体的更多细节,请参阅附录 C
  • 表 4 展示了不同方法的对比结果:结果表明,轨迹级对比取得了最佳性能
  • 另一方面,论文发现步骤级对比建模的稳定性较差 ,需要更低的学习率和更高的约束参数 \(\beta\) 以保持 Agent 的基本能力
    • 这种不稳定性可能归因于动作质量的不准确估计 ,因为论文仅使用最终奖励来构建步骤级对比对
    • 此外,混合策略的性能也不及轨迹级对比

Self-Play w/o Expert Trajectory

  • 本节论文探索了一个具有挑战性的场景,即专家轨迹不可用
  • 在这种情况下,Agent 被迫探索环境并依赖自博弈来提升能力
  • 为此,论文移除了 ETO 的行为克隆阶段 ,允许 LLM Agent 以解码温度 1.0 探索环境
  • 随后,论文根据最终奖励比较同一指令下的不同轨迹,构建轨迹偏好数据
  • 最后,Agent 仅基于自身生成的偏好数据进行训练
  • 在 WebShop 上,未调优的 Llama-2-7B-Chat 取得了相对较高的奖励,因此论文使用该数据集进行实验
  • 论文采用了拒绝采样微调(RFT)作为基线
  • 表5 的结果显示
    • 在没有行为克隆的情况下,仅使用 ETO 无法提升性能
    • RFT 在不依赖专家轨迹的情况下展现出了提升 Agent 能力的潜力
    • 然而,当将 RFT 与 ETO 结合时,论文观察到 Agent 性能的进一步提升
    • 这些结果表明,在专家轨迹不可用的场景中,可以先使用 RFT,然后让 Agent 从探索失败中学习
    • 这些结果进一步凸显了论文方法在专家轨迹不可用时的潜力

Related Work

Imitation Learning

  • 模仿学习是一种通过模仿专家示范来学习策略的范式(2017; 2019)
  • 行为克隆(Behavioral Cloning, BC)(Pomerleau, 1991)是模仿学习中一种流行的方法,它利用专家轨迹学习从状态到动作的直接映射
  • 为了缓解行为克隆的局限性,已有多种方法被提出(2011; Ross and Bagnell, 2014)
  • 论文的方法 ETO 与 DAgger(2011)有相似之处,后者通过从失败案例中学习来提升 Agent 性能
    • 然而,与 DAgger 不同,ETO 通过对比轨迹对(contrastive trajectory pairs)优化策略,而非收集额外的专家轨迹

LLM Agents

  • 随着 LLM 展现出多种涌现能力,研究人员开始探索 LLM-based Agent 系统(2023)
  • 近期项目如 AutoGPT(Richards, 2023)、BabyAGI(Nakajima, 2023)和 RestGPT(2023)将 LLM 作为核心控制器,构建了能够解决现实任务的强大 Agent 框架
  • 尽管 GPT 系列模型展现了强大的 Agent 智能,开源 LLM 的表现仍远落后于 GPT-4(2023; 2023a)
  • 为了缩小这一差距,FireAct(2023)、AgentTuning(2023)和 Lumos(2023)等研究从教师 Agent(如 GPT-4)中构建专家轨迹数据,并对开源 LLM 进行行为克隆
  • Aksitov 等 (2023) 进一步通过在前一策略生成的轨迹上进行迭代行为克隆来优化 Agent
  • 与论文的工作同时,Yang 等 (2023) 使用 DAgger 框架(2011)并采用 DPO 损失来开发多模态具身 Agent

LLM Policy Learning

  • 从偏好中学习对于提升 LLM 策略表现具有潜力,尤其是在 LLM 对齐研究中
  • RLHF 通过学习奖励模型并利用近端策略优化(PPO)更新策略模型(2017; 2022)。尽管 RLHF 具有吸引力,但其训练效率低且不稳定
  • 为解决这些问题,Rafailov 等 (2023) 重新形式化了 RLHF 的优化目标,提出 DPO 损失以直接建模偏好
  • 与论文的工作类似,ReST(2023)通过从当前策略生成新样本,并利用离线强化学习方法优化策略
  • 近期研究还探索了 LLM 策略学习在其他领域的应用(2023; 2023b)
    • 例如,Wang 等 (2023b) 训练了一个逐步奖励模型以提升 LLM 在数学推理中的表现
  • 表 6 对比了 ETO 与其他方法,凸显了论文的方法在大语言模型 Agent 策略学习中的优势

Limitations

  • 尽管 ETO 通过试错学习有效提升了 LLM Agent 的能力,但本研究仍存在一些局限性:
    • 1)ETO 假设 Agent 从一开始就执行错误动作,但实际中错误可能发生在中间步骤。若能识别错误动作(如第 3 步的 \(\hat{a}_3\)),则可针对剩余步骤 \(a_{t>3}\) 收集专家轨迹
      • 但当前环境缺乏此类信息,难以实现细粒度的奖励建模
      • 未来可探索利用 GPT-4 识别错误动作并构建更精细的对比轨迹数据
    • 2)本研究专注于针对特定任务开发专用 Agent ,对通用 Agent 的构建探索有限。未来将研究 ETO 训练策略的迁移性,并尝试在多任务场景中应用该方法

附录 A:Datasets

  • WebShop :
    • WebShop (2022a) 是一个在线购物网站环境,Agent需要根据用户指令在平台上导航并完成购买
    • 当 Agent 选择“购买”动作时,环境会提供一个最终奖励(reward),该奖励基于产品属性和价格的匹配程度计算
  • ScienceWorld :
    • ScienceWorld (2022) 是一个基于文本的虚拟环境,专注于完成基础科学实验,包括热力学和电路等10种不同的任务类型
    • Agent 需要通过具身交互环境(embodied interactive environments)与科学概念互动并理解它们
    • 每个任务包含若干可选子目标,最终奖励基于这些子目标的完成情况计算
  • 特别说明:ScienceWorld 的原始测试集包含关键未见任务变体(unseen task variations)
    • 例如,训练集中的任务可能是“烧开水”,而测试集中的任务则是“熔化铅”
    • 因此,论文使用原始测试集来评估模型在未见场景下的泛化性能
    • 论文将原始开发集作为“已见场景”(seen scenarios)的测试集
    • 由于任务9 和任务10 的解决轨迹过长,论文将其排除
    • 为了公平且高效地比较,论文遵循 Lin 等 (2023) 的方法,对于测试变体超过 10个 的任务类型,仅使用前 10个 实例
  • ALFWorld :
    • ALFWorld (2021) 包含与 ALFRED (2020) 数据集中的具身世界(embodied worlds)平行的交互式文本世界(TextWorld)环境
    • 在该环境中,Agent 需要探索并完成高级家务指令
    • 原始 ALFWorld 数据集包含“seen”和“unseen”评估集
    • “seen”集用于评估分布内泛化(in-distribution generalization),而“unseen”集包含新任务实例,用于评估 Agent 的分布外泛化(out-of-distribution generalization)能力
  • 思维链(CoT)标注 :
    • WebShop 和 ALFWorld 提供了少量人工标注的轨迹(trajectories)用于模仿学习(imitation learning)
    • 论文还使用 GPT-4 作为教师 Agent(teacher agent)在 WebShop 环境中探索,并选择奖励大于 0.7 的轨迹
    • ScienceWorld 环境提供了启发式搜索算法为每个子任务生成黄金轨迹(golden trajectories)
    • 由于原始轨迹不包含每个动作步骤的思维链信息,论文使用 GPT-4 生成相应的推理过程

附录 B:Success Rate

  • 论文在表7 中报告了实验的成功率(success rate)
  • 需要注意的是,三个任务的成功率定义不同:
    • 对于 WebShop,成功率定义为最终奖励为 1.0 的实例比例
    • 对于 ScienceWorld,原始论文未提供成功率的定义。但根据其官方环境,当环境达到预定义的潜在状态(latent state)时,即使奖励未精确达到 1.0,轨迹也会被视为成功
    • 对于 ALFWorld,由于仅提供二元最终奖励,成功率等于平均最终奖励

附录 C:Details for Step-Wise Contrastive(分步对比学习的细节)

  • 论文实现了一种 ETO 变体,该变体从“good-bad”动作对(good-bad action pairs)中学习
  • 具体来说,对于任务指令 \( u \) 和专家轨迹 \( e = (u, a_1, …, o_{n-1}, a_n) \),论文使用教师强制(teacher forcing)执行前 \( t-1 \) 步 \( (a_1, o_1, …, a_{t-1}, o_{t-1}) \),并让 Agent 从第 \( t \) 步开始预测动作,生成轨迹:
    $$
    \hat{e} = (u, a_1, o_1, …, o_{t-1}, \hat{a}_t, \hat{o}_t, …, \hat{o}_{m-1}, \hat{a}_m)
    $$
  • 环境会为轨迹 \( \hat{e} \) 返回奖励 \( \hat{r} \):如果将前 \( t-1 \) 步的黄金轨迹记为 \( e_{(t-1)} \),则“good-bad”动作对 \( a_w \succ a_l \mid u, e_{(t-1)} \) 基于最终奖励构建。其中,\( a_w \) 和 \( a_l \) 分别表示从 \( (a_t, \hat{a}_t) \) 中选择的奖励较高和较低的动作。随后,动作对的对比关系可用于 DPO 损失(DPO loss)中以改进策略:
    $$
    \mathcal{L}_{\text{DPO} }(\pi_\theta; \pi_{\text{ref} }) = -\mathbb{E}\left[\log \sigma\left(\beta \log \frac{\pi_\theta(a_w|u, e_{(t-1)})}{\pi_\theta(a_l|u, e_{(t-1)})} - \beta \log \frac{\pi_{\text{ref} }(a_w|u, e_{(t-1)})}{\pi_{\text{ref} }(a_l|u, e_{(t-1)})}\right)\right].
    $$

附录 D:Case Study

  • 论文通过案例分析比较 ETO Agent 与 SFT 行为克隆(behavioral cloning)Agent 的表现。图5 和 图6 分别展示了 WebShop 和 ScienceWorld 的示例
  • 在 WebShop 场景中,SFT Agent 未能选择“3pc”颜色选项,导致次优轨迹
    • 而 ETO 能够从过去的失败中学习,并熟练地选择正确的属性选项
  • 在 ScienceWorld 示例中,任务是“找到一个动物”
    • SFT Agent 持续执行错误动作,专注于非生物对象,且动作选择与思维链(CoT)不一致。相比之下,ETO 成功完成了任务,展示了试错学习的有效性

附录 E:Prompt for Evaluation

  • 论文在 图7、图8 和 图9 中分别展示了 WebShop、ScienceWorld 和 ALFWorld 的指令提示(instruction prompts)。、

NLP——LLM对齐微调-GDPO

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:GDPO: Group reward-Decoupled Normalization Policy Optimization for Multi-reward RL Optimization, 20260108, NVIDIA

Paper Summary

  • 整体总结:
    • 本研究重新审视了一个基本但常被忽视的问题:GRPO 是否真的适用于多 Reward 优化
    • GDPO 不同于先前主要专注于为多 Reward 强化学习设计新 Reward 函数(这些方法常常将 GRPO 作为默认优化方法)
      • 论文的分析表明,将 GRPO 直接应用于求和后的 Reward,会导致不同的 Reward 组合坍缩为相同的 Advantage 值
      • 这种坍缩消除了跨 Reward 维度的重要区别,导致不准确的策略更新和较弱的优化性能,并且在许多情况下可能导致早期训练失败
    • Group-wise Decoupled Policy Optimization (GDPO) 是为多 Reward 强化学习量身定制的、对 GRPO 的一种简单而有效的修改
      • GDPO 对每个 Reward 分别进行归一化,以保留跨 Reward 的差异,并融入 Batch-wise Advantage 归一化,以在纳入更多 Reward 时保持稳定的数值范围
      • 这些改变带来了更好的收敛行为,以及能更忠实地反映预期偏好结构的模型
    • 论文进一步系统地研究了如何将人类偏好优先级融入训练过程,并解释了当目标之间难度差异较大时如何调整 Reward 函数
      • 通过在工具调用、数学推理和代码推理上的大量实验,论文表明 GDPO 始终优于 GRPO
      • 其优势适用于不同数量的 Reward、不同的模型和不同的 Reward 函数
    • 对于多 Reward 强化学习, GDPO 是比 GRPO 更稳定、更准确、与偏好更对齐的优化方法
  • 背景:
    • 为实现在不同场景中展现出与多样化人类偏好相一致的行为这一目标
    • RL 流程已开始纳入多个奖励,每个奖励对应一种特定偏好,共同引导模型趋向期望的行为
  • 问题提出:
    • 近期工作默认在多奖励设置下应用 GRPO ,却未检验其适用性
    • 论文证明直接将 GRPO 用于归一化不同的 rollout 奖励组合会导致它们坍缩为相同的优势值,从而降低训练信号的分辨率,导致次优收敛甚至训练早期失败
  • 论文提出 Group reward-Decoupled Normalization Policy Optimization (GDPO)
    • GDPO 是一种新的策略优化方法,通过解耦单个奖励的归一化来解决上述问题,从而更忠实地保留奖励间的相对差异,实现更准确的多奖励优化,并大幅提升训练稳定性
  • 论文在三个任务上比较 GDPO 与 GRPO :工具调用、数学推理和代码推理,评估了正确性指标(准确率、bug 率)和约束遵循指标(格式、长度)
    • 在所有设置下, GDPO 均稳定优于 GRPO ,证明了其对于多奖励强化学习优化的有效性和泛化能力

Introduction and Discussion

  • 语言模型能力的持续进步,对其行为的期望也相应提高
    • 要求模型不仅能提供准确的回答,还能在多样化场景中展现出与广泛人类偏好相一致的行为,这种需求在持续增长
  • 这些偏好涉及效率(2025, 2025, 2025)、安全性(2024)、回答连贯性与逻辑性(2025, 2025)、性别偏见(2025)等诸多目标
    • 在单一模型中满足这些异质性要求是一项具有挑战性的任务
  • RL 已成为将大型语言模型与这类多样化人类偏好对齐的事实(de facto)训练流程
    • 特别是,近期基于 RL 的方法已开始将多个奖励纳入训练,每个奖励被设计来捕捉不同的人类偏好,共同引导模型朝向人类偏好的行为
    • 尽管对多奖励 RL 的兴趣日益增长,但近期工作(2025, 2025, 2025)主要聚焦于奖励设计本身,并且常常直接依赖 GRPO 应用于多奖励 RL 优化,通常并未检验 GRPO 是否真正适用于优化异质性奖励的组合
  • 论文重新审视 GRPO 在多奖励设置下的适用性,并表明直接将 GRPO 应用于归一化不同的 rollout 奖励组合可能导致它们坍缩为相同的优势值
    • 如图2所示,这实际上限制了训练信号的精度
    • 这种坍缩消除了跨奖励维度的重要区分,导致不准确的策略更新、次优的奖励收敛,并且在许多情况下会导致训练早期失败
  • 为克服这些挑战,论文提出了Group reward-Decoupled Normalization Policy Optimization (GDPO),该方法解耦了对每个个体奖励的组内归一化,如图 1(a) 所示,以确保不同奖励组合之间的区分得以更好保留,并能更准确地反映模型响应间的相对差异
    • 这带来了更精确的多奖励优化和显著改善的训练收敛性
    • 在解耦组内归一化之后,论文应用批间优势归一化,以确保优势值的大小不会随着个体奖励数量的增加而增大
  • 论文在三个任务上比较了 GDPO 和 GRPO :工具调用、数学推理和代码推理
    • 这些任务涵盖了广泛的目标,包括工具调用的准确性和格式正确性、数学推理的准确性和对推理长度约束的遵循,以及代码通过率和 bug 率
    • 在所有任务中, GDPO 收敛得更好
      • 例如,在图 1(b)中,使用 GDPO 训练 Qwen2.5-1.5B-Instruct 在工具调用任务上获得了比 GRPO 更高的正确性和格式遵循度
    • 在具有挑战性的数学任务上, GDPO 也持续优于 GRPO
      • 例如,使用 GDPO 训练 DeepSeek-R1-1.5B 和 Qwen3-4B-Instruct 相比 GRPO 在 AIME 上分别获得了高达 \(6.3%\) 和 \(2.3%\) 的准确率提升,同时保持更多的简短响应
  • 文章认为:GDPO 是多奖励 RL 优化中优于 GRPO 的更好替代方案
  • 论文的贡献如下:
    • GRPO 奖励坍缩分析(Analysis of GRPO reward collapse)
      • 应用 native GRPO 进行多奖励 RL 优化可能导致不同的 Rollout 奖励组合坍缩为相同的优势值,从而削弱学习信号的分辨率
    • GRPO 奖励坍缩的修正(Remediation of GRPO reward collapse) :
      • GDPO 方法对每个奖励分别执行组间解耦归一化,以更好地保留跨奖励的区分,实现更准确的多奖励优化
    • 除了 GDPO 之外,论文还系统性概述了如何修改奖励函数和调整奖励权重,以更忠实地符合不同优先级的人类偏好
    • 论文在三个任务上进行了广泛的实验:工具调用、数学推理和代码推理

GRPO’s propensity for reward signal collapse in multi-reward RL(注:GRPO 在多奖励 RL 中有导致奖励信号坍缩的倾向)

  • GRPO (2024)及其变体,包括 DAPO(2025)和 REINFORCE++(或 REINFORCE++ Baseline)(2025),由于效率高且简单,已成为广泛采用的强化学习算法
    • 与 PPO(2017)相比, GRPO 通过利用组相对优势估计进行策略更新,消除了对价值模型的需求
  • 目前, GRPO 主要用于优化单目标奖励,通常聚焦于准确性
    • 然而,随着模型能力持续增长,近期的研究工作越来越多地寻求在准确性之外优化多个奖励,例如响应长度约束和格式质量(2025, 2024, 2025),以更好地与人类偏好对齐
    • 现有的多奖励RL方法通常采用一个直接的策略:将所有奖励分量求和,然后直接应用 GRPO
  • 形式上,对于给定的问答对 \((q_{i},o_{j})\),其中行为策略 \(\pi_{\theta_{\text{old} } }\) 采样一组 \(G\) 个响应 \(\{o_{j}\}_{j=1}^{G}\),并假设有 \(n\) 个目标,第 \(j\) 个响应的聚合奖励计算为每个目标奖励的总和:
    $$r_{\text{sum} }^{(i,j)}=r_{1}^{(i,j)}+\cdots+r_{n}^{(i,j)} \tag{1}$$
  • 然后,通过对组级聚合奖励进行归一化来获得第 \(j\) 个响应的组相对优势:
    $$A_{\text{sum} }^{(i,j)}=\frac{r_{\text{sum} }^{(i,j)}-\text{mean}\{r_{\text{sum} }^{(i,1)},\ldots,r_{\text{sum} }^{(i,G)}\} }{\text{std}\{r_{\text{sum} }^{(i,1)},\ldots,r_{\text{sum} }^{(i,G)}\} } \tag{2}$$
  • 相应的多奖励 GRPO 优化目标可以表达为:
    $$\mathcal{J}_{\text{ GRPO } }(\theta)=\mathbb{E}_{(q_{i},o_{j})\sim D, \{o_{j}\}_{j=1}^{G},\sim\pi_{\theta_{\text{old} } }(\cdot|q)}\left[\frac{1}{G}\sum_{j=1}^{G}\frac{1}{|o_{j}|}\sum_{t=1}^{|o_{j}|}\min\left(s_{i,t}(\theta),A_{\text{sum} }^{(i,j)},\text{clip}(s_{i,t}(\theta),1-\epsilon,1+\epsilon),A_{\text{sum} }^{(i,j)}\right)\right] \tag{3}$$
    • 其中 \(s_{t}(\theta)=\frac{\pi_{\theta}(o_{j}^{\dagger},|,q,o_{j}^{ < t})}{\pi_{\theta_{\text{old} } }(o_{j}^{\dagger},|,q,o_{j}^{>t})}\),\(\epsilon\) 表示裁剪阈值
    • 为清晰起见,在此公式中论文省略了 KL 散度损失项
  • 论文首先重新审视这种应用 GRPO 进行多奖励 RL 优化的常见做法,并发现一个先前被忽视的问题,即 GRPO 固有地压缩了奖励信号,导致优势估计中的信息丢失
    • 为说明这一点,论文从简单的训练设置开始,然后扩展到更一般的情况
  • 考虑一个场景,论文为每个问题生成两个 Rollout 用于计算组相对优势,任务涉及两个二元奖励 \(r_{1},r_{2}\in\{0,1\}\)
    • 因此,每个 Rollout 的总奖励可以取值为 \(\{0,1,2\}\)
  • 如图 2 所示,论文枚举了组内所有可能的 Rollout 奖励组合,表示为(Rollout 1 的总奖励, rollout 2 的总奖励)以及对应的归一化优势为(rollout 1 的归一化优势, rollout 2 的归一化优势)
  • 尽管忽略顺序时有六种不同的组合,但在应用组内奖励归一化后,只出现两个独特优势组
    • \((0,1)\)、\((0,2)\) 和 \((1,2)\) 产生相同的归一化优势 \(A_{\text{sum} }\),为 \((-0.7071,\ 0.7071)\),而 \((0,0)\)、\((1,1)\) 和 \((2,2)\) 都导致 \((0,0)\)
  • 这揭示了 GRPO 在多奖励优化中优势计算的根本局限性,即过度压缩了丰富的组内奖励信号
    • 直观上,\((0,2)\) 应该比 \((0,1)\) 产生更强的学习信号,因为总奖励为2表示同时满足两个奖励,而奖励为 1 仅对应达成一个奖励
    • 因此,当另一个rollout只获得零奖励时,\((0,2)\) 应该比 \((0,1)\) 产生更大的相对优势
    • 这种局限性还可能因不准确的优势估计而引入训练不稳定的风险
  • 如图 5 所示,使用 GRPO 训练时,正确性奖励分数在大约 400 个训练步后开始下降,表明发生了部分训练坍缩
  • 最近,Dr.GRPO (2025)和 DeepSeek-v3.2(2025)采用了一种 GRPO 变体,从公式(2)中去除了标准差归一化项,使得
    $$ A_{\text{sum} }^{(i,j)}=r_{\text{sum} }^{(i,j)}-\text{mean}\{r_{\text{sum} }^{(i,1)},\ldots,r_{\text{sum} }^{(i,G)}\}$$
  • 这些工作引入此修改以缓解问题级难度偏差,但乍看之下,这个改变似乎也能解决论文识别的问题
    • 去除标准差归一化确实缓解了该问题:\((0,1)\) 和 \((0,2)\) 现在分别产生不同的优势 \((-0.5,0.5)\) 和 \((-1.0,1.0)\)
    • 但当将此设置推广到更多rollout同时保持奖励数量固定时,如图 3 所示,论文观察到与 GRPO 相比,这种修复仅略微增加了独特优势组的数量
    • 在 Rollout 数量固定为四个,但奖励数量逐渐增加的情况下,也能观察到类似的趋势
      • 在这种情况下,论文也只观察到独特优势组数量有适度的改善
      • 论文在第4.1.1节中经验性地检验了去除标准差归一化项的有效性,发现此修改并未带来改进的收敛性或更好的下游评估性能

Method

Group reward-Decoupled normalization Policy Optimization

  • 为克服这些挑战,论文提出了Group reward-Decoupled Normalization Policy Optimization (GDPO)
    • 这是一种旨在更好地保持不同奖励组合之间的区分,并更准确地捕捉其在最终优势中的相对差异的方法
    • 与 GRPO 直接对聚合奖励总和应用组内归一化不同, GDPO 通过先对每个奖励分别执行组内归一化再进行聚合来解耦此过程
  • 具体而言, GDPO 不是先对所有 \(n\) 个奖励求和(如公式(1)),然后应用组内归一化获得 \(A_{\text{sum} }\)(公式(2)),而是计算第 \(i\) 个问题第 \(j\) 个rollout的每个奖励的归一化优势:
    $$A_{1}^{(i,j)}=\frac{r_{1}^{(i,j)}-\text{mean}\{r_{1}^{(i,1)},\ldots,r_{1}^{(i,G)}\} }{\text{std}\{r_{1}^{(i,1)},\ldots,r_{1}^{(i,G)}\} },\quad\ldots,\quad A_{n}^{(i,j)}=\frac{r_{n}^{(i,j)}-\text{mean}\{r_{n}^{(i,1)},\ldots,r_{n}^{(i,G)}\} }{\text{std}\{r_{n}^{(i,1)},\ldots,r_{n}^{(i,G)}\} } \tag{4}$$
  • 用于策略更新的整体优势随后通过首先对所有目标的归一化优势求和获得:
    $$A_{\text{sum} }^{(i,j)}=A_{1}^{(i,j)}+\cdots+A_{n}^{(i,j)} \tag{5}$$
    • 注意:这里优势和是直接相加的,实际中,可能还可以根据不同维度 Rule/RM 的重要性进行加权缩放?
  • 然后,对多奖励优势的和应用批间优势归一化,以确保最终优势 \(\hat{A}_{\text{sum} }^{(i,j)}\) 的数值范围保持稳定,且不会随着引入额外奖励而增长:
    $$\hat{A}_{\text{sum} }^{(i,j)}=\frac{A_{\text{sum} }^{(i,j)}-\text{mean}\left\{A_{\text{sum} }^{(i^{\prime},j^{\prime})}\mid i^{\prime}\in D_{\text{Batch} },j^{\prime}=1,\ldots,G \right\} }{\text{std} \left\{A_{\text{sum} }^{(i^{\prime},j^{\prime})}\mid i^{\prime}\in D_{\text{Batch} },j^{\prime}=1,\ldots,G \right\}+\epsilon} \tag{6}$$
  • 经验上,论文还发现这个归一化步骤提高了训练稳定性,如附录 A 所示,其中去除批间归一化偶尔会导致收敛失败
  • 通过分离每个奖励的归一化, GDPO 缓解了 GRPO 优势估计中存在的信息丢失问题,如图 2 所示
    • 请注意,由于 GDPO 中的批间归一化步骤不会改变不同优势组的数量,为清晰起见,论文在此省略
  • 从图中可以看出,当采用 GRPO 时,不同的奖励组合,例如 \((0,2)\) 和 \((0,1)\),会导致相同的归一化优势,掩盖了它们之间的细微差别
    • 相比之下, GDPO 通过为每个组合分配不同的优势值来保留这些细粒度差异,例如,\((0,1)\) 的奖励组合在 GDPO 归一化后变为 \((-0.7071,0.7071)\),而 \((0,2)\) 变为 \((-1.4142,1.4142)\),这更恰当地反映了 \((0,2)\) 应比 \((0,1)\) 产生更强的学习信号
    • 类似地,当将 rollout 数量扩展到三个时, GRPO 会将优势值 \((0,0,0)\) 分配给 \((1,1,1)\)
    • 然而,\((1,1,1)\) 可能由异质的奖励分配产生,例如 \(r_{1}=(1,1,0)\) 或 \(r_{2}=(0,0,1)\),而 GDPO 将产生非零优势,从而保留了跨奖励维度的有意义的差异
  • 论文通过比较 GDPO 、 GRPO 和去除标准差的 GRPO 在两种实验设置下的独特优势组数量,进一步量化了 GDPO 的有效性,如图 3 所示
    • 在奖励数量为两个且 rollout 数量变化的情况下, GDPO 始终产生显著更多的独特优势组数量,并且随着 rollout 数量增加,差距扩大
    • 另一方面,当固定 rollout 数量为四个并增加奖励数量时,也出现了类似的模式, GDPO 随着目标数量增长展现出逐渐增大的优势粒度
    • 这证明了解耦归一化方法有效地增加了所有 RL 设置中独特优势组的数量,并实现了更精确的优势估计
  • 除了这些理论改进之外,论文观察到使用 GDPO 始终能产生更稳定的训练曲线和改善的收敛性,例如:
    • 如图 4 所示, GDPO 在 工具调用任务 的格式奖励和正确性奖励上都实现了更好的收敛
    • 如图 5 所示, GDPO 也消除了在 数学推理任务 中观察到的 GRPO 训练坍缩问题,其中使用 GDPO 训练的模型在整个训练过程中持续改进正确性奖励分数
    • 第4节中的额外实证结果进一步证实了 GDPO 在广泛下游任务中实现与目标偏好更强对齐的能力

Effective incorporation of priority variation(考虑优先级差异)

  • 到目前为止,论文假设所有目标同等重要
    • 实际上,这个假设在现实应用中并不总是成立
  • 在本节中,论文系统性地概述了如何调整与不同目标相关的奖励权重或修改奖励函数,以强制优先处理更重要的目标
    • 论文还讨论了当基础奖励在难度上差异显著时,这两种设计选择的不同表现
  • 常见的做法是为每个奖励分配不同的权重,以编码目标间的不同优先级,使得 \(r_{\text{sum} }=w_{1}r_{1}+\cdots+w_{n}r_{n}\),从而控制每个奖励对用于策略更新的最终优势的贡献
  • 对于 GDPO ,此类权重应用于每个奖励的归一化优势,如下:
    $$A_{\text{sum} }^{(i,j)}=w_{1}A_{1}^{(i,j)}+\cdots+w_{n}A_{n}^{(i,j)} \tag{7}$$
  • 本文的发现:当基础目标的难度水平差异显著时,调整奖励权重并不总能产生预期的行为
    • 如果一个目标比其他目标容易得多,模型往往会专注于最大化该目标的奖励 ,而不管分配的权重如何
    • 因此,为了更有效地迫使模型分配更多注意力到更具挑战性的目标相关的奖励,必须使权重差异足够大以补偿难度差距
    • 然而,即使进行此类调整,模型可能仍然倾向于优化更容易的奖励,而不是用户意图优先的目标,这一现象论文将在第4.2.1节进行经验性展示
  • 一些近期工作(2025,2024)通过将较容易的奖励条件化于较难的奖励来解决此类 Reward Hacking 问题
    • 给定两个奖励 \(r_{k}\) 和 \(r_{l}\),将 \(r_{k}\) 条件化于 \(r_{l}\) 可以表述为:
      $$r_{k}=\begin{cases}r_{k},&\text{if }r_{l}\geq t\\ 0,&\text{otherwise}.\end{cases} \tag{8}$$
    • 通过这样的奖励函数设计,模型只有在奖励 \(r_{l}\) 满足预定义的分数阈值 \(t\) 时才能获得 \(r_{k}\) 的奖励,因此,模型被迫首先最大化人类优先的奖励,从而完全缓解上述问题
    • 这种策略的经验有效性展示在第 4.2.1 节,其中使用条件化奖励函数训练的模型,相比仅对优先奖励分配更大权重而未使用条件化的模型,在优先目标上实现了更高的性能
    • 论文还观察到,在解决了较易奖励占主导的问题之后,为细粒度优先级调整分配不同的奖励权重也能更忠实地反映在最终模型行为中

Experiments

  • 论文首先在工具调用任务上评估 GDPO 与 GRPO 的有效性(第 4.1 节),该任务涉及优化两个 Reward:
    • 工具调用正确性和格式符合性
  • Next, 论文进行了一项消融研究,检验了带或不带标准差归一化的 GRPO 的训练收敛性和下游性能
  • 然后论文在数学推理任务上比较了 GDPO 和 GRPO ,该任务优化了两个隐含竞争的 Reward:
    • 准确性和长度约束(第 4.2 节)
  • 论文进一步广泛分析了融入不同 Reward 权重和修改 Reward 函数以更好地反映人类偏好中不同优先级的影响,特别是在 Reward 难度差异显著时
  • Finally,论文将优化的 Reward 数量扩展到三个,并在代码推理任务上比较了 GRPO 和 GDPO (第 4.3 节),联合优化了代码生成准确性、对长度约束的遵守程度以及缺陷率,进一步证明了 GDPO 能有效推广到具有三个 Reward 目标的任务场景

Tool calling

  • 论文遵循 ToolRL (2025) 的设置,在工具调用任务上比较 GDPO 与 GRPO
  • 模型被训练学习如何将外部工具整合到推理轨迹中,以按照附录 B 所示的输出格式解决用户任务,其中推理步骤必须包裹在 <think></think> 中,工具调用必须出现在 <tool_call></tool_call> 内,而模型的最终答案必须放置在 <response></response> 内
  • 论文采用与 ToolRL 相同的训练集进行 RL 训练,该数据集包含来自 ToolACE (2024) 的 2k 个样本、来自 Hammar (2024) 的 1k 个样本和来自 xLAM (2025) 的 1k 个样本
    • 每个训练实例包含一个问题及其对应的真实工具调用
  • 训练涉及两个 Reward:
    • 格式 Reward (Format reward) : 格式 Reward \( \mathcal{R}_{\text{format} } \in \{0,1\} \) 检查模型输出是否满足所需的结构,并是否以正确的顺序包含所有必要的字段
    • 正确性 Reward (Correctness reward) : 正确性 Reward \( \mathcal{R}_{\text{correct} } \in [-3,, 3] \) 使用三个指标将模型生成的工具调用与真实调用进行比较:工具名称匹配、参数名称匹配和参数内容匹配
    • Reward 公式的完整描述见附录 C
  • 论文使用 verl (2024) 框架,按照 ToolRL 的 GRPO 配方中的原始超参数设置,使用 GRPO 和 GDPO 训练 Qwen-2.5-Instruct(1.5B 和 3B)(2025) 100 个 step
    • 每个训练问题使用 4 个 Rollout,Batch 大小为 512,最大 Response 长度为 1024
    • 完整的超参数配置列于附录 D
  • 论文在伯克利函数调用排行榜(BFCL-v3)上评估训练好的模型,这是一个涵盖广泛挑战的综合基准测试,包括单步推理、多步工具使用、实时执行、无关工具拒绝、同时多工具选择和多工具执行
    • 论文用 GRPO 和 GDPO 对模型进行了五次微调,并在表 1 中报告了在 BFCL-v3 上的平均准确率和平均格式正确率
    • 此外,论文在图 4 中绘制了两种方法在五次运行中的训练曲线中位数和四分位距
  • 从训练曲线中,论文观察到在所有运行中, GDPO 在格式和正确性 Reward 得分上都持续收敛到更高的值
    • 尽管 GDPO 在格式 Reward 上的收敛所需 step 数方面表现出更大的方差,但最终获得的格式符合性仍优于 GRPO
    • 对于正确性 Reward, GDPO 在早期阶段显示出更快的改进,并在后期阶段达到比 GRPO 基线更高的 Reward 分数,这证明了 GDPO 在提供更准确的 Advantage 估计从而实现更好优化方面的有效性
  • 在表 1 所示的 BFCL-v3 评估中,与 GRPO 训练的模型相比, GDPO 也持续提高了平均工具调用准确率和格式正确率
    • 在训练 Qwen2.5-Instruct-1.5B 时,与 GRPO 相比, GDPO 在实时/非实时任务上的准确率提升了近 5% 和 3%,整体平均准确率提升了约 2.7%,正确格式比率提升了 4% 以上
    • 在 3B 模型上也观察到了类似的改进, GDPO 在所有子任务上继续优于 GRPO ,实现了高达 2% 的准确率提升,并提供了更好的格式符合率
Does removing the standard deviation normalization term in GRPO provide any benefit?
  • 从图 3 回顾可知,移除 GRPO 中的标准差归一化项(记为 GRPO w/o std)会略微增加不同 Advantage 组的数量
  • 在本节中,论文从经验上检验了这种修改的有效性。遵循之前的实验,论文运行 GRPO w/o std 五次,并报告在 BFCL-v3 上的平均准确率和平均格式正确率
  • 在图 1(b) (注:需要结合图 4 看)所示的 Reward 训练曲线中,论文观察到,尽管 GRPO w/o std 收敛到的正确性 Reward 与 GDPO 相似且高于标准 GRPO ,但它完全未能改进格式 Reward
  • 这种失败导致了在 BFCL-v3 上 0% 的正确格式比率(见表 2),表明模型没有学会所需的输出结构
  • 这也表明,仅仅为了增加 Advantage 多样性而移除标准差归一化项,可能会给训练带来不稳定性,最终可能阻止多 Reward 强化学习的成功收敛

Mathematical reasoning

  • 论文考虑一个数学推理任务,它优化两个隐含竞争的 Reward:
    • 准确性和对长度约束的遵守(accuracy and adherence to a length constraint)
    • 目标是提高模型在具有挑战性的数学问题上的性能,同时将生成的输出保持在预定义的 Response 长度内 ,以鼓励高效的问题解决
  • 论文使用 GRPO 和 GDPO 在 DeepScaleR-Preview 数据集 (2025) 上训练 DeepSeek-R1-1.5B、DeepSeek-R1-7B (2025) 和 Qwen3-4B-Instruct (2025) 500 个 step,该数据集包含 40K 个竞赛级数学问题
  • 训练使用 verl (2024) 进行,论文遵循原始的 DeepSeek-R1 提示格式 (2025)
    • 遵循 DLER 设置 (2025),论文融入了动态采样、更高的 Clipping 阈值以及来自 DAPO (2025) 的 Token 平均损失,并使用 16 个 Rollout,Batch 大小为 512,最大 Response 长度为 8000 个 Token
    • 完整的超参数集在附录 E 中提供
  • 训练使用两个 Reward:
    • 长度 Reward (Length reward) : 长度 Reward \( \mathcal{R}_{\text{length} } \in \{0,1\} \) 检查模型的输出是否保持在目标长度 \( l \) 内,在所有后续实验中设置为 4000 个 Token:
      $$
      \mathcal{R}_{\text{length} }=\begin{cases}1, &\text{if response length}\leq l\\ 0, &\text{otherwise.}\end{cases}
      $$
    • 正确性 Reward (Correctness reward) : 正确性 Reward \( \mathcal{R}_{\text{correct} } \in \{0,1\} \) 表示从模型 Response 中提取的最终答案是否与真实答案匹配
  • 论文在 AIME-24 (2024)、AMC(AMC 2022 和 AMC 2023)(2024)、MATH (2021)、Minerva (2022) 和 Olympiad Bench (2024) 上比较了 GRPO 和 GDPO 训练的模型
    • 所有评估均使用 vLLM 作为推理后端,采样温度为 0.6,\( top_{p}=0.95 \),最大 Response 长度为 32k 个 Token
    • 对于每个评估问题,论文生成 16 个样本,并报告平均 pass@1 分数和平均超长比率(记为 Exceed),该比率衡量模型 Response 超过预定义长度限制(4000 个 Token)的百分比
  • 从图 5 所示的 GRPO 和 GDPO 在 DeepSeek-R1-1.5B 上的训练曲线中
    • 论文首先观察到,无论使用哪种优化方法,模型都倾向于最大化较容易的 Reward。在这种情况下,长度 Reward 更容易优化, GRPO 和 GDPO 在大约前 100 个训练 step 内都达到了满分长度分数
    • 论文还看到,长度 Reward 的快速上升与正确性 Reward 的早期下降同时发生,这表明两个 Reward 在竞争
      • 在训练的初始阶段,模型优先满足长度约束,通常以牺牲更具挑战性的正确性目标为代价
      • 然而,从正确性 Reward 的轨迹来看,论文观察到 GDPO 比 GRPO 更有效地恢复了正确性 Reward,在可比的训练 step 数上取得了更高的正确性分数
    • 论文还看到, GRPO 训练在 400 步后开始变得不稳定,正确性 Reward 分数逐渐下降,而 GDPO 则继续提高正确性分数
      • 此外,尽管 GDPO 和 GRPO 在整个训练过程中都保持了近乎完美的长度分数,论文还记录了每个训练 Batch 内的最大 Response 长度,以评估模型在更极端情况下对长度约束的遵守程度
      • 结果显示,尽管获得了几乎满分的长度 Reward,但 GRPO 的最大 Response 长度在大约 400 个训练 step 后开始急剧增加,而 GDPO 的最大 Response 长度继续下降
  • 在附录中的图 9 和图 10 中,在 DeepSeek-R1-7B 和 Qwen3-4B-Instruct 的训练曲线上也观察到了类似的情况,我们可以看到 GDPO 始终能提供更好的长度约束对齐
    • 这种对比进一步说明了 GDPO 在多 Reward 优化方面相较于 GRPO 的有效性
  • 此外,表 3 中的基准测试结果表明, GDPO 训练的模型不仅在推理效率上相比原始模型有显著提高(在 AIME 上超长比率降低了高达 80%),而且在大多数任务上实现了更高的准确性
    • 而且, GDPO 在准确性和长度约束目标上通常都优于 GRPO
    • 对于 DeepSeek-R1-1.5B, GDPO 在所有基准测试中都优于 GRPO ,在 MATH、AIME 和 Olympiad 上的准确率分别提高了 2.6%/6.7%/2.3%,同时也在所有任务中降低了超长比率
      • 问题:数字似乎没有严格对上?
    • 类似的趋势也适用于 DeepSeek-R1-7B 和 Qwen3-4B-Instruct, GDPO 实现了更强的准确性-效率权衡
    • 在更具挑战性的 AIME 基准测试上,收益尤为显著:与 GRPO 下 DeepSeek-R1-7B 和 Qwen3-4B-Instruct 分别为 2.1% 和 2.5% 的超长率相比, GDPO 将准确率提高了近 3%,同时将超长率降至 0.2% 和 0.1%
  • 总之,这些结果表明, GDPO 不仅在一系列数学任务上提高了推理准确性,而且更有效地遵守了长度约束,突显了其在多 Reward 优化方面的优势
Impact analysis of different reward priority variation configurations(Reward 优先级变化配置的影响)
  • 到目前为止,论文假设所有 Reward 都具有同等的优先级
    • 然而,如图 5 所示,即使两个目标被分配了相同的 Reward 权重,模型也常常以牺牲更具挑战性的目标为代价来最大化较容易的目标
  • 在本节中,论文研究当期望模型优先最大化正确性 Reward 而非长度 Reward 时,并且当两个目标的难度差异明显时,调整 Reward 权重是否能够引导模型实现这种偏好
  • 论文首先将 \( \mathcal{R}_{\text{correct} } \) 的 Reward 权重(记为 \( w_{\text{correct} } \) )固定为 1,并将 \( \mathcal{R}_{\text{length} } \) 的 Reward 权重(记为 \( w_{\text{length} } \) )在集合 \( \{0.25,0.5,0.75,1.0\} \) 中变化
    • 这个设置允许论文研究降低 \( w_{\text{length} } \) 是否会鼓励模型优先最大化更具挑战性的正确性 Reward
  • 论文在 DeepSeek-R1-7B 上进行了这个实验,并将 MATH 和 AIME 的平均准确率和平均超长比率绘制在图 6 中(其中 \(\tilde{\mathcal{R}}_{\text{length}}\) 表示 Conditional Length Reward; \(\mathcal{R}_{\text{length}}\) 表示 normal Length Reward;从图中可以看到,GDPO 准确率不及 GRPO 的地方,一般都是因为长度降低太多导致)
    • 其余任务的完整结果在附录 G 中提供(注:表 8 和表 9)
  • 从结果中,论文观察到将 \( w_{\text{length} } \) 降低到 0.75 或 0.5 对平均超长比率影响甚微,对于 GRPO 在 AIME 上仅分别变化了 0.4% 和 0.2%,对于 GDPO 分别变化了 1.3% 和 0.6%
    • 此外,降低 \( w_{\text{length} } \) 并不一定会放宽长度约束,因为将 \( w_{\text{length} } \) 从 0.75 降低到 0.5 并没有在 GRPO 或 GDPO 的 AIME 或 MATH 上持续增加超长比率
    • 这表明,当基础目标在难度上存在显著差异时,仅仅调整 Reward 权重并不能可靠地诱导出预期的优先级排序
    • 只有当 \( w_{\text{length} } \) 降低到 0.25,使其足够小以补偿目标之间的难度差距时,论文才观察到 GRPO 和 GDPO 在 AIME 上以及 GDPO 在 MATH 上的超长比率明显增加
  • 接下来,论文研究了将较容易的长度 Reward 条件化在更具挑战性的正确性 Reward 上,是否有助于缓解两个目标之间的难度差异,并有助于改进优先级对齐
    • 遵循第 3.2 节的公式,论文将原始长度 Reward \( \mathcal{R}_{\text{length} } \) 替换为一个条件化的长度 Reward,其定义如下:
      $$
      \tilde{\mathcal{R} }_{\text{length} }=\begin{cases}1, &\text{if response length}\leq l\text{ and }\mathcal{R}_{\text{correct} }=1\\0, &\text{otherwise.}\end{cases}
      $$
    • 在这个公式下,只有当生成的 Response 也是正确的时候,模型才会获得长度 Reward
  • 首先,论文观察到采用修改后的 Reward 函数 \( \tilde{\mathcal{R} }_{\text{length} } \) 可以防止模型在训练开始时过度最大化长度 Reward
    • 这种 Reward 设计也有助于避免当模型试图满足长度约束时正确性 Reward 分数的大幅下降
    • 从图 7 中可以看出,平均正确性 Reward 仅在训练初期略微下降,随后逐渐恢复
  • 从表 4 中,论文还观察到,与仅仅调整 \( \mathcal{R}_{\text{length} } \) 的权重 \( w_{\text{length} } \) 相比,使用 \( \tilde{\mathcal{R} }_{\text{length} } \) 会导致 GRPO 和 GDPO 的平均超长比率有更大的增加,这表明对长度约束的更有效放宽
    • 然而, GRPO 未能将这种放宽的约束转化为有意义的准确率提升
    • 相比之下, GDPO 更有效地优先考虑正确性 Reward,并在训练中实现了比不使用 \( \tilde{\mathcal{R} }_{\text{length} } \) 时更一致的准确率提升,同时引入的超长违规增加幅度要小得多
    • 例如,与使用相同 Reward 函数的 GRPO 相比,在 GDPO 中使用 \( \tilde{\mathcal{R} }_{\text{length} } \) 在 AIME 上带来了 4.4% 的准确率提升,同时超长比率降低了 16.9%;在 AMC 上获得了 3% 的准确率增益,同时超长违规减少了 4.8%
  • 接下来,论文研究了在通过条件化长度 Reward 缓解了难度差异之后,改变 \( \tilde{\mathcal{R} }_{\text{length} } \) 的 Reward 权重(记为 \( \hat{w}_{\text{length} } \))是否能更忠实地反映细粒度的偏好调整
    • 论文固定正确性 Reward 的权重,并变化 \( \hat{w}_{\text{length} } \in \{0.25,0.5,0.75,1.0\} \)
    • 如图 6 所示,使用条件化 Reward 训练的模型表现得更可预测
      • 例如,将 \( \hat{w}_{\text{length} } \) 从 1.0 降低到 0.25,稳步增加了 GRPO 和 GDPO 在 MATH 和 AIME 上的超长比率,这与调整原始 \( \mathcal{R}_{\text{length} } \) 权重时观察到的不稳定结果形成对比
  • 最后,在所有设置下,包括不同的 Reward 公式和不同的 Reward 权重, GDPO 始终比 GRPO 提供更好的准确性和效率权衡

Coding reasoning

  • 论文考察了在优化多于两个 Reward 的代码推理任务上, GDPO 是否继续优于 GRPO
    • 与数学推理设置类似,目标是提高模型的代码性能,同时将其输出限制在预定义的目标长度内
  • 论文引入了第三个目标,即鼓励模型生成无缺陷的代码
  • 论文通过在 Eurus-2-RL 数据集 (2025) 上训练 DeepSeek-R1-7B 来比较 GDPO 和 GRPO
    • 该数据集包含 24K 个编码问题,每个问题有多个测试用例
  • 训练使用 verl (2024) 框架进行 400 个 step,并采用与数学推理实验中相同的超参数配置
  • 训练优化三个 Reward:
    • 通过率 Reward (Passrate reward) : 通过率 Reward \( \mathcal{R}_{\text{pass} } \in [0,1] \) 衡量生成代码通过的测试用例比例:
      $$
      \mathcal{R}_{\text{pass} }=\frac{\text{number of passed test cases} }{\text{total test cases} }.
      $$
    • 条件化长度 Reward (Conditioned Length reward) : 长度 Reward \( \tilde{\mathcal{R} }_{\text{length} } \in \{0,1\} \) 检查模型的 Response 是否保持在目标长度 \( l \) 内,以及生成的代码是否满足正确性要求:
      $$
      \tilde{\mathcal{R} }_{\text{length} }=\begin{cases}1, &\text{if response length }\leq l\text{ and }\mathcal{R}_{\text{pass} }=1,\\0, &\text{otherwise}.\end{cases}
      $$
    • 缺陷 Reward (Bug reward) : 缺陷 Reward \( \mathcal{R}_{\text{bug} } \in \{0,1\} \) 表示生成的代码是否在运行时或编译时没有错误
  • 对于评估,论文在来自 PRIME (2025) 的验证集上评估训练好的模型,其中包括 Apps (2021)、CodeContests (2022)、Codeforces 和 Taco (2023)
    • 遵循与数学推理评估相同的设置,论文使用采样温度 0.6,\( top_{p} \) 值为 0.95,最大 Response 长度为 32k 个 Token。对于每个评估问题,论文生成 16 个 Rollout,并报告平均测试用例通过率、平均超长比率和平均缺陷率,其中缺陷率衡量导致运行时错误或编译错误的生成代码的比例
  • 论文在两种配置下比较 GDPO 和 GRPO :
    • (1) 使用 \( \mathcal{R}_{\text{pass} } \) 和 \( \tilde{\mathcal{R} }_{\text{length} } \) 的两 Reward 设置
    • (2) 使用 \( \mathcal{R}_{\text{pass} } \)、\( \tilde{\mathcal{R} }_{\text{length} } \) 和 \( \mathcal{R}_{\text{bug} } \) 的三 Reward 设置
  • 论文将 GRPO 的两 Reward 和三 Reward 版本分别记为 \( GRPO _{2\text{-obj} } \) 和 \( GRPO _{3\text{-obj} } \), GDPO 也使用相同的记法
    • 如表 5 所示,与 \( GRPO _{2\text{-obj} } \) 相比,\( GDPO _{2\text{-obj} } \) 在所有任务上都提高了通过率,同时保持了类似的超长比率
      • 注:从表 5 中看起来,优势似乎不是很明显
    • 例如,\( GDPO _{2\text{-obj} } \) 将 Codecontests 的通过率提高了 2.6%,而超长比率仅增加了 0.1%;与 \( GRPO _{2\text{-obj} } \) 相比,在 Taco 上实现了 3.3% 的通过率提升,同时超长违规减少了 1%
    • 在三种 Reward 设置中也可以观察到类似的模式,\( GDPO _{3\text{-obj} } \) 在所有目标上实现了明显更好的平衡,保持了与 \( GRPO _{3\text{-obj} } \) 相似的通过率,同时还显著降低了超长比率和缺陷率
  • 总的来说,这些结果表明,随着 Reward 信号数量的增加, GDPO 仍然有效
    • 在两种 Reward 和三 Reward 配置中,它始终比 GRPO 在所有目标上实现更有利的权衡

Related Work

GRPO 变体

  • 已经提出了几种 Group Relative Policy Optimization ( GRPO ) (2025) 的扩展,以增强该框架的稳定性、有效性和效率
  • 这些方法探索了 Group-wise 归一化或策略更新的替代公式,同时仍基于 GRPO 的核心原理,例如,
    • 为了提高稳定性,Group Sequence Policy Optimization (GSPO) (2025) 基于序列可能性而非 Token 级别定义重要性比率,执行序列级别的 Clipping、Rewarding 和优化
    • 为了提高 RL 性能,Decoupled Clip and Dynamic sAmpling Policy Optimization (DAPO) (2025) 引入了四项关键技术:Clip-Higher、Dynamic Sampling、Token-Level Policy Gradient Loss 和 Overlong Reward Shaping
    • 为了促进高效推理,Group Filtered Policy Optimization (GFPO) (2025) 通过在训练期间为每个问题采样更大的组,并根据其长度和每 Token 奖励率筛选 Response,来解决长度爆炸问题
      • 沿着同一方向,Doing Length pEmalty Right (DLER) (2025) 提出了一种结合了 Batch-wise Reward 归一化、Higher Clipping、Dynamic Sampling 和简单截断长度惩罚的训练配方,实现了 SOTA 准确性-效率权衡

Multi-Reward Reinforcement Learning

  • 越来越多的工作研究了融入多种 Reward 信号的 RL 方法,一个主要用途是建模多样化的人类偏好,例如
    • Safe Reinforcement Learning from Human Feedback (2023) 将人类关于有用性和无害性的偏好解耦,在微调期间动态调整两个目标之间的平衡
    • 类似地,Reinforcement Learning from Personalized Human Feedback (RLPHF) (2023) 通过为每种偏好训练不同的策略模型并在推理时合并它们,来优化具有多种(有时是冲突的)偏好的 LLM
    • ALARM (Align Language Models via Hierarchical Rewards) (2024) 引入了分层 Reward 结构,共同捕捉 Response 质量、风格、公平性和连贯性等维度
  • LLM 的最新进展也整合了多 Reward 优化来处理复杂任务,例如
    • DeepSeek V3.2 (2025) 集成了基于规则的结果 Reward、长度惩罚和语言一致性 Reward,以增强推理和代理能力
  • 多 Reward RL 的另一个重要近期应用是在保持任务性能的同时提高推理模型的效率,主要是通过引入基于长度的 Reward 函数以及基于结果的 Reward,例如,
    • O1-Pruner (2025) 和 (2025) 应用归一化的长度惩罚来确保比例压缩
    • 类似地,(2025) 通过惩罚与采样组内最短正确 Response 的偏差来促进简洁性
    • L1 (2025) 引入了长度控制策略优化(Length Controlled Policy Optimization,LCPO),以优化准确性同时确保 Response 不超过目标长度
    • 最后,(2025) 提出了一种自适应 Reward 塑造方法,根据模型性能动态调整准确性和 Response 长度之间的权衡

附录 A:Training stability issue of GDPO without batch-wise advantage normalization

  • 图 8:使用和未使用批量优势归一化的 GDPO 训练稳定性对比,未进行归一化的运行偶尔会无法收敛

附录 B:ToolRL Training Prompt Format

  • System Prompt for ToolRL Training

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    You are a helpful dialogue assistant capable of leveraging tool calls to solve user tasks and provide structured chat responses.

    # Available Tools
    In your response, you can use the following tools:
    { { Tool List } }

    # Steps for Each Turn
    1. Think: Recall relevant context and analyze the current user goal.
    2. Decide on Tool Usage: If a tool is needed, specify the tool and its parameters.
    3. Respond Appropriately: If a response is needed, generate one while maintaining consistency across user queries.

    # Output Format
    <think> Your thoughts and reasoning </think>
    <tool_call> {“name”: “Tool name”, “parameters”: {“Parameter name”: “Parameter content”, “ ... ...”:
    “ ... ...”}}
    {“name”: “ ... ...”, “parameters”: {“ ... ...”: “ ... ...”, “ ... ...”: “ ... ...”}}
    ...
    </tool_call>
    <response>AI’s final response </response>

    # Important Notes
    1. You must always include the <think> field to outline your reasoning. Provide at least one of <tool_call> or <response>. Decide whether to use <tool_call> (possibly multiple times), <response>, or both.
    2. You can invoke multiple tool calls simultaneously in the <tool_call> fields. Each tool call should be a JSON object with a “name” field and a “parameters” field containing a dictionary of parameters. If no parameters are needed, leave the “parameters” field an empty dictionary.
    3. Refer to the previous dialogue records in the history, including the user’s queries, previous <tool_call>, <response>, and any tool feedback noted as <obs> (if exists).
    • 中文版(ToolRL 训练系统 Prompt):
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      你是一个有用的对话助手,能够利用工具调用来解决用户任务并提供结构化的聊天响应

      可用工具
      在你的回复中,你可以使用以下工具:{ { 工具列表 } }

      每个回合的步骤

      1. **思考 (Think)**:回忆相关上下文并分析当前的用户目标
      2. **决定工具使用 (Decide on Tool Usage)**:如果需要使用工具,请指定工具及其参数
      3. **恰当响应 (Respond Appropriately)**:如果需要生成响应,请在响应用户查询时保持一致

      输出格式
      <think>
      你的想法和推理过程
      </think>
      <tool_call>
      {"name": "工具名称", "parameters": {"参数名": "参数内容", "... ...": "... ..."} }
      {"name": "... ...", "parameters": {"... ...": "... ...", "... ...": "... ..."} }
      ...
      </tool_call>
      <response>
      AI 的最终响应
      </response>

      重要说明
      1. 你必须始终包含 `<think>` 字段来概述你的推理。至少提供 `<tool_call>` 或 `<response>` 中的一个。决定是使用 `<tool_call>`(可能多次使用)、`<response>` 还是两者都用
      2. 你可以在 `<tool_call>` 字段中同时调用多个工具调用。每个工具调用应是一个包含 "name" 字段和 "parameters" 字段的 JSON 对象,"parameters" 字段包含参数字典。如果不需要参数,请将 "parameters" 字段留空字典
      3. 参考历史对话记录,包括用户的查询、之前的 `<tool_call>`、`<response>`,以及任何标记为 `<obs>` 的工具反馈(如果存在)
  • User Prompt for ToolRL Training

    1
    2
    3
    4
    5
    6
    7
    8
    ## Dialogue History
    <user> { { Initial User Input } } </user>
    <think> Round 1 Model Thought </think>
    { { Round 1 model output <tool_call> or <response> } }
    <obs> Round 1 Observation </obs>
    ... ...
    <user> { { User Input } } </user>
    ... ...
    • 中文版(ToolRL 训练用户 Prompt)
      1
      2
      3
      4
      5
      6
      7
      8
      9
      ## 对话历史

      <user> { { 初始用户输入 } } </user>
      <think> 第 1 轮模型思考 </think>
      { { 第 1 轮模型输出 <tool_call> 或 <response> } }
      <obs> 第 1 轮观察 </obs>
      ... ...
      <user> { { 用户输入 } } </user>
      ... ...

附录 C:工具调用奖励函数

Format Reward

  • 格式奖励 \(\mathcal{R}_{\text{format} }\in\{0,1\}\) 检查模型输出是否满足所需结构并按正确顺序包含所有必要字段:
    $$
    \mathcal{R}_{\text{format} }=\begin{cases}1, & \text{if all required fields appear and are in the correct order},\\ 0, & \text{otherwise}.\end{cases}
    \tag{9}
    $$

Correctness Reward

  • 正确性奖励 \(\mathcal{R}_{\text{correct} }\in[-3,,3]\) 将预测的工具调用 \(P=\{P_{1},\ldots,P_{m}\}\) 与真实调用 \(G=\{G_{1},\ldots,G_{n}\}\) 进行比较,正确性奖励由三个部分组成:
    • 工具名称匹配 (Tool Name Matching):
      $$
      r_{\text{name} }=\frac{|N_{G}\cap N_{P}|}{|N_{G}\cup N_{P}|}\in[0,1],
      $$
      • 其中 \(N_{G}\) 和 \(N_{P}\) 分别是真实调用和预测调用的工具名称集合
    • 参数名称匹配 (Parameter Name Matching):
      $$
      r_{\text{param} }=\sum_{G_{j}\in G}\frac{|\text{keys}(G_{j})\cap\text{keys}(P_{j})|}{|\text{keys}(G_{j})\cup\text{keys}(P_{j})|}\in[0,|G|],
      $$
      • 其中 \(\text{keys}(G_{j})\) 和 \(\text{keys}(P_{j})\) 分别是真实调用和预测调用的参数名称
    • 参数内容匹配 (Parameter Content Matching):
      $$
      r_{\text{value} }=\sum_{G_{j}\in G}\sum_{k\in\text{keys}(G_{j})}\mathbf{1}[P_{G}[k]=P_{P}[k]]\in\left[0,\sum_{G_{j}\in G}|\text{keys}(G_{j})|\right],
      $$
      • 其中 \(P_{G}[k]\) 和 \(P_{P}[k]\) 分别是真实调用和预测调用的参数值
    • 总匹配分数 (Total Match Score):
      $$
      r_{\text{match} }=r_{\text{name} }+r_{\text{param} }+r_{\text{value} }\in[0,S_{\text{max} }],
      $$
      • 其中
        $$
        S_{\text{max} }=1+|G|+\sum_{G_{j}\in G}|\text{keys}(G_{j})|.
        $$
  • 最终的正确性奖励通过寻找 \(P\) 和 \(G\) 之间的最优匹配以最大化总匹配分数来计算:
    $$
    \mathcal{R}_{\text{correct} }=6\cdot\frac{R_{\text{max} } }{S_{\text{max} } }-3\in[-3,,3].
    $$
    • 其中 \(R_{\text{max} }\) 表示来自最优匹配的总匹配分数

附录 D:ToolRL Hyperparameters Setting

  • 表 6: GDPO verl 训练配置
    • 所有超参数设置均与 ToolRL (2025) 中使用的保持一致

附录 E:数学/代码推理超参数设置(Math/Coding Reasoning Hyperparameters Setting)

  • 表 7: GDPO verl 训练配置

附录 F:使用 \(\mathcal{R}_{\text{length} }\) 和 \(\mathcal{R}_{\text{correct} }\) 在数学推理数据上训练 DeepSeek-R1-7B 和 Qwen3-4B-Instruct 时 GRPO 和 GDPO 的训练曲线(Training curves of GRPO and GDPO when training DeepSeek-R1-7B and Qwen3-4B-Instruct with \(\mathcal{R}_{\text{length} }\) and \(\mathcal{R}_{\text{correct} }\) on math reasoning data.)

  • 图 9:在数学推理数据上优化 DeepSeek-R1-7B 时, GRPO 和 GDPO 在正确性奖励、长度奖励和批次最大响应长度上的训练行为。我们可以看到 GDPO 在保持正确性提升的同时,对长度约束的遵循也优于 GRPO
  • 图 10:在数学推理数据上优化 Qwen3-4B-Instruct 时, GRPO 和 GDPO 在正确性奖励、长度奖励和批次最大响应长度上的训练行为。我们可以看到 GDPO 在保持正确性提升的同时,对长度约束的遵循也优于 GRPO

附录 G:在数学推理任务上,对比 GRPO / GDPO 微调的 DeepSeek-R1-7B 模型在不同长度奖励权重 \(\{1.0,0.75,0.5,0.25\}\) 下,使用和不使用条件化长度奖励 \(\tilde{\mathcal{R} }_{\text{length} }\) 的效果(Comparison of GRPO/GDPO finetuned DeepSeek-R1-7B models under varying length reward weights \(\{1.0,0.75,0.5,0.25\}\) with and without the conditioned length reward \(\tilde{\mathcal{R} }_{\text{length} }\) on math reasoning tasks)

  • 表 8:在数学推理任务上,对比 GRPO / GDPO 微调的 DeepSeek-R1-7B 模型在不同长度奖励权重 \(\{1.0,0.75,0.5,0.25\}\) 下,使用普通长度奖励 \(\mathcal{R}_{\text{length} }\) 的效果
  • 表 9:在数学推理任务上,对比 GRPO / GDPO 微调的 DeepSeek-R1-7B 模型在不同长度奖励权重 \(\{1.0,0.75,0.5,0.25\}\) 下,使用条件化长度奖励 \(\tilde{\mathcal{R} }_{\text{length} }\) 的效果

NLP——LLM对齐微调-GHPO

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:GHPO: Adaptive Guidance for Stable and Efficient LLM Reinforcement Learning, 20250616, Huawei, CityU
    • 开源代码:github.com/hkgc-1/GHPO

Paper Summary

  • 整体内容
    • 论文提出了一种新颖的难度感知强化学习框架 GHPO(Guided Hybrid Policy Optimization),解决了 LLM 在 RLVR 中面临的训练不稳定和低效问题(这些问题主要源于能力与任务难度之间的不匹配,导致奖励信号稀疏)
    • GHPO 通过自适应 Prompt 优化动态校准任务难度,平衡模仿学习(用于当前模型难以解决的问题)和探索式强化学习(用于更易处理的任务),从而形成平滑且优化的学习课程
    • GHPO 显著提高了训练稳定性(能智能调整学习过程以适应模型能力的动态变化)
  • 背景:
    • RLVR 已成为促进 LLM 自我提升的强大范式(尤其在复杂推理任务中)
    • 当前主流的 On-policy 强化学习方法常面临严重的训练不稳定(training instability)和低效(inefficiency)问题
      • 这主要源于能力与难度的不匹配(capacity-difficulty mismatch) :即训练数据的复杂性往往超出模型当前能力,导致奖励信号极度稀疏和学习停滞
    • 这一挑战对于更轻量级的 LLM 尤为突出
  • 论文提出一种新颖的难度感知(difficulty-aware)强化学习框架 :GHPO
    • GHPO 通过自适应 Prompt 细化动态校准任务难度,提供针对性引导
    • GHPO 创新性地平衡了两种学习模式构建平滑优化的学习课程(smooth and optimized learning curriculum):
      • 对于超出模型当前能力的问题采用直接模仿学习
      • 对较易任务则采用探索式强化学习
  • 实验结果部分:GHPO 在多个高难度数学基准测试中平均性能提升约5%,持续优于强大的在策略强化学习和课程学习基线
  • 论文分析证实,GHPO 显著提高了训练稳定性和最终的推理性能 ,为开发强大且稳健的推理模型提供了一种可扩展且高效的解决方案
  • 开源情况:实现代码已开源

Introduction and Discussion

  • 新一代大推理模型在复杂推理任务中取得了最先进成果
    • 这些大模型包括 OpenAI-o3 (2025)、DeepSeek-R1 (2025) 和 Kimi-1.5 (2025) 等
    • 这些模型的关键特征是其生成链式思维(2022)和 进行反思式推理的能力

      A key characteristic of these models is their proficiency in producing extended Chains-of-Thought (CoT) and engaging in what appears to be reflective reasoning

  • 这种被称为”测试时扩展(test-time scaling)”的现象已被证明能有效解决数学和编程难题
    • 核心训练方法是 Zero-RL 范式,该范式采用 RLVR
  • 基于 RL 的后训练在增强推理能力方面展现出比 SFT 更优的泛化性
    • SFT 的本质是模仿学习,SFT 依赖于从人工标注数据或更强模型提炼的 CoT 中进行模仿学习 (2025)
  • 当前 RLVR 方法存在显著局限,以 GRPO 为例,作为 On-policy 方法,它们高度依赖当前策略模型的性能,导致两大挑战:
    • 1)能力-难度失配导致的奖励稀疏性(Reward Sparsity from Capacity-Difficulty Mismatch) :训练数据固有难度与模型演化能力间的严重不匹配会导致奖励稀疏,即均匀无信息的奖励阻碍学习过程 (2025)

      A significant mismatch between the inherent difficulty of the training data and the model’s evolving capabilities often results in reward sparsity, where uniform and uninformative rewards impede the learning process

    • 2)次优样本效率(Suboptimal Sample Efficiency) : On-policy 算法常受限于次优样本效率
      • 当训练数据集引入更难题以提升基准性能时,策略模型难以有效学习
      • 这一局限在容量受限的轻量化模型中更为突出
  • 现有解决方案包括
    • 课程学习(Curriculum Learning, CL)(2025) 通过逐步引入复杂样本来对齐任务难度与模型能力 ,但需人工启发式划分数据集,缺乏扩展性
    • DAPO (2025) 采用动态采样(dynamic sampling)过滤 完全正确 或 完全错误 的 Prompt,但会丢弃大量训练数据
    • 另一类研究探索 Off-policy 或混合 RL 方法以缓解 On-policy 学习的不稳定性 (2025),但这些方法需要辅助 LLM,增加了训练成本和复杂度
  • 受 SFT 等模仿学习技术启发,论文提出一种简单有效的解决方案:用部分真实解题步骤引导模型
    • 具体做法:通过条件化这些解题步骤,将模型的输出分布导向正确答案 ,缓解难题的奖励稀疏问题
    • 但直接应用该技术可能使训练数据过于简单,降低模型独立解题的学习效率
  • 论文提出 GHPO 框架:
    • GHPO 巧妙地将在线RL与模仿学习统一:
      • 先动态评估样本难度
      • 再通过自适应 Prompt 细化提供差异化引导
    • 对于模型可处理的问题,主要采用标准 On-policy RL鼓励探索;
    • 对于困难样本,则无缝切换至模仿学习模式,提供显式解题步骤
    • 这种混合方法自动平衡探索与直接引导,在提升训练稳定性的同时优化样本效率
  • 论文主要贡献总结如下:
    • 揭示 RLVR 中能力对齐与奖励稀疏问题的关键作用,提出 GHPO 框架以提升训练稳定性与效率
    • 提出 GHPO,通过自适应 Prompt 细化动态检测样本难度,并在 On-policy RL与引导模仿学习间切换
    • 在六个数学基准测试上开展广泛实验,证明 GHPO 优于最先进 RL 方法,且在不同模型家族中均表现稳健

Preliminaries

  • 核心问题:GRPO 训练中的奖励稀疏性挑战

Reinforcement Learning with Verifiable Rewards, RLVR

  • RLVR 范式中,LLM 可表示为 \(\pi_{\theta}\),输入 Prompt \(q\),LLM 生成 Token 序列(轨迹)\(\tau = (o_1, o_2, \ldots, o_T)\)
  • 上述轨迹生成过程被建模: finite-horizon、 Token-level MDP(注:核心是 Token-level):
    • 状态(State) \(s_t\):在生成步骤 \(t\),状态是初始 Prompt \(q\) 与已生成 Token 序列的拼接:\(s_t = (q, o_1, o_2, \ldots, o_{t})\),初始状态 \(s_0 = q\)
    • 动作(Action) \(a_t\):从模型词表 \(\mathcal{V}\) 中选择下一个 Token \(o_t\)
    • 策略(Policy) \(\pi_{\theta}\):即 LLM 本身,给定当前状态提供下一个动作( Token )的概率分布:\(a_t = o_t \sim \pi_{\theta}(\cdot|s_t)\)
    • 奖励(Reward) \(R\):RLVR 采用验证器分配的稀疏终端奖励(仅当完整轨迹结束时分配奖励 ,验证器根据最终答案正确性分配二元奖励):
      $$ R = \begin{cases}
      1 & \text{if the answer is correct} \\
      0 & \text{otherwise}
      \end{cases} $$
  • 训练目标是学习最优策略参数 \(\theta^*\) 以最大化 Prompt 分布 \(\mathcal{D}\) 上的期望终端奖励。目标函数 \(\mathcal{J}(\theta)\) 定义为:
    $$ \mathcal{J}(\theta) = \mathbb{E}_{q\sim\mathcal{D},\tau\sim\pi_{\theta}(\cdot|q)}[R(\tau)] $$
    • 该目标通常通过策略梯度算法优化(策略更新通过增加高优势轨迹对应 Token 的对数概率实现)

GRPO

  • GRPO 在提升 LLM 数学和编程推理能力方面表现卓越,其核心创新是基于组内比较而非绝对奖励值的优势估计方法
  • 对于给定 Prompt \(q\),GRPO 首先从策略模型 \(\pi_{\theta_{\text{old} } }\) 采样 \(G\) 个不同响应 \(\{o_i\}_{i=1}^G\),每个轨迹的优势 \(\hat{A}_{i,t}\) 通过其奖励 \(R_i\) 相对于整组统计量归一化计算:
    $$ \hat{A}_{i,t} = \frac{R_i - \mu_{\mathcal{R} } }{\sigma_{\mathcal{R} } + \epsilon} $$
    • \(\mu_{\mathcal{R} } = \frac{1}{G}\sum_{j=1}^G R_j\) 是组内奖励的均值
    • \(\sigma_{\mathcal{R} } = \sqrt{\frac{1}{G}\sum_{j=1}^G (R_j - \mu_{\mathcal{R} })^2}\) 是组内奖励的标准差
    • \(\epsilon\) 为数值稳定性常数
  • GRPO 方法的关键在于同一响应 \(o_i\) 内所有 Token 生成步骤共享此 Response-level 优势
  • GRPO 复用了 PPO 框架实现训练稳定性,同时策略梯度目标的简化为:
    $$ \mathcal{J}_{\text{GRPO} }(\theta) = \mathbb{E}_{(q,a)\sim D,\{o_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|q)} \left[\frac{1}{G}\sum_{i=1}^G \frac{1}{|o_i|}\sum_{t=1}^{|o_i|} \left(\min\left(\frac{\pi_{\theta}(o_{i,t} \mid q,o_{i,<t})}{\pi_{\theta_{\text{old} } }(o_{i,t} \mid q,o_{i,<t})}\hat{A}_{i,t},\text{clip}\left(\frac{\pi_{\theta}(o_{i,t} \mid q,o_{i,<t})}{\pi_{\theta_{\text{old} } }(o_{i,t} \mid q,o_{i,<t})},1-\epsilon,1+\epsilon\right)\hat{A}_{i,t}\right) -\beta D_{\text{KL} }(\pi_{\theta}|\pi_{\text{ref} })\right)\right] $$
    • 实际应用中,完整目标可能包含剪切机制和 KL 散度惩罚项以正则化策略更新
    • 但近期许多实现发现省略 KL 项(即 \(\beta=0\))仍能成功 (2025; 2025),从而简化优化过程

The Challenge of Reward Sparsity in GRPO

  • GRPO 易受训练低效和不稳定性影响(这在实践复现中很常见)
  • 论文发现其脆弱性的主因是训练数据难度与策略模型能力间的根本性失配 ,表现为严重的奖励稀疏性 ,这对有效强化学习构成重大障碍
  • 当 Query \(q\) 对当前策略 \(\pi_{\theta}\) 来说过于困难时,模型生成的 \(G\) 个响应可能全部错误,导致奖励向量全零(即所有 \(i\in\{1,\ldots,G\}\) 有 \(R_i=0\))
    • 此时组内奖励均值与标准差均为零,公式(2)的优势计算对所有轨迹返回 \(\hat{A}_{i,t}=0\)
    • 这引发两个关键问题:
      • 1)训练低效 :零优势导致该 Query 的梯度消失(模型无法获得学习信号,生成和评估 \(G\) 个响应的计算资源完全浪费)
        • 当批次中包含大量此类难题时,多数数据无法贡献策略改进,极大降低整体训练效率
      • 2)训练不稳定(Training Instability) :能提供非零学习信号的 “effective” Query 数量在梯度更新间剧烈波动
        • 有效批次大小的方差会为梯度估计引入显著噪声,破坏训练稳定性并阻碍可靠收敛
        • 问题:这里是指批次大小的方差,而不是梯度本身的方差
  • 奖励稀疏性挑战在容量受限模型(如设备端部署模型,on-device Model)中尤为严峻
  • 为量化能力-难度失配,论文在包含约 900K 竞赛级数学题的 NuminaMath-1.5 (2024) 数据集上评估 Qwen2.5-7B-Instruct (2025) 模型性能。
    • 结论是无法解决 52 的问题
    • 这一重要发现说明该数据集大部分内容远超对应 Qwen2.5-7B-Base 模型 (2025) 的固有推理能力,更遑论能力更有限的小型 LLM
  • 这清晰表明设备端模型面临的奖励稀疏性问题严重性:
    • 强化学习中超半数数据集可能产生零奖励轨迹 ,无法提供有效梯度信号,严重阻碍模型学习

The Proposed Framework

From Static Guidance to a Dynamic Framework

  • 论文的核心策略是将引导(guidance)直接整合到强化学习循环中 ,通过将策略(policy)与部分真实解轨迹(partial ground-truth traces)结合,以解决第2.3节中详述的奖励稀疏性问题
  • 这一方法的动机基于如下的 Assumption 1 ,即对于困难问题,此类引导能够提高成功概率 ,从而在原本无法获得有效学习信号的情况下提供支持
    • 对于大多数数学数据,真实解轨迹形式的引导通常是可用的,但在 RLVR 训练过程中,这些宝贵的解轨迹信息通常被忽略,仅使用最终的真实答案
  • Assumption 1 :设 \(\mathcal{D}_{in}\) 和 \(\mathcal{D}_{OOD}\) 分别为域内(in-domain)和域外(out-of-distribution)问题分布,\(\pi_{\theta_{0} }\) 为基策略(base policy)
    • 策略 \(\pi\) 的域外性能通过其期望奖励 \(\mathcal{R}(\pi):=\mathbb{E}_{b\sim\mathcal{D}_{OOD},\tau\sim\pi(\cdot|b)}[R(\tau)]\) 衡量
  • 考虑一个基策略无法解决的问题 \(q \sim \mathcal{D}_{in}\),此时其期望奖励非正(\(\mathbb{E}_{\tau\sim\pi_{\theta_{0} }(\cdot|q)}[R(\tau)] \leq 0\))
    • 设 \(h\) 为 \(q\) 的部分真实解轨迹(partial ground-truth solution trace)
  • 从 \(\pi_{\theta_{0} }\) 微调两个策略,通过最大化目标 \(\mathcal{J}_{GRPO}\):
    • \(\pi_{\theta_{q},h}\),使用轨迹:\(\theta_{q,h}=\arg\max_{\theta}\mathcal{J}_{GRPO}(\theta;\{(q,h)\})\)
    • \(\pi_{\theta_{q} }\),不使用轨迹:\(\theta_{q}=\arg\max_{\theta}\mathcal{J}_{GRPO}(\theta;\{q\})\)
  • 论文假设 ,对于失败问题使用真实轨迹能提升域外泛化能力:
    $$
    \mathbb{E}_{b\sim\mathcal{D}_{OOD},\tau\sim\pi_{\theta_{q},h} (\cdot|b)}[R(\tau)] \geq \mathbb{E}_{b\sim\mathcal{D}_{OOD},\tau\sim\pi_{\theta_{q} } (\cdot|b)}[R(\tau)]
    $$
    • 注:这里是只有假设和实验验证吗,是否能给出理论证明?
  • 第4节的实验验证了这一假设的有效性。
  • 利用这个性质,我们可以获取合法的学习信号,即使在困难样本中(原本会返回 0 奖励并导致梯度消失的样本),但静态应用这一原则(例如预先标记一组固定问题为“困难”并始终对其应用引导)是次优的,存在两个关键限制:
    • 人工精选与可扩展性(Manual Curation and Scalability) :静态方法需要繁琐的离线流程来确定何时需要引导
      • 静态方法不仅难以扩展,而且具有主观性,可能与模型的实际知识缺口不完全匹配
    • 进化中的模型能力(Evolving Model Capability) :训练初期对策略无法解决的问题可能在多次更新后变得简单
      • 静态引导策略无法适应模型的动态能力,可能导致对已能通过探索解决的问题“过度引导”,抑制新颖推理路径的学习,降低样本效率

Guided Hybrid Policy Optimization, GHPO

  • 论文提出一种自动化框架引导混合策略优化(GHPO) ,旨在提升强化学习效率
  • 如图2 所示,GHPO 动态评估样本难度,并自适应地在标准策略强化学习与引导学习之间切换
    • 这种创新方法确保仅在真正需要时提供引导,保留对模型当前能力范围内问题的探索,同时对更具挑战性的场景提供自适应优化
  • GHPO 包含两个核心模块:
    • 自动化难度检测(Automated Difficulty Detection) :评估当前问题的固有难度,决定后续学习流程
    • 自适应 Prompt 优化(Adaptive Prompt Refinement) :根据检测到的难度,通过融入不同级别的真实引导来优化 Prompt
  • 对于给定 Query \(q\) 和真实答案 \(a\),GHPO 首先生成 \(G\) 个独立响应 \(\{o_{i}\}_{i=1}^{G}\),并通过奖励模型获取其二元奖励 \(\{r_{i}\}_{i=1}^{G}\)
    • 与 GRPO 不同,这些组级奖励不直接用于优势估计,而是由难度检测模块分析其稀疏性,并根据预设策略优化 Prompt
  • 数学上,GHPO通过以下目标优化策略:
    $$
    \mathcal{J}_{\text{GHPO} }(\theta) =\mathbb{E}_{(q,a)\sim D,\{o_{i}\}_{i=1}^{G}\sim\pi_{\theta_{old} } }(\cdot|q)
    \left[\frac{1}{G}\sum_{i=1}^{G}\frac{1}{|o_{i}|}\sum_{t=1}^{|o_{i}|}\Big{(}\min\big{(}r_{i,t}(\theta)\hat{A}_{i,t},\text{clip},(r_{i,t}(\theta),1-\epsilon,1+\epsilon),\hat{A}_{i,t}\big{)} -\beta D_{\text{KL} }(\pi_{\theta}|\pi_{\text{ref} })\Big{)}\right] \\
    \text{s.t.} \quad q^{*}=\begin{cases}
    q & \sum_{i=1}^{n}f(a,o_{i})>0 \\
    q+\omega*h_{f,q} & \text{otherwise}
    \end{cases}. \\
    r_{i,t}(\theta)=\frac{\pi_{\theta}(o_{i,t}\mid q^{*},o_{i,<t})}{\pi_{\theta_\text{old}}(o_{i,t}\mid q^{*},o_{i,<t})}, \tag{4-6}
    $$
    • 函数 \(f\) 判断预测是否等价于真实答案
    • \(h_{f,q}\) 是 Query \(q\) 的完整真实解序列
    • \(\omega\) 为分阶段调整的 Hint 比例 (Hint Ratio)
  • 通过无缝整合这两个模块,GHPO 能高效切换策略强化学习与引导模仿学习,显著提升训练效率
  • 图3 展示了 GHPO 的 Prompt 模板
  • 相较于原始 GRPO Prompt ,GHPO 引入增强结构,从真实解中提取 Hints 并附加引导句:“以下文本是答案的开头部分,可供参考以解决问题:”

    The following text is the beginning part of the answer, which you can refer to for solving the problem

Automated Difficulty Detection

  • 如Assumption 1 所述,通过融入离线真实 Hints,可以为最困难的问题获取有效学习信号
    • 然而,静态预定义哪些问题需要引导的方法因第3.2节所述限制而难以扩展
  • 论文提出难度检测模块(difficulty detection module) ,在不增加人工成本的情况下评估当前问题的固有难度
    • 与其他基于模型的高成本方法不同,论文的方法利用学习过程中固有的准确率奖励
  • 对于训练批次中的每个 Query \(q\),论文通过分析其 \(G\) 个响应的组级奖励 \(\{r_{i}\}_{i=1}^{G}\)(公式6定义)来评估其相对于当前策略模型 \(\pi_{\theta}\) 的难度
    • 若某 Query 的所有 \(G\) 个奖励均为零,表明即使从其输出分布中采样多次,当前策略模型也未能生成正确推理路径
    • 此时,这些稀疏奖励无法为策略改进提供有效梯度信息,因此该 Query \(q\) 被标记为对当前策略模型 \(\pi_{\theta}\) 困难(difficult) ,需自适应引导

Adaptive Prompt Refinement with Multi-Stage Guidance(多阶段指导的自适应 Hint 优化)

  • 难度检测模块能够识别出当前策略模型 \(\pi_{\theta}\) 难以处理的 Query 问题
    • 此时根据假设 1(Assumption 1),引入真实解答的 Hints (ground-truth solution hints)可以为这些难题提供有效的学习信号
  • 这种指导通过 Hint 比例参数 \(\omega\) 来控制(即引入真实解答的特定比例)
    • 但确定一个固定的最优 \(\omega\) 值具有挑战性,且对于不同难度分布的逻辑推理任务往往效果不佳,因为更复杂的问题天然需要更大比例的 Hint
  • 为了解决这一问题,并确保策略改进过程中的持续学习,论文提出了一种多阶段指导的自适应 Hint 优化策略(Adaptive Prompt Refinement strategy with Multi-stage Guidance)
    • 该策略能够动态调整 Hint 比例 \(\omega\)
    • 核心设计目标是避免因 Hint 冗余而导致任务过度简化 ,即防止因过度偏离原始 Query 而降低学习效果
    • 动态 Hint 注入的核心思想是通过学习阶段的线性调度来控制 Hint 比例
    • 论文首先注入一小部分真实解答作为初始 Hint ,若模型仍无法生成正确答案,则在后续阶段逐步增加 Hint 的长度
  • 在学习过程的第一阶段 ,论文设置 Hint 比例 \(\omega = 0.25\),旨在平衡数据难度与策略模型当前能力之间的关系
    • 如公式 (6) 所定义,对于训练批次中被识别为困难的 Query 问题,论文从真实解答轨迹 \(h_{f,q}\) 中提取 25% 的内容作为辅助 Hint ,并将其与原始 Query 拼接,形成优化后的 Query \(q^{*} = q + \omega \cdot h_{f,q}\),随后用于模型推理
  • 在学习过程的第二阶段 :
    • 若难度检测模块评估至少有一个生成的响应是正确的 ,则保留原始 Query 用于后续组优势计算;
    • 若所有响应均未通过评估(表明问题难度较高),则将 Hint 比例提升至 \(\omega = 0.5\) 以提供更多指导
    • 论文采用最多三阶段的线性调度策略,\(\omega\) 的取值序列为 \(\{0.25, 0.5, 0.75\}\)
    • 这一策略能够充分利用训练数据提升训练效率,无需直接剔除困难 Query
  • 除了自适应优化高难度 Query 外,该策略还可视为一种动态数据增强方法
    • 随着策略模型能力在学习过程中逐步提升,最初需要较高 \(\omega\) 的 Query 可能最终仅需较低比例的指导,甚至完全无需指导
    • 理解:这种方法也可以看做是一种课程学习的思路

Cold-Start Strategy

  • 在初始优化阶段,策略模型常难以遵循特定格式指令(如将答案括在指定框内),导致预测与真实答案不匹配,准确率奖励低下
    • 此时,自动化难度检测模块可能错误地将多数 Query 标记为困难,引入偏差并浪费计算资源
  • 论文提出可选的冷启动策略(Cold-Start Strategy)
    • 在前 \(N\) 步优化(实验中设为 20步)中,暂时禁用难度检测机制,仅使用原始 GRPO 训练流程
    • 该方法在初期节省计算资源,同时让模型掌握基础格式能力,避免在引入自适应引导前产生早期偏差

Hint Extraction Example

  • 图4展示了 GHPO 如何有效处理检测到的困难问题
  • 以原问题“若三角形两边长为5和7单位,第三边可能的整数长度有多少种?”为例,当前模型多次采样均无法生成正确推理响应,导致奖励稀疏问题
  • 为此,GHPO 智能干预,提取真实解的 50% 作为 Hint ,与原问题拼接并附加引导句
  • 如图4左侧所示,新构建的 GHPO Prompt 包含针对性 Hint ,从而引导模型更有效地推理

Experiment

Training Datasets

  • 使用可验证的数学任务评估 GHPO 算法的有效性
  • 论文从 MATH (2021) 和 NuminaMath-1.5 (2024) 数据集中构建了两个不同难度的训练数据集:
    • Math3to5 :该数据集包含 8,890 道竞赛数学题,难度范围为 3 至 5 级,每道题均附带逐步的真实解答
      • 该数据集代表中等难度水平
    • NuminaMath-S :这是一个更具挑战性的数据集,包含从 NuminaMath-1.5 中精选的 18,300 道问题,整合了 Math3to5 数据集以及来自 OlympiadBench 和 AMC 的额外问题
      • 该数据集中的每道问题也附带 step-by-step 的真实解答
      • 该数据集代表困难难度级别
  • 这两个数据集旨在模拟现实世界中 RLVR 训练场景中常见的中等和困难问题级别

Baseline Models

  • 为了全面评估 GHPO,论文选择了两个基础 LLM ,并实现了多种 RLVR 方法:
    • Qwen2.5-Base-7B (2025):Qwen2.5-7B 的基础模型
    • Qwen2.5-Math-7B (2024):基于 Qwen2.5-7B 的专用数学大语言模型
    • Qwen2.5-7B-GRPO :使用 GRPO 训练流程 (2025) 微调的 Qwen2.5-Base-7B
    • Qwen2.5-Math-7B-GRPO :使用 GRPO 训练流程微调的 Qwen2.5-Math-7B
    • Qwen2.5-7B-GRPO-CL :该模型采用两阶段训练流程
      • 第一阶段:Qwen2.5-Base-7B 在 math3to5 数据集上使用 GRPO 进行训练;
      • 第二阶段:使用来自 OlympiadBench 和 AMC 的更困难问题对模型进行微调 ,显著提升第一阶段的难度级别
    • Qwen2.5-7B-GRPO-CL-H :该变体在 Qwen2.5-7B-GRPO-CL 的第二训练阶段应用了恒定 Hint 注入策略(constant hint injection strategy) ,旨在通过提供一致的指导来平衡学习过程
      • 论文在第二训练阶段应用恒定提示注入,以平衡学习过程

Implementation Details

  • 论文使用 openr1 (2025) 代码库和 TRL (2020) 框架进行实验
  • GHPO 训练在 8 块高性能 GPU 上完成,每块 GPU 配备 80GB 内存和高带宽
  • 奖励设置(Reward Setting) :
    • 论文采用 Rule-based 奖励函数,正确答案奖励 +1,错误答案奖励 0
    • 论文还引入了Format-based 奖励 ,鼓励模型在给出最终答案前显式执行推理步骤
    • 格式奖励的权重与 Rule-based 奖励的比例设置为 2:1
  • 超参数与训练配置(Hyperparameters and Training Configuration) :
    • 使用 AdamW 优化器 (2017)
    • 初始学习率为 \(1 \times 10^{-6}\)
    • 采用余弦调度将学习率衰减至零
    • 10% 的全局步数预热阶段
    • 训练批次大小为 112
    • 每个 Query 采样 8 个响应
    • 梯度更新的累积步数为 8
    • 在训练阶段:
      • 采样配置包括温度为 1.0
      • 每个响应的最大生成长度为 2048 个 token
    • 没有使用 KL 正则化损失或 KL 惩罚

Evaluation Details

  • 论文使用 Lighteval 工具包 (2023) 构建评估脚本
  • 评估时,温度设置为 0.0 或 1.0(根据基准难度调整),最大生成长度为 4096 个 token
  • 为确保一致性,论文使用与训练阶段完全相同的 Prompt 模板,在此阶段不使用任何 Extracted Hint 或 Hint-guided Prompts
  • 论文评估了标准数学推理基准上的性能
    • 包括:MATH_500 (2021)、OlympiadBench (2024)、Minerva Math (2022)、GPQA-Diamond (2023)
  • 论文还评估了竞赛级基准上的性能
    • 如 AMC2023 和 AIME2024 上的性能
  • 报告指标:
    • 对于大多数基准,论文报告 pass@1 结果;
    • 对于 AIME2024,论文报告平均准确率(avg@32),即每个问题生成 32 个样本的平均值

Overall Performance

  • 论文的实验评估证明了所提出的 GHPO 方法相较于传统方法的显著有效性和优越性
  • 论文在不同难度数据集和不同基线模型上展示了实验结果
  • 中等难度任务的性能(Performance on Medium-Difficulty Tasks) :
    • 首先在 math3to5 训练数据集上进行了初步实验
    • 如表 1 所示,标准 GRPO 方法成功将 Qwen-7B 基础模型训练为强大的推理代理,甚至优于经过大量数学数据微调的 Qwen2.5-Math-7B
    • 但论文的 GHPO 进一步提升了性能,平均准确率比 GRPO 提高了 4.4%
    • 这一提升主要是因为 GHPO 缓解了奖励稀疏性问题
    • 在六个评估基准上,GHPO 训练的模型始终表现出更优的推理能力
    • 特别是在 AMC2023 和 GPQA-Diamond 上,GHPO 的准确率比 GRPO 提高了超过 8%
  • 困难任务的性能(Performance on Challenging Tasks) :
    • 为了进一步评估 GHPO 的鲁棒性,论文使用更具挑战性的 NuminaMath-S 数据集训练 Qwen2.5-7B 基础模型
    • 除了原始 GRPO,论文还引入了课程学习基线(Qwen2.5-7B-GRPO-CL) ,该基线手动按难度划分训练数据集
    • 如表 2 所示,Qwen2.5-7B-GHPO 模型在五个基准上均优于 Qwen2.5-7B-GRPO 和 Qwen2.5-7B-GRPO-CL
      • 这表明奖励稀疏性严重阻碍了有效学习,尤其是对于超出模型当前能力的问题
      • 例如,在 AIME2024 问题上,GHPO 的准确率从 0.122 提升至 0.163
  • 课程学习和固定 Hints 的影响(Impact curriculum learning and Fixed Hints) :
    • 虽然课程学习部分解决了模型能力与问题难度不匹配的问题,但其效果始终不及 GHPO
    • 在某些基准(如 AIME2024 和 GPQA-Diamond)上,课程学习的性能甚至可能比原始 GRPO 更差
    • 课程学习的一个关键限制是:课程学习依赖于数据集的严格细粒度难度划分(这在实践中往往难以可靠实现)
    • 论文还研究了固定 Hints 的场景,结果显示其效果低于 GHPO
      • Qwen2.5-7B-GHPO-CL-H0.5 融入了固定 50% 的真实轨迹比例(针对困难问题),实验展示了标准课程学习的提升,从0.415 提升至 0.422(详情见表2),但其效果不如 GHPO

Training Dynamics

  • 理解 GHPO 框架在训练期间的行为对于认识其优势至关重要
  • 图 5 展示了奖励稀疏性的持续挑战:
    • 图5 显示了小批次中需要添加 Hints 以缓解此问题的比例
    • 在初始训练阶段,大多数问题对当前大语言模型来说过于困难(且这一趋势并未迅速减弱;)
    • 即使在后续训练阶段,约 60% 的问题仍超出模型当前能力 ,凸显了奖励稀疏性在强化学习过程中的普遍性
  • 为了更深入理解 GRPO 和 GHPO 在训练期间的独特行为,论文仔细检查了四个代表性指标:
    • 格式奖励、准确率奖励、平均响应长度和梯度范数
  • 这些动态如图 6 所示:
    • 格式奖励(Format Reward) :GRPO 和 GHPO 两种算法在训练早期均达到了接近最大值的格式奖励,并始终保持高水平
    • 准确率奖励 :GHPO 在所有训练阶段均表现出明显的准确率奖励优势
    • 平均响应长度 :GRPO 和 GHPO 两种方法的平均响应长度均随时间稳步增加,但 GHPO 在后期生成的响应显著更长
    • 梯度范数 :GHPO 的梯度范数始终显著小于 GRPO,表明其优化过程更平滑稳定
  • 以上这些观察结果表明,GHPO 不仅任务性能更优 ,还能促进更详细的推理 ,并在训练过程中实现更稳定的优化轨迹

Generalization to Other Models

  • 为了进一步证明论文方法的普适性和鲁棒性,论文使用更强大的基础模型 Qwen2.5-Math-7B 评估了 GHPO 的有效性
  • 如表 2 所示,GHPO 始终能生成更强大的推理模型,其性能优于相同基础模型上应用的原始 GRPO 方法
  • 这表明 GHPO 的适应性指导机制有效补充了高级预训练,为复杂推理任务提供了更高效的微调

Case Study

  • 论文提供了一个详细案例研究,以说明 GRPO 和 GHPO 在解决一个特别困难的数学问题时的比较有效性
  • 表 3 展示了该问题及其真实解答
    • 在原始 GRPO 框架下,模型通常无法生成正确的推理路径,导致奖励稀疏性问题
    • GHPO 通过智能使用 Hint 引导的输入解决了这一挑战
  • 如表 4 所示,GHPO 通过将真实解答的前 50% 拼接至原始问题中,成功引导模型生成至少一条正确的推理路径
    • 标准 GRPO 训练生成的推理路径往往偏离真实解答,导致错误答案

Related Work

  • RL 在提升 LLM 的推理能力方面取得了显著成功
    • DeepSeek-R1 (2025) 提出了一种纯强化学习范式,称为 Zero RL training,该方法使用简单但高效的 Rule-based 奖励模型直接从 Base LLM 进行训练
    • SimpleRL-Zoo (2025) 通过在不同基础模型和规模上进行全面的实证研究,进一步探索了 Zero RL 训练的行为模式
    • 一些变体方法通过优化底层机制或引入新设计元素,进一步推动了 Zero RL 训练的进展
    • DAPO (2025) 从策略优化目标的角度分析了 Zero RL 训练的核心机制(DAPO 并不是特别为 Zero RL 做的吧),并提出了四项关键技术,以提高 RL 训练的效率、稳定性和生成长链思维(Chain-of-Thought, CoT)的能力
    • Dr. GRPO (2025) 提出了一种无偏优化方法,从原始 GRPO 公式中移除了长度和标准差惩罚项,从而在保持强大推理性能的同时提高了标记效率
    • LUFFY (2025) 通过将 Off-policy 推理演示与在策略 Zero RL 训练相结合,平衡模仿与探索,使 LLM 能够超越其固有能力的边界
    • VAPO (2025) 提出了首个 value-model-based RL 训练框架(之前的都是 value-model-free),整合了七项创新技术以提升训练稳定性和整体性能
  • 以上这些研究推动了 RL 在 LLM 训练中的应用,但奖励稀疏问题在复杂推理任务中仍然是一个持续存在的挑战
    • 课程学习(Curriculum Learning, CL)(2025) 通过逐步引入更复杂的样本来对齐任务难度与模型能力
    • DAPO (2025) 采用动态采样过滤掉模型认为过于简单或困难的问题
  • 这些方法可能会丢弃大量有价值的训练数据
  • 论文提出的 GHPO 方法通过自适应难度检测和 Prompt 优化机制,充分利用所有训练数据,提供了一种更高效且稳健的解决方案

附录 A:Supplementary Case

  • 详情见原文

NLP——LLM对齐微调-GFPO

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:Sample More to Think Less: Groupx Filtered Policy Optimization for Concise Reasoning, 20250813, Microsoft

Paper Summary

  • 整体总结
    • 论文提出了组过滤策略优化(Group-Filtered Policy Optimization, GFPO)(是 GRPO 的一种扩展方法)
    • 通过 采样更多响应 并 选择性地学习 与目标属性(如简洁性或 Token 效率)最匹配的样本来优化模型
      • 这种选择性学习作为一种隐式的奖励塑造机制,引导策略生成更高质量的输出,同时抑制诸如响应长度膨胀等不良行为,而无需复杂的奖励工程
    • 问题:Token 效率部分有点像是 Kimi K1.5 的内容?
  • 背景 & 问题:
    • RLVR-based RL 训练的 LLM 往往会以长度换取准确性
    • 更长的回答可能适用于更难的问题,但许多 Token 仅仅是“填充内容”:重复、冗长的文本并未真正推动问题解决
  • GFPO 可解决上述问题:
    • 在训练时对每个问题采样更大的群组
    • 根据两个关键指标过滤回答来抑制这种长度爆炸:
      • (1) 回答长度;
      • (2) Token 效率(奖励与 Token 数量的比值)
    • 通过在训练时采样更多,论文教会模型在推理时思考更少
      • 在 Phi-4-reasoning 模型上,GFPO 在具有挑战性的 STEM 和编程基准测试(AIME 24/25、GPQA、Omni-MATH、LiveCodeBench)中将 GRPO 的长度膨胀削减了 46-71%,同时保持准确性
      • 优化奖励与 Token 比进一步将长度膨胀的减少幅度提升至 71-85%
  • 论文还提出了 自适应难度 GFPO(Adaptive Difficulty GFPO)
    • 根据实时难度估计动态分配更多训练资源给更难的问题,从而在计算效率和准确性之间实现更好的平衡,尤其是在困难问题上
  • GFPO 证明
    • 增加训练时的计算量可以直接转化为减少测试时的计算量(注:核心结论)
    • 这是一种简单而有效的权衡,旨在实现高效推理

Introduction and Discussion

  • RLVR 方法(如 GRPO (2024) 和 PPO (2017)),在实现测试时扩展方面发挥了关键作用
    • 使得像 O3 (2025) 和 DeepSeek-R1 (2025) 这样的模型能够“思考更久”,并在 AIME 和 IMO 等具有挑战性的推理任务中取得前所未有的性能
  • 虽然更长的推理链对于解决更难的问题是预期的,但先前的研究表明,长度膨胀可能与正确性无关,而更短的链实际上可能带来更好的准确性。例如:
    • Balachandran 等人 (2025) 报告称,在 AIME 25 上,DeepSeek-R1 生成的回答长度几乎是 Claude 3.7 Sonnet 的 5 倍,尽管两者的准确性相近
    • 类似地,Hassid 等人 (2025) 发现,在 AIME 和 HMMT 上,QwQ-32B 的最短回答在减少 31% Token 使用量的同时,比随机采样的回答准确率高 2%
    • 这表明更长的链并不等同于更好的推理
  • 更长的回答可能显得准确性更低,仅仅是因为它们通常来自更难的问题
  • 为了区分由问题难度驱动的真实长度增加和不必要的膨胀,论文分析了 Phi-4-reasoning-plus (2025) 中同一问题的多个回答长度与正确性之间的相关性
    • 在 AIME 25 上,论文发现,在生成了正确和错误回答的问题中,72% 的情况下,更长的回答比更短的更容易出错
  • 已有一些方法被提出来抑制 RLVR 训练模型中持续的长度膨胀现象,例如 Dr.GRPO (2025) 和 DAPO (2025) 的 Token-level 损失归一化
    • 但即使在 Phi-4-reasoning-plus 的训练中应用了 Token-level 归一化,论文仍然观察到在仅 100 步 GRPO 训练后,回答长度从 4k 迅速增长到 14k Token
    • 论文假设,虽然 Token-level 归一化更严厉地惩罚了长而错误的回答,但它也放大了对长而正确链的奖励
      • 无意中强化了经过大量逐步推理 SFT 的强大基础模型(如 Phi-4-reasoning (2025) 和 DeepSeek-R1-Distill-Qwen (2025))固有的冗长性
      • 这凸显了仅依赖损失归一化来对抗 GRPO 显著长度膨胀的困难
  • 基于这些观察,论文的目标是开发高效的推理模型,这些模型能够保留 GRPO 提供的推理准确性,同时生成显著更短的推理链
  • 为实现以上一目标,论文做出了以下贡献:
    • GFPO(群组过滤策略优化) :
      • 论文提出了 GFPO(图 1,第 3 节),这是 GRPO 的一种简单而有效的变体,旨在显式抑制回答长度膨胀
      • GFPO 将拒绝采样与标准 GRPO 相结合:
        • 对于每个问题,论文采样更大的候选推理链群组 \( G \),以增加对理想输出的接触,根据目标指标过滤它们,并仅从保留的前 \( k \) 条链的策略梯度中学习
        • 虽然可以设计多种拒绝指标,但论文主要关注回答长度(保留最短的链以鼓励模型在推理时“思考更少”)
        • 当优化长度时,GFPO 在 AIME 25 上将 GRPO 的长度膨胀减少了 46.1%,在 AIME 24 上减少 59.8%,在 GPQA 上减少 57.3%,在 Omni-MATH 上减少 71%,在 LiveCodeBench 上减少 57%,同时保持准确性(第 5.2、5.3 节)
    • Token 效率(Token Efficiency)(第 5.4 节):
      • 除了仅针对长度外,论文引入了 Token 效率指标(定义为奖励与回答长度的比值)
      • 该指标促进那些通过提供更高奖励来证明其长度的推理链,鼓励模型既简洁又有效
      • 通过 GFPO 优化 Token 效率,长度膨胀在 AIME 25 上减少了 70.9%,在 AIME 24 上减少 84.6%,在 GPQA 上减少 79.7%,在 Omni-MATH 上减少 82.6%,在 LiveCodeBench 上减少 79.7%(定性示例见附录 A)
    • 自适应难度 GFPO(Adaptive Difficulty GFPO)(第 5.5 节):
      • 论文进一步引入了 GFPO 的自适应变体 ,其中保留的回答数量 \( k \) 基于轻量级、无监督的问题难度估计动态调整
      • 这种自适应策略将更多探索 (更大的 \( k \))分配给更难的问题 ,同时对较简单的问题进行更激进的缩短
    • 分布外泛化(Out-of-Distribution Generalization)(第 5.6 节):
      • 论文展示了 GFPO 在分布外任务上保持准确性的同时抑制长度膨胀的能力
    • GFPO 对回答长度和问题难度的分析(Analysis of GFPO on Response Length and Question Difficulty)(第 6 节):
      • 论文详细分析了 GFPO 在简单与困难问题上的准确性和长度减少情况,并研究了其对长回答准确性的影响
  • GFPO 利用了训练时和推理时计算之间的基本权衡,将成本从推理(更短的链带来显著的效率提升)转移到训练,通过采样和评估更多的候选回答
  • 这种权衡特别有利,因为训练计算是一次性投入,而推理计算的节省在整个部署过程中持续实现
  • 通过这种方式,GFPO 提供了一种简单而有效的解决方案,解决了推理模型中固有的回答长度膨胀问题(在保留 GRPO 最先进性能的同时,生成显著更短的推理链)

Preliminaries

  • GRPO (2024) 是一种强化学习算法:通过消除对值模型估计基线优势的需求,简化了 PPO (2017)
  • 通过为每个问题采样多个回答并使用其平均奖励作为基线实现,同时仍然优化与 PPO 类似的裁剪代理目标
  • 设 \( \theta \) 表示模型参数,\( q \) 表示问题,\( o \) 表示从旧策略 \( \pi_{\theta_{\text{old} } } \) 采样的回答,则
    • GRPO 目标可以表示为:
      $$
      \mathcal{J}_{\text{GRPO} }(\theta) = \mathbb{E}_{[\hat{\eta}\sim P(O), \{o_i\}_{i=1}^C \sim \pi_{\theta_{\text{old} } }(O|q)]} \frac{1}{G} \sum_{i=1}^G \frac{1}{|o_i|} \sum_{t=1}^{|o_i|} \min \left( r_{i,t} \widehat{A}_{i,t}, \text{clip}(r_{i,t},1-\varepsilon,1+\varepsilon) \widehat{A}_{i,t} \right) - \beta \mathcal{D}_{KL}(\pi_{\theta} | \pi_{\theta_{\text{old} } } ) + \gamma \text{Entropy}(\pi_{\theta})
      $$
    • 其中优势为:
      $$
      \widehat{A}_{i,t} = \frac{R(q,\rho_i) - \frac{1}{k} \sum_{j=1}^C R(q,\rho_j)}{\sqrt{\frac{1}{k} \sum_{l=1}^G \left( R(q,\rho_i) - \frac{1}{k} \sum_{j=1}^C R(q,\rho_j) \right)^2} }, \quad r_{i,t} = \frac{\pi_{\theta}(o_{i,t} | q,\rho_{i,<t})}{\pi_{\theta_{\text{old} } }(o_{i,t} | q,\rho_{i,<t})}
      $$
    • 且 \( \beta \mathcal{D}_{KL}(\pi_{\theta} | \pi_{\theta_{\text{old} } } ) \) 表示 KL 惩罚
  • 需要注意的是,虽然论文展示了标准的 GRPO 损失归一化方程,但包括 verl (2024) 和 TRL (2020) 在内的多个开源强化学习库默认使用 DAPO 的 Token-level 损失归一化进行 GRPO 训练 ,这也是论文在实验中使用的方法
  • GRPO 的一个关键限制是其依赖单一标量奖励信号 ,这使得同时优化多个理想的回答属性(如简洁性和准确性)变得困难
    • 这通常导致以显著的回答长度膨胀为代价换取准确性的提升
  • 为了解决这一问题,论文引入了 GFPO,以实现对多个回答属性的联合优化

Group Filtered Policy Optimization, GFPO

  • 论文提出了 GFPO,一种简单而有效的方法,用于有针对性地优化响应属性
  • GFPO 为每个问题采样更大的候选响应组 ,扩大响应池以包含更多具有理想特征的候选 ,然后在计算策略梯度时明确根据这些特征进行过滤
    • 将理想属性(如简洁性或信息量)直接编码到标量奖励中看似自然,但对于多个属性的优化可能会非常具有挑战性
      • 尤其是已经需要捕捉正确性的情况下
    • 数据过滤作为一种隐式、灵活的奖励塑造形式,类似于通过选择性采样来放大特定模型行为的迭代自我改进方法 (2022)
  • 在完成这一显式过滤步骤以隔离优选响应后,标准的奖励仅用于在选定组内计算相对优势
  • GFPO 能够同时优化多个理想属性(如长度和准确性),而无需复杂的奖励工程
  • 由于论文的目标是减少强化学习中的响应长度膨胀 ,论文专注于使用 GFPO 优化更短的响应,同时匹配 GRPO 的准确性
    • 给定一个问题 \( q \),论文从当前策略中采样一组较大的响应 \( \mathcal{G} = \{o_1, \ldots, o_G\} \)
    • GFPO 根据用户指定的指标应用选择步骤,过滤出大小为 \( k \) 的最理想响应子集用于训练
    • 论文为每个响应计算指标得分并排序,选择前 \( k \) 个响应形成保留子集 \( \mathcal{S} \subseteq \mathcal{G} \)(算法 1)
    • 论文定义一个二元掩码 \( m \in \{0, 1\}^G \),其中 \( m_i = 1 \) 表示选中的响应,\( m_i = 0 \) 表示被拒绝的响应
  • 形式上,论文将 GFPO 的目标函数定义为:
    $$
    \mathcal{J}_{\text{GFPO} }(\theta) = \mathbb{E}_{q \sim P(\mathcal{Q}), \{o_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\mathcal{O}|q)} \frac{1}{\sum_{i=1}^G |o_i|} \sum_{i=1}^G \sum_{t=1}^{|o_i|} \min(r_{i,t} \widehat{A}^{(m)}_{i,t}, \text{clip}(r_{i,t}, 1 - \varepsilon, 1 + \varepsilon) \widehat{A}^{(m)}_{i,t}) - \beta \mathcal{D}_{KL}(\pi_\theta \parallel \pi_{\theta_{\text{old} } }) + \gamma \text{Entropy}(\pi_\theta)
    $$
    • 其中:
      $$
      \mathcal{S}, m = \text{RejectionSample}(\mathcal{G}, k, \text{metric}, \text{order}), \quad m_i = \mathbb{I}_{ \{i \in \mathcal{S} \} } \\
      \mu_S = \frac{1}{k} \sum_{i \in \mathcal{S} } R(q, o_i), \quad \sigma_S = \sqrt{\frac{1}{k} \sum_{i \in \mathcal{S} } (R(q, o_i) - \mu_S)^2}, \quad \widehat{A}^{(m)}_{i,t} = \frac{R(q, o_i) - \mu_S}{\sigma_S} m_i \\
      r_{i,t} = \frac{\pi_\theta(o_{i,t} | q, o_{i,<t})}{\pi_{\theta_{\text{old} } }(o_{i,t} | q, o_{i,< t})}
      $$
      • 注意:均值和方差的计算也仅仅使用选中的 \(k\) 个响应
  • 论文对选定子集 \( \mathcal{S} \) 中的响应优势进行归一化,使用 \( \mathcal{S} \) 中响应级奖励的均值 \( \mu_S \) 和标准差 \( \sigma_S \)
    • 这使得在已经表现出理想属性的响应之间进行有意义的比较成为可能,确保 GFPO 在过滤后的子集中优先考虑最高奖励的响应
  • 不在 \( \mathcal{S} \) 中的响应优势为零,从而有效地将它们排除在策略更新的影响之外
    • 问题:为什么不直接对不符合的样本进行惩罚,而是选择丢弃?
  • GFPO 的主要干预是在优势估计层面,使其与任何 GRPO 变体(如 DAPO (2025)、Dr.GRPO (2025) 或带有 Dual-Clip PPO 损失的 GRPO (2020))兼容
  • GFPO 通过采样更多响应增加了训练时的计算成本,但由于学习到的策略生成的响应比 GRPO 更短,这部分成本得到了部分抵消
  • GFPO 是通用的,可以适应各种评分指标,但论文的实验特别利用了旨在减少响应长度膨胀的指标:
    • 响应长度(Response Length) :训练短响应直接鼓励简洁性
    • Token 效率(Token Efficiency, reward/length) :训练高 Token 效率的响应鼓励简洁性,但如果响应长度被相应更高的奖励“证明合理”,则仍允许较长的响应
  • 其他指标(如事实性、多样性或外部质量评分)也可以集成到 GFPO 中,以优化不同的目标属性

Adaptive Difficulty GFPO

  • 论文还引入了 GFPO 的自适应难度变体(算法 2),旨在根据问题的实时难度估计动态分配更多的训练信号到更难的问题上
    • 在训练的每一步,论文通过计算每个问题的采样响应的平均奖励来估计问题难度(较低的平均奖励表示较高的难度)
  • 为了自适应地调整保留响应的数量 \( k \),论文使用轻量级的 t-digest 数据结构维护问题难度的流式摘要
    • t-digest 高效地近似所有已见问题的难度(奖励均值)的四分位数,使论文能够将新问题分类到相对难度桶中
    • 基于此分类,论文为每个问题分配目标保留响应数量 \( k \)(注:从 16 个采样中保留):
      • 简单问题为 4
      • 中等难度问题为 6
      • 困难和非常困难问题为 8
    • 这种动态课程设计使得在简单问题上进行更激进的过滤,而在困难问题上进行更多的探索
    • 难度桶的数量和每个桶的 \( k \) 是超参数
  • 自适应难度 GFPO 高效利用训练计算资源,将梯度更新集中在最需要的地方
    • GFPO 帮助模型在简单示例上减少冗余(在这些问题上正确性已经很高)
    • 同时通过保留更多的推理链在困难问题上保持准确性
  • 据论文所知,这是第一个基于问题难度动态调整有效组大小的算法

Setup

  • 模型(Model)
    • 论文通过 Phi-4-reasoning(2025)作为基础模型来验证 GFPO 的有效性
    • 该模型是通过对 14B 参数的 Phi-4(2024)在 STEM 领域的合成 O3-mini 推理轨迹上进行广泛的 SFT 得到的,未经过任何 RL 调整
    • 在结果和分析中,论文将 Phi-4-reasoning 称为 SFT 基线
  • Baseline
    • 论文将经过 GFPO 调优的模型与使用 GRPO 训练的基线模型 Phi-4-reasoning-plus(2025)进行比较
    • 需要注意的是,论文使用了带有 DAPO Token-level 损失聚合的 GRPO,并对裁剪替代目标进行了轻微修改以提高训练稳定性,具体细节见第 3 节
    • 论文复制了 Phi-4-reasoning-plus 的训练设置,如下所述。在结果和分析中,论文将 Phi-4-reasoning-plus 称为 GRPO 基线
  • 数据集(Dataset)
    • 论文的 RL 训练专注于提升数学推理能力
    • 训练数据集包含从更大的训练语料库(2025)中选出的 72k 道数学问题
    • 论文将 RL 训练限制为 100 步,批次大小为 64,因此模型在训练期间仅看到 6.4k 道问题(与用于训练 Phi-4-reasoning-plus 的数据集相同)
  • 奖励函数(Reward Function)
    • 论文使用了训练 Phi-4-reasoning-plus(2025)时采用的奖励函数
    • 该奖励是“长度感知”的 0/1 准确度奖励与 n-gram 重复惩罚的加权和
    • 二元准确度奖励 \( R_{\text{acc} } \) 通过从响应中提取最终答案并验证其与真实答案的等价性来计算,如果简单的答案提取失败,则依赖于 LLM 验证器
    • 随后,该奖励被缩放到 -1.0 到 1.0 之间的浮点数,基于响应长度对正确答案的长响应进行惩罚
    • 格式违规会通过最低奖励进行惩罚
    • 最终的奖励函数 \( R \) 是这种长度感知准确度奖励与基于 5-gram 重复频率的重复惩罚的加权组合:
      $$
      R = w_{\text{acc} } \text{LENGTHSCALE}(R_{\text{acc} }) + w_{\text{rep} } R_{\text{rep} },
      $$
      • 其中 \( R_{\text{acc} } \in \{0,1\} \) 且 \( R \in [-1,1] \)
    • 更多细节见 Abdin 等(2025)的第 4.1 节
    • 值得注意的是,奖励中的长度惩罚不足以抑制 GRPO 引起的响应长度膨胀,这促使论文提出了 GFPO
  • 训练配置(Training Configuration)
    • 论文使用 ver1(2024)框架进行 GFPO 训练,并采用上述奖励函数
    • 为了与 Phi-4-reasoning-plus 的训练设置保持一致,论文在 32 个 H100 GPU 上对 Phi-4-reasoning 进行 GFPO 调优,全局批次大小为 64,训练 100 步,使用学习率为 \( 1 \times 10^{-7} \) 的 Adam 优化器,前 10 步采用余弦预热,采样温度 \( T = 1.0 \)
    • 论文应用了 KL 正则化(\( \beta = 0.001 \))和熵系数(\( \gamma = 0.001 \))
    • 模型的训练上下文长度最大为 32k Token ,其中 1k Token 保留给 Prompt
  • 组大小(Group Size)
    • Phi-4-reasoning-plus 的训练组大小为 \( G = 8 \)
    • GFPO 通过增加 \( G \) 来增加对理想响应的曝光,以更多的训练时计算换取更短的推理时响应长度
    • 论文为 GFPO 尝试了 \( G \in \{8, 16, 24\} \),但为了与 GRPO 公平比较,所有实验中 GFPO 的保留组大小 \( k = |\mathcal{S}| \leq 8 \),确保模型接收策略梯度信号的响应数量一致
  • Evaluation
    • 论文在以下基准上评估检查点:
      • AIME 25(AIME,2025)和 AIME 24(AIME,2024)每个 Prompt 采样 32 次
      • GPQA(2024)采样 5 次
      • Omni-MATH(2025)采样 1 次
      • LiveCodeBench(2024)采样 3 次
    • 论文在温度 \( T = 0.8 \) 下采样响应,最大长度为 32k Token,其中 1k Token 保留给 Prompt
    • 对于 AIME 25、AIME 24、GPQA 和 Omni-MATH,论文首先使用基于正则表达式的答案提取 ,如果提取失败则使用 GPT-4o 进行 LLM-based 提取
    • 尽管论文的 RL 训练集中没有编码数据,但论文通过在 LiveCodeBench 上的评估来衡量 GFPO 优化短响应时对响应长度和准确性的分布外影响
  • 论文报告所有模型和数据集的平均 pass@1 准确率、原始响应长度(\( L \))以及超额长度减少(Excess Length Reduction, ELR)(表 1、2)
  • 论文将超额长度减少定义为 GFPO 相对于 GRPO 在 SFT 模型基础上减少的响应长度膨胀程度,公式如下:
    $$
    ELR = \frac{L_{\text{GRPO} } - L_{\text{GFPO} } }{L_{\text{GRPO} } - L_{\text{SFT} } }.
    $$
    • 问题:为什么分子不使用 GFPO - SFT ?
  • 为了评估 GFPO 的准确率是否与 GRPO 相当,论文使用 Wilcoxon 符号秩检验(1992)检验 GRPO 与 GFPO 变体之间 pass@1 准确率的差异是否显著
    • 这种非参数配对检验在不假设正态分布的情况下比较每个问题的 pass@1 准确率差异

Results

  • 论文评估了三种 GFPO 变体:
    • 最短 \(k/G\)(Shortest \(k/G\)) :从 \(\mathcal{G}\) 中保留最短的 \(k\) 条响应,通过调整 \(k\) 和组大小 \(G\) 研究其对长度缩减的影响
    • Token 效率(Token Efficiency) :从 \(\mathcal{G}\) 中保留 \(k\) 条 reward-per-token 最高的响应,使用 \(k=8\) 和 \(G=16\)(与最短 \(k/G\) 的基线设置一致)
    • 自适应难度(Adaptive Difficulty) :从 \(\mathcal{G}\) 中保留最短的 \(k\) 条响应,其中 \(k\) 根据实时难度估计动态选择(简单问题保留 4 条,中等 6 条,困难和非常困难问题保留 8 条),\(G=16\)
  • 论文测量了 pass@1 准确率和超额长度缩减(Excess Length Reduction, ELR)(公式 4)
  • Wilcoxon 符号秩检验显示,GFPO 变体与 GRPO 在各任务上的准确率差异无统计学意义,表明 GFPO 在缩减长度的同时保持了准确率

Think Less Without Sampling More?(不增加采样量而实现减少思考)

  • 一个自然的问题是:仅通过拒绝采样(不增加总采样量)能否显著缩减响应长度?
  • 论文实验了 Shortest 6/8 GFPO,从组大小 \(G=8\) 中保留最短的 \(k=6\) 条响应
  • 结果显示
    • Shortest 6/8 GFPO 在 AIME 25、AIME 24、GPQA 和 Omni-MATH 上的准确率与 GRPO 相当,但超额长度缩减效果有限:
      • 在 AIME 25、AIME 24 和 GPQA 上分别仅缩减了 1.8%、9.5% 和 11.5%
      • 在 Omni-MATH 上甚至出现轻微长度增加(+5.5%)(表 1、2)
    • 这表明,虽然从小规模组中采样可以带来轻微的长度缩减,但更显著的缩减可能需要增加 \(G\) 以暴露更多短链
      • 这促使论文进一步探索是否通过采样更多能让模型在推理时思考更少

GFPO Enables Efficient Reasoning

  • 基于“增加采样量可能显著缩减链长度”的观察,论文研究了 Shortest 8/16 GFPO 变体的效果
  • 该方法将组采样量增至 \(G=16\),仅保留最短的 8 条响应(即训练模型使用最短的 50% 采样链),被拒绝的样本优势值设为零
  • 应用 Shortest 8/16 GFPO 后,论文在多个基准上观察到长度通胀显著缩减:
    • AIME 25 缩减 23.8%,AIME 24 缩减 33%,GPQA 缩减 23.7%,Omni-MATH 缩减 31.5%,且准确率无统计学显著下降(表 1、2)
    • 总体而言,GFPO 在保持 GRPO 强大推理性能的同时,大幅缩减了响应长度
  • 发现(Finding)
    • “Thinking Less” Requires Sampling More: Reducing retained responses without increasing group size (Shortest 6/8 GFPO) does not reduce response length.

调整 \(k\) 和 \(G\) 对长度缩减的影响(Effect of Varying \(k\) and \(G\) on Length Reductions)

  • 论文进一步研究了保留组大小 \(k\) 和采样组大小 \(G\) 的变化如何影响长度缩减
  • 直觉上,减少保留比例(\(k \downarrow\))或增加采样量(\(G \uparrow\))均可进一步缩短推理链
  • 与 Shortest 8/16 GFPO 相比,略微减少保留集(Shortest 6/16 GFPO)带来中等额外缩减:
    • AIME 25 额外缩减 1.8%,AIME 24 额外缩减 2.6%,GPQA 额外缩减 15.1%,Omni-MATH 额外缩减 12.2%
    • 进一步降低 \(k\)(Shortest 4/16 GFPO)比 Shortest 8/16 实现更强改进,在上述基准上分别额外缩减 14.2%、13.8%、22% 和 15.8%(表 1、2)
  • 论文还研究了将采样组大小 \(G\) 从 16 增至 24 的效果(固定 \(k\))
    • 从 Shortest 8/16 到 8/24 带来显著额外超额长度缩减(AIME 25、AIME 24、GPQA 和 Omni-MATH 分别额外缩减 30.6%、19.7%、28.5% 和 20.4%)
    • 从 Shortest 6/8 到 6/16 实现大幅额外缩减(23.4%、26.2%、27.3% 和 49.2%),进一步增至 6/24 时改进较小(15.4%、9.3%、9.8% 和 14.5%)
    • 从 Shortest 4/16 到 4/24 在上述数据集上分别额外缩减 8.1%、13%、11.5% 和 23.7%(表 1、2)
  • 这些结果表明,控制响应长度的关键因素是保留比例 \(k/G\),通过降低 \(k\) 或增加 \(G\) 来减小 \(k/G\) 可实现响应长度缩减(图 4)
  • 论文通过比较两种配置(Shortest 4/16 和 Shortest 6/24)验证了这一点:两者保留比例均为 25%,但绝对 \(k\) 和 \(G\) 不同
    • Shortest 6/24 的平均长度缩减略优(2.9%)(表 2,图 4),反映更大的采样组 \(G\) 增加了遇到高质量短链的机会
      • 这是相对 Shortest 4/16 而言的
    • 若采样组足够大(\(G\) 从 8 增至 16),仅调整 \(k\) 即可高效实现显著长度缩减,无需进一步采样
      • 但保留比例过低时(如从 8/24 降至 4/24),改进边际递减(平均仅额外缩减 4.1%)(表 2)
      • 要突破这一限制,需采用更智能的采样策略
  • 发现(Finding)
    • 保留比例 \(k/G\) 控制长度压力 :
      • 降低 \(k\) 或提高 \(G\) 可进一步缩减长度;
      • 保留 25-33% 响应为最优比例,更小比例收益递减
      • Shortest 4/24 是长度优化最佳 GFPO 变体,实现最强的超额长度缩减

Reinforcing Token Efficiency(强化 Token 效率)

  • 先前实验表明,仅降低保留比例 \(k/G\) 最终会触及天花板:超过一定组规模后,难以生成更短的推理链
  • 为突破这一瓶颈,论文引入 Token Efficiency GFPO,一种“智能采样”方法,按奖励与 Token 比(reward/length)对响应排序
    • 其直觉很简单:策略应优先选择高效提供高奖励的链;仅当长链的奖励足够高时才保留
  • 具体实现中,Token Efficiency GFPO 保留 \(\mathcal{G}\) 中奖励与 Token 比 \(R_i/|o_i|\) 最高的前 \(k\) 条响应
  • 在此过滤集中计算优势值,使得短正确链获得最强的正梯度,长正确链获得适度奖励或轻微惩罚 ,长错误链则承受最严厉惩罚
    • 这种对长错误链的额外梯度压力可剪除“填充” Token ,而最短 \(k\) GFPO 无法直接针对这些 Token,因其仅提供不超过最长保留链长度的梯度信号
    • 最短 \(k\) 依赖 KL 惩罚隐式压低后期 Token 概率,而 Token Efficiency GFPO 通过显式负梯度主动抑制这些低价值 Token 位置
  • 论文以 \(k=8\) 和 \(G=16\) 训练该方法
  • Token Efficiency GFPO 在所有任务上实现最大的超额长度缩减
    • AIME 25 缩减 70.9%,AIME 24 缩减 84.6%,GPQA 缩减 79.7%,Omni-MATH 缩减 82.6%,优于最短 \(k\) 变体(表 1、2),且 \(G\) 更小或相当
    • 这些额外长度缩减伴随轻微代价:训练曲线显示策略性能方差更高(图 2),准确率出现微小(无统计学意义)下降(表 1、2)
  • 发现(Finding)
    • Token 效率(reward/length)优化实现最大缩减 :在 AIME 25、AIME 24、GPQA、Omni-MATH 和 LiveCodeBench 上分别缩减 70.9%、84.6%、79.7%、82.6% 和 79.7% ,同时保持准确率,这些缩减伴随训练方差略增
  • 这种方差可能源于长正确和错误链中 Token 段的噪声梯度,导致奖励和惩罚信号冲突
    • 尽管如此,Token Efficiency GFPO 在不牺牲准确率的情况下实现了最强的 Token 节省,证实奖励与 Token 比是简洁推理的有效代理指标

Adaptive Difficulty GFPO

  • 除改进拒绝指标的智能采样外,论文还引入 Adaptive Difficulty GFPO,根据问题难度动态调整保留组大小 \(k\),将更多训练资源分配给难题
  • 在 Adaptive Difficulty GFPO(第 3.1 节)中,论文通过每问题的响应平均奖励估计难度,使用轻量级 t-digest 数据结构实时计算难度四分位数,并将问题分为四个难度桶:非常困难(后 25%)、困难(25-50%)、中等(50-75%)和简单(前 25%)
  • 基于此分类,论文为每个问题分配目标保留响应数 \(k\):简单问题 4 条,中等 6 条,困难和非常困难问题 8 条(从 \(G=16\) 采样中保留)(算法 2)
  • 对于该配置,Adaptive Difficulty GFPO 的每问题平均 \(k\) 为 6.5,因此论文将其与保留响应数和组大小相近的 Shortest 6/16 GFPO 比较
    • Shortest 6/16 GFPO 在 Omni-MATH 上实现更强的超额长度缩减(43.7% vs. 35.1%)
    • Adaptive Difficulty GFPO 在 AIME 25(50.8% vs. 25.6%)、AIME 24(52.9% vs. 35.6%)和 GPQA(41.7% vs. 38.8%)上表现更优
      • 尽管 Shortest 6/16 GFPO 应用了稍激进的响应剪枝
    • 与过滤更激进的 Shortest 4/16 GFPO 相比,Adaptive Difficulty GFPO 在 AIME 25(50.8% vs. 38%)和 AIME 24(52.9% vs. 46.8%)上仍实现更优长度缩减(表 1、2)
  • 发现(Finding)
    • 自适应难度 GFPO 在等量计算下优于最短 \(k\) :根据问题难度动态调整 \(k\),在 4/5 基准上实现比最短 \(k\) 更强的长度缩减
  • Adaptive Difficulty GFPO 在 GPQA 上达到最高准确率(70.8%)(表 1),在 AIME 25 最难题上(27%)也优于 GRPO 和所有 GFPO 变体(图 6a)。这些结果凸显了基于问题难度分配采样预算的有效性
    • 注意,Adaptive Difficulty GFPO 可与 Token 效率指标结合,进一步优化结果

Out-of-Distribution Effects of GFPO

  • 论文的 RL 训练方案旨在提升数学推理性能
  • 为研究 GFPO 对短响应的偏置是否产生负面影响,论文在编码基准 LiveCodeBench 上评估分布外泛化能力
    • 注意,编码数据未包含在 RL 训练集中
  • 论文发现,GRPO 甚至在分布外任务上也导致显著响应长度膨胀,平均响应长度从 10.3k Token (SFT)增至 13.9k Token ,且未提升准确率(56.7% GRPO vs. 57.7% SFT)
    • 对于分布内更难题,更长思考可能合理,但这种长度膨胀在分布外任务中出乎意料且不理想,尤其当更长输出未伴随准确率提升时
  • 发现(Finding)
    • GFPO 缓解分布外长度膨胀 :GRPO 在分布外任务上增加响应长度但未提升准确率;GFPO 抑制此现象,同时小幅提升准确率
  • GFPO 有效缓解了这种非预期冗余
    • 在 LiveCodeBench 上,Token Efficiency GFPO 实现最显著的超额长度缩减(79.7%)
    • GFPO 变体甚至在 LiveCodeBench 编码任务上带来轻微准确率提升:Shortest 8/24 GFPO 准确率略优于 SFT 和 GRPO(59.2% vs. 57.7% 和 56.7%),同时缩减超额长度 57%
  • 这些结果凸显了 GFPO 在显式管理响应长度增长的同时,保持甚至略微增强分布外泛化的能力

Accuracy-Length Pareto Comparison

  • 图 3 全景展示了准确率与响应长度的前沿关系
  • 在五个基准中的四个上,至少一个 GFPO 变体严格帕累托优于 GRPO(落入绿色区域),证实 GFPO 可同时提供更短且更准确的答案,实现双轴改进
  • 在 AIME 25 上,GRPO 准确率略高,但多个 GFPO 变体仍位于帕累托前沿,以无统计学显著准确率下降换取显著长度缩减
    • 注:AIME 25 上看,效果相对 GRPO 确实一般
  • 聚合各任务(右下子图)显示,Shortest 4/24、Adaptive Difficulty 和 Shortest 8/16 是最一致简洁且准确的方法,Token Efficiency 准确率略低但紧随其后

Analysis

  • 论文基于 AIME 2025 数据集分析了 GFPO 的行为,通过将问题难度定义为 \(1 - \text{SFT accuracy}\) 来量化每个问题对基础 SFT 模型的挑战程度
  • 根据难度将问题分为四个等级(简单、中等、困难、极难),研究 GFPO 在不同难度下对响应长度和准确率的影响
  • 随后,论文考察了固定难度下长响应的准确率,并分析了 GFPO 如何重塑长度与准确率的联合分布
  • 最后,论文研究了 GFPO 修剪了响应的哪些部分,并在附录 A 中提供了 GFPO 与 GRPO 的定性对比示例

Length Reductions on Easy vs Hard Problems

  • 论文分析了 GFPO 在 AIME 2025 上对不同难度问题的长度缩减效果
  • 如图 5a 所示,响应长度随问题难度显著增加
    • 从简单问题的约 4k Token 到极难问题的超过 20k Token
  • GFPO 在所有难度级别上均有效减少了长度(图 5b)
  • Token Efficiency GFPO
    • 实现了最强的整体缩减效果,尤其在简单问题上(相比 GRPO 减少了 121.6% 的冗余长度,图 5b),甚至比 SFT 模型更简短的同时提升了准确率,证明了长度与准确率可以同步优化
    • 但其缩减效果在更困难的问题上减弱(中等难度减少 79.1%,困难减少 63.5%,极难减少 56.5%),因为 Token Efficiency 指标允许长响应存在,前提是其奖励足够高,而这类情况常见于需要复杂推理的难题
  • Adaptive Difficulty GFPO
    • 冗余长度缩减随难度递增(简单问题 37.7%,极难问题 60.3%),有效修剪了长尾响应(图 5b)
    • Adaptive Difficulty 和 Shortest 8/16 GFPO 对困难问题均保留 8 条最短响应,Adaptive Difficulty 实现了更强的长度缩减
    • 这种简洁性可能源于从简单问题中学习到的梯度,使得策略即使在挑战性任务中也能避免不必要的 Token
  • Shortest 8/24 GFPO 在所有难度级别上均比 Shortest 8/16 表现更好
    • Shortest 8/24 在极难问题上实现了最大的长度缩减,优于保留高奖励长响应的 Token Efficiency GFPO 和为困难问题保留更多响应的 Adaptive Difficulty GFPO(图 5b)
  • Finding
    • GFPO shortens responses across all difficulty levels.
    • Token Efficiency GFPO delivers the largest reductions on easy, medium, and hard questions—on easy questions producing responses even shorter than the SFT model while matching GRPO’s accuracy.
    • Shortest 8/24 GFPO achieves the greatest reductions on the hardest questions due to its stronger filtering.

Accuracy on Easy vs Hard Problems

  • 接下来,论文考察了 GFPO 在 AIME 2025 不同难度级别上的准确率(图 6a)
  • 所有方法在简单问题上均接近完美准确率(98-99%)
  • 随着难度增加,SFT 准确率急剧下降,而 RL 微调(GRPO 和 GFPO)始终优于 SFT
  • Token Efficiency GFPO
    • 实现了显著的长度缩减(图 5b),但与 GRPO 相比准确率略有下降(图 6a),差异无统计学意义
  • Adaptive Difficulty GFPO
    • 在简单、中等和极难问题上匹配或超过 GRPO 的准确率,尤其在中等问题上表现更优(90.2% vs. 88.4%),同时减少冗余长度 47%
    • 在极难问题上,其他 GFPO 变体准确率略有下降,而 Adaptive Difficulty 与 GRPO 持平(27% vs. 26.6%),通过动态分配计算资源在保持准确率的同时减少冗余长度 60%(图 5b)
  • 关键发现(Findings):
    • Adaptive Difficulty GFPO 在中等和极难问题上超越 GRPO 准确率 ,同时减少冗余长度 47%-60%
    • 更大的组规模(\(G\))提升困难问题的准确率 :Adaptive Difficulty(\(k=8\),\(G=16\))在困难问题上略有下降,但 Shortest 8/24 通过采样更多响应匹配了 GRPO 的准确率

Accuracy of Long Responses under GFPO

  • 长响应通常准确率较低,但这一趋势可能与问题难度混杂,难题自然需要更长输出,因此准确率下降可能源于问题本身而非冗余内容
  • 为消除混淆,论文固定难度并分析响应长度对模型表现的影响
  • 将每个模型对困难和极难问题的响应按长度分为四分位(图 7),结果显示:
    • 随着长度增加,准确率持续下降 ,证实了长响应往往准确率更低(即使问题难度相同)
      • 在困难问题上,多数模型在中等长度(12k-16k Token ,表 3)达到峰值,表明存在一个“甜区(sweet spot)”:足够长以支持推理,但避免过度思考
      • Finding:即使在难度固定的情况下,较长的回复准确度也较低:在处理难题时,推理的最佳长度大约在 12 k到 16k 个词元之间

        Finding:Longer responses are less accurate even at fixed difficulty: Across hard problems, the sweet spot for reasoning emerges around 12k–16k tokens.

    • 超出此范围后,准确率持续下降
      • GFPO 变体在最长分位上的表现优于 GRPO(困难问题 66.7% vs. 52.1%,极难问题 20.3% vs. 17.2%,表 4),因为其最长响应更简短(困难问题 20.8k vs. 23.8k,极难问题 26.9k vs. 27.5k,表 3)且更准确
      • Finding:GFPO outperforms GRPO accuracy in the lengthiest response quartiles
  • 论文进一步通过绝对长度分析补充了这一结论(图 6b),固定响应长度并评估每个长度区间内对应问题的准确率、响应占比和难度
    • GFPO 将长尾响应( \(\ge\)20k Token )的占比从 GRPO 的 32% 降至 22-23%,同时提升了短响应(< 15k)的比例
    • 这些更短的 GFPO 响应通常解决更困难的问题:在 \(\le\)5k 区间,问题难度是 GRPO 的 9 倍(16-18% vs. 2%),而准确率仅轻微下降(例如 100% -> 97%)
    • GFPO 最长区间准确率略低,反映了许多问题已在更短长度下解决,剩余长响应对应的是最难题目的罕见情况
    • 综上,相对和绝对长度分析表明,冗余内容(而非难度)是 GRPO 长链错误的主因,而 GFPO 以更简洁的方式解决难题且保持竞争力
    • Finding:GFPO cuts extreme verbosity: dropping the fraction of \(\ge\) 20k-token responses from 32% to 22%, while solving harder problems at shorter lengths (questions answered in \(\le\) 5k tokens are 9× harder in GFPO than GRPO).

Distribution-Level Effects of GFPO

  • 为可视化 GFPO 如何重塑准确率-长度分布,论文绘制了 AIME 25 上响应长度的核密度估计(图 8)和 32 次独立运行的 pass@1 准确率分布(图 9)
    • 长度分布 :所有 GFPO 变体压缩了长尾,将质量向短响应转移(图 8)
    • 准确率分布 :SFT 的准确率分布左偏,表明平均表现较低;GRPO 分布右移,反映更高典型准确率;GFPO 变体介于两者之间。Token Efficiency GFPO 分布最集中,表现最稳定;Shortest 8/24 接近 GRPO 的中心质量;Adaptive Difficulty 呈现轻微双峰,部分重复达到 GRPO 水平,部分略低
  • 论文量化了 AIME 25 上准确率与长度的权衡:
    • GRPO 生成长响应的比例最高(46.8% vs. SFT 的 28%),GFPO 变体将其降至 42.1%(Shortest 8/16)、35%(Shortest 8/24)、37.8%(Adaptive Difficulty)和 32.7%(Token Efficiency)
    • GRPO 70% 的问题准确率 \(\ge\)70%,GFPO 变体略低但差异无统计学意义
    • 总体而言,Shortest 8/24 和 Adaptive Difficulty 在缩短响应与保持高准确率之间实现了最佳平衡

What is GFPO trimming?(讨论分析:GFPO 到底修剪了什么?)

  • 为探究 GFPO 长度缩减的来源,论文使用 GPT-4o 标注了五个模型(SFT、GRPO、Shortest 8/24 GFPO、Token Efficiency GFPO、Adaptive Difficulty GFPO)在 AIME 25 和 GPQA 上的推理轨迹,将每段文本按功能角色分类:
    • 问题 :与问题表述和理解相关的文本;
    • 解决方案 :提出或发展候选解决方案的句子;
    • 验证 :重新检查或验证中间结果的步骤;
    • 最终 :输出答案的结论性陈述
  • GRPO vs GFPO 定性的比较如下所示,关于 AIME 25 和 GPQA 的更多示例见 附录A
  • 图 10 展示了各模型在 AIME 25 和 GPQA 上各部分的平均 Token 数。结果显示:
    • GRPO 显著扩展了中段推理(Solution 和 Verification)
      • 例如 AIME 25 的 Solution 部分从 SFT 的 6.5k Token 增至 8.3k,Verification 从 1.9k 增至 3.1k
    • GFPO 变体 有效压缩了这些阶段
      • Shortest 8/24 将 AIME 25 的 Solution 从 8.3k 减至 6.6k(冗余长度减少 94.4%),表明 GFPO 减少了提出错误或无关候选方案的冗余;Verification 从 3.1k 减至 2.3k(减少 66.7%),修剪了 GRPO 典型的重复性检查
    • Token Efficiency GFPO 在所有部分(除 AIME 25 的 Solution 外) Token 使用更少;
      • Adaptive Difficulty 也显著压缩了 Solution 和 Verification,但不如其他方法激进(GPQA 上趋势类似)
  • 关键发现(Finding):
    • GFPO 大幅削减了推理过程中 解决方案 和 验证 阶段的冗余——在 AIME 25 上分别减少 94.4% 和 66.7% 的冗余长度
    • GFPO 变体对 Problem 和 Final 部分基本保持不变(与 SFT 差异在 10% 以内),表明其专门针对核心推理步骤的冗余,同时保留了问题表述和最终答案的完整性

Related Work

GRPO Loss Modifications

  • 近期的工作(如 Dr.GRPO (2025) 和 DAPO (2025)) 通过改进 GRPO 的损失归一化方法,提升了模型的 Token 效率和训练稳定性
    • 标准的 GRPO 在每个响应内部对损失进行归一化后再求平均,这使得所有响应对梯度更新的权重相同,但会导致长输出中的 Token 权重被低估
      • 理解:GRPO 中模型会倾向于生成短的正样本和长的负样本
    • Dr.GRPO 改为按批次中的最大响应长度归一化,而 DAPO 则按总 Token 数归一化
      • 问题:这里的描述错了吧?应该是 Dr.GRPO 没有做归一化,DAPO 则按当前批次的 Token 数归一化
    • 这两种方法都增加了长链中 Token 的权重 ,从而更严厉地惩罚错误的长链
  • 在开源强化学习训练框架(如 ver1 (2024) 和 TRL (2020))中,GFPO 采用了 DAPO 的 Token-level 归一化
    • 但这种方法不仅会惩罚错误的长链,还会放大正确长链的奖励 ,从而导致经过 SFT 的推理模型(如 Phi-4-reasoning-plus 和 DeepSeek-R1-Distill-Qwen)倾向于生成更冗长的输出
      • 这凸显了仅依赖损失归一化来控制输出长度的局限性
      • 问题:不会放大正确长链的奖励吧,相当于是对齐了所有奖励权重了啊
    • GFPO 通过仅对保留链计算优势函数来改进优势估计,这一改进与损失归一化无关;
    • 尽管论文的实验将其与 DAPO 的损失聚合方法结合使用,但未来也可以与其他方法(如 Dr.GRPO)结合

Length-Aware Penalties

  • 除了归一化,还有一些工作通过在 GRPO 的奖励中添加显式的长度感知惩罚来抑制长推理链 :
    • Hou 等人 (2025) 在强化学习过程中设置了 Token 上限(超过上限则奖励为零),并逐步收紧限制;
    • Su 和 Cardie (2025) 使用了一种自适应的直接长度惩罚,其强度随训练动态调整以避免过度压缩或不足压缩;
    • Xiang 等人 (2025) 根据每个问题的解决率反比调整惩罚强度,使得简单问题对额外 Token 的惩罚更大;
    • Cheng 等人 (2025) 结合全局长度奖励和针对冗余思维的压缩奖励;
    • Aggarwal 和 Welleck (2025) 则在给定目标长度的条件下优化准确性,对偏离目标长度的输出进行惩罚
  • 在论文的初步实验中,简单地调整长度感知奖励中的惩罚强度并未显著减少输出长度,或者以牺牲准确性为代价
  • 相比之下,GFPO 的拒绝步骤通过决定哪些样本用于学习来隐式地塑造奖励,提供了一种更简单的方法来同时优化多个属性(如长度、安全性),而无需复杂的奖励工程
  • 当然,将 GFPO 与更精心设计的奖励结合可能会带来进一步的提升
  • 问题:GFPO 本质上对丢弃掉的样本的梯度是 0,既不鼓励,也不惩罚,像是浪费了生成的样本,且梯度为 0 本身也有一定的含义,当一个样本被打压时,梯度为 0 的样本相当于被鼓励了(反之亦然)
    • 注:丢弃掉的样本还不参与奖励均值和方差的计算
    • 建议:是否可以做一个补充实验,将丢弃掉的样本使用起来,且针对正负奖励给与一定的长度惩罚

Inference-time Interventions

  • 其他工作也探索了如何在推理时纯粹通过干预控制推理长度
  • 与论文的工作类似:
    • Hassid 等人 (2025) 表明较短的链通常更准确(即使在控制问题难度后) ,并提出对 \(k\) 个样本中最短的 \(m\) 个进行投票
    • Muennighoff 等人 (2025) 提出了 “预算强制”(budget forcing) ,通过特殊短语(如“Wait”或“Final Answer”)控制推理停止时机而无需重新训练
    • 其他方法通过监控中间生成信号,在模型表现出高置信度或答案在连续推理块中稳定时停止生成 (2025; 2025)
    • 这些方法与 GFPO 是互补的,可以结合使用以进一步降低推理成本或在训练后强制执行长度约束

Rejection Sampling Methods

  • 拒绝采样已被应用于多种 LLM 的训练和解码场景中
    • Kim 等人 (2024) 探索了在强化学习后通过采样每个问题的多个解并进行长度缩减的方法,包括
      • (i)对最短的正确响应进行微调,或
      • (ii)使用最短正确输出作为正例、较长输出作为负例应用 DPO(Direct Preference Optimization)
  • 相比之下,GFPO 将拒绝采样整合到强化学习更新中
    • 为每个问题采样更大的组,并根据长度或 reward-per-token 选择训练链
    • 避免了额外的蒸馏、长度对齐阶段或显式惩罚项
  • DAPO (2025) 采用“动态采样”丢弃所有响应均正确或错误的 Prompt 以稳定批次梯度
  • Xiong 等人 (2025) 表明,一个简单的 RAFT 基线 (2023) 仅训练正向奖励样本即可与 GRPO 表现相当
    • 他们的过滤基于正确性奖励,但 GFPO 根据长度或 Token 效率过滤,并能根据问题难度动态调整过滤强度
  • 其他应用包括 Khaki 等人 (2024) 将拒绝采样与 DPO 结合,通过为每个 Prompt 采样更多响应并使用奖励分数选择对比对;
  • Lipkin 等人 (2025) 使用自适应加权拒绝采样实现高效约束生成;
  • Sun 等人 (2024) 通过早期拒绝低分候选加速 Best-of-\(N\) 解码

附录 A:Qualitative Examples

  • AIME 25 I Problem 8: GRPO v/s Token Efficiency GFPO
  • 更多 Case 比较见原始论文

NLP——LLM对齐微调-IcePop

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:(IcePop)Small Leak Can Sink a Great Ship—Boost RL Training on MoE with IcePop!, 20250919, AntGroup
      • 有趣的标题:小漏洞可沉巨轮
    • 本工作是 TIS(Truncated Importance Sampling)的续作,TIS 的参考链接为 Your Efficient RL Framework Secretly Brings You Off-Policy RL Training
    • 本文似乎是 MIS(Masked Importance Sampling)的提出者,但命名来源于其他博客
      • 相关博客:When Speed Kills Stability: Demystifying RL Collapse from the Training-Inference Mismatch
      • 相关 PR:【PR to TRL】[GRPO] Sequence-level TIS + MIS(20251106)

TLDR

  • 整体内容总结:
    • 26年1月回顾补充:本文的方法已经被很多文章用到,比如 GLM 4.7,MiMo-V2 等技术博客
    • 论文对 MoE 模型上训练-推理概率不匹配的问题进行了初步分析
    • On-policy RL 训练的不稳定性可能源于训练引擎与推理引擎之间不断增大的概率差异
    • IcePop 通过在损失函数层面校正这种不匹配来解决该问题(本工作是 TIS 的续作)
    • 作者提出:未来的一个重要研究方向是正式刻画 崩溃边界(collapse boundary) 定义为 On-policy 训练变得不稳定时的临界概率差异,并研究该边界如何随模型规模、批次配置和引擎不匹配程度而变化
  • 近期工作 (2024) 强调了当前强化学习训练框架中模型训练与生成阶段之间存在不匹配的问题
    • 论文观察到,这个问题在 混合专家模型 中会 加剧
    • 特别是当模型倾向于生成长回复时,这种差异会 进一步放大
  • 尽管先前工作 (2024) 提出通过引入重要性采样校正来缓解此问题,但作者认为这种技术在训练进行时可能会在基准测试上遇到性能瓶颈
  • 论文提出了一种简单而有效的方法 IcePop ,即使在强大的经过监督微调的 MoE 模型上,也能通过 RL 实现稳定的训练和卓越的下游性能

The Mismatch Issue on MoE

  • 不匹配问题指的是当前 RL 训练框架中训练后端和推理引擎之间的概率差异,这不可避免地使 On-policy 训练变成了 Off-policy (2024)
  • 论文观察到,这种实现上的差距在 MoE 模型的 RL 训练期间变得更加显著
    • 与稠密模型不同,为了实现更高的参数效率,MoE 架构采用了一种路由机制,该机制在训练和推理期间仅为每个 Token 选择少数排名靠前的“专家”
    • 论文发现这种结构设计加剧了 On-policy RL 训练期间的不匹配问题,阻碍了 MoE 模型完全释放强化学习的潜力
  • 图 1. MoE 和稠密模型之间 \( |\log p_{\rm infer} - \log p_{\rm train}| \) 的比较
    • 论文选择了三个代表性模型:Ring-mini-2.0 (MoE)、Qwen3-4B (Dense)、Qwen3-30B-A3B (MoE),这表明 MoE 模型通常在训练和推理引擎之间表现出更大的差异
  • 根据下面的策略梯度方程,我们可以看到另一个不匹配问题出现了,即 \( \color{red}{\theta_{\rm infer} } \) 和 \( \color{blue}{\theta_{\rm train} } \)
  • 在 MoE 模型中,路由函数 \( \texttt{TopK}(\cdot) \) 为每个输入 Token 动态激活一个“专家”子集
  • 理想情况下,对于固定的输入,\( \texttt{TopK}(\cdot) \) 的输出应该与策略模型部署在哪个引擎上无关
  • 然而,当 \( \color{red}{\theta_{\rm infer} } \) 和 \( \color{blue}{\theta_{\rm train} } \) 之间存在显著差距时,将不可避免地导致 \( \color{red}{\pi_{\rm infer} } \) 和 \( \color{blue}{\pi_{\rm train} } \) 之间产生更大的分歧
    $$ \small{\begin{equation}\theta \leftarrow \theta + \mu \cdot \mathbb{E}_{a\sim \color{red}{\pi_{ {\rm{infer} } } }(\color{red}{\theta_{\rm infer} } ), \ \color{red}{\theta_{\rm infer} } \sim \mathtt{TopK}_{\rm infer}(a)}\left[ R(a) \cdot \nabla_{\theta}\log \color{blue}{\pi_{\rm{train} } }(a;\color{blue}{\theta_{\rm train} });\color{blue}{\theta_{\rm train} } \sim \texttt{TopK}_{\rm train}(a) \right]\end{equation} } $$
  • 对于 MoE 模型,论文确定了训练-推理差异问题的两个主要原因:
    • 训练和推理阶段选择的专家可能不同 (The selected experts may vary between training and inference stages.)
      • 论文之前的分析表明,即使在第一个 MoE 层,也已经有极少部分的 Token 在训练后端和推理引擎中激活了不同的专家
      • 例如,当选择 Top-k 和 Top-(k+1) 专家的概率非常接近时,即使微小的精度差异也可能导致在训练和推理期间选择不同的专家,从而导致计算出的概率出现巨大差异
    • 随着堆叠的路由网络增多,不匹配问题变得明显 (The mismatch becomes pronounced as more routing networks are stacked.)
    • 论文进一步注意到,随着 MoE 层数的加深,在训练后端和推理引擎中调用相同专家的 Token 比例迅速下降了约 10%
    • 在每一层,路由网络决定激活哪些专家。在一个深层的 MoE 模型中,它每层选择多个专家,因此每次调用 \(\texttt{TopK}(\cdot)\) 时即使是很小的差异也会累积起来,并随着深度的增加而被不断放大

What Effects Will It Bring to MoE RL?

概率差异会放大,尤其是对于长序列

  • The probability discrepancy becomes magnified, especially for long sequences.
  • 在训练刚开始时,论文发现某些 Token 位置已经存在明显的概率差异
  • 由于预测的自回归特性,出现在较后位置的 Token 更容易受到差异累积的影响,导致变化范围更广
  • 随着训练的进行,问题加剧:训练和推理引擎之间同一 Token 的概率差距在多个 Token 位置上持续增加,甚至影响到长序列中前面的 Token ,并使优化过程不稳定

不匹配问题会迅速导致 On-policy MoE RL 训练崩溃

  • The mismatch issue quickly causes crashes during on-policy MoE RL training.
  • 在 On-policy RL 训练中,与稠密模型相比,论文观察到负责生成长序列的 MoE 模型更容易受到此类不匹配问题的影响,常常导致训练崩溃
  • 例如,上图显示差异在 150 步后逐渐增加,一旦差异超过 0.05,训练基本上就失败了
  • 由于实现方式不同,概率差异可能会因复合效应而变得更大

附录:引理 (Compounding Probability Discrepancy,复合概率差异)

  • 令 \(\pi_{\text{infer} }(\cdot;\theta)\) 和 \(\pi_{\text{train} }(\cdot;\theta)\) 分别表示推理策略和训练策略
  • 定义第 \(t\) 步的概率差异为
    $$
    \delta_t = D_{\mathrm{KL} }\big(\pi_{\text{infer} }(\cdot;\theta_t)|\pi_{\text{train} }(\cdot;\theta_t)\big).
    $$
  • 该差异衡量了推理引擎的分布偏离训练引擎分布的程度
  • 在使用不匹配引擎进行 RL 训练期间,参数更新为
    $$
    \theta_{t+1} = \theta_t + \mu g_t,
    \qquad
    g_t = \mathbb{E}_{a\sim \pi_{\text{infer} }(\theta_t)} \big[R(a)\nabla_\theta \log \pi_{\text{train} }(a;\theta_t)\big].
    $$
  • On-policy 更新为 \(g_t^* = \mathbb{E}_{a\sim \pi_{\text{train} }(\theta_t)}[R(a)\nabla_\theta \log \pi_{\text{train} }(a;\theta_t)]\),偏差为 \(b_t = g_t - g_t^*\)
  • 假设以下局部条件对 \(\theta\) 成立
    • 1)平滑差异(Smooth discrepancy)
      • \(\delta(\theta)\) 是 \(L\)-平滑(\(L\)-smooth)的,满足 \(\big|\delta(\theta+\Delta)-\delta(\theta)\big| \le L|\Delta| + c_0 |\Delta|^2\),其中 \(c_0\) 是曲率常数
      • 这意味着小的参数更新仅导致差异发生小的变化
    • 2)偏差与差异成比例(Bias scales with discrepancy)
      • \(|b_t| \ge c_1\delta_t, ~~\big\langle \nabla_\theta \delta(\theta_t), b_t \big\rangle \ge c_2\delta_t\),其中 \(c_1\) 是偏差幅度系数,\(c_2\) 是偏差对齐系数
      • 不匹配越大,偏差推动其恶化的方向上的作用就越强
    • 3)有界的 On-policy 漂移(Bounded on-policy drift)
      • 存在 \(M\ge 0\),使得 \(\big|\langle \nabla_\theta \delta(\theta_t), g_t^* \rangle\big| \le M\)
      • 仅 On-policy 训练不会导致失控的发散;不稳定性主要源于偏差

Unleash MoE RL with IcePop: Discard All Noisy Gradient Updates(释放 MoE RL 的潜力:丢弃有噪声的梯度更新)

  • 为了解决上述问题,论文提出了一种简单而有效的技术,IcePop
  • 论文应用双向掩码来减轻概率差异的有害复合效应,仅保留健康的梯度更新
    • 双向裁剪(Double-sided clipping) :不仅裁剪那些 训练概率 远大于 推理概率 的 Token ,也裁剪那些 训练概率 远小于 推理概率 的 Token
    • 掩码(Masking) :差异过大 的 Token 将从梯度更新中移除
      $$ \small{\begin{align}\mathcal{J}_{ {\text{IcePop} } }(\theta) &= \mathbb{E}_{x \sim \mathcal{D}, \{y_i\}_{i=1}^G \sim \pi_{\color{red}{\text{infer} } }(\cdot \mid x; \theta_{\rm old})} \left[ \frac{1}{G} \sum_{i=1}^G \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \Big[\mathcal{M}\Bigl(\frac{\pi_{\color{blue}{\text{train} } }(y_{i,t} \mid x, y_{i,<t};\theta_{\text{old} })}{\pi_{\color{red}{\text{infer} } }(y_{i,t} \mid x, y_{i,<t}; \theta_{\mathrm{old} })}; \alpha, \beta\Bigr) \cdot \min \left( r_{i,t}\widehat{A}_{i,t}, \text{clip} \left( r_{i,t}, 1 - \varepsilon, 1 + \varepsilon \right) \widehat{A}_{i,t} \right) \right]\Bigg] &\end{align} } $$
      • \(r_{i,t}\) 的定义如下:
        $$ r_{i,t} = \frac{\pi_{\color{blue}{\text{train} } }(y_{i,t} \mid x, y_{i,< t}; \ \theta)}{\pi_{\color{blue}{\text{train} } }(y_{i,t} \mid x, y_{i,< t}; \ \theta_{\text{old} })} $$
      • 掩码函数:
        $$ \begin{equation} \mathcal{M}(k) =\begin{cases} k & \text{if } k \in [\alpha, \beta] \\ 0 & \text{otherwise}\end{cases} \end{equation} $$
        • 注:这个掩码方式在后来被其他文章称为 MIS(Masked Importance Sampling) ,相关博客When Speed Kills Stability: Demystifying RL Collapse from the Training-Inference Mismatch or 【PR to TRL】[GRPO] Sequence-level TIS + MIS
      • 两个超参数 \( \alpha \), \( \beta \) 来控制下限和上限
  • IcePop 的梯度为:
    $$ \small{\nabla_\theta \mathcal{J}_{\text{IcePop} }(\theta) \sim \small{\begin{equation}\mathbb{E}_{a \sim \color{red}{\pi_{\text{infer} } }(\theta_{\text{old} })} \Bigg[\mathcal{M}\Bigg(\frac{\color{blue}{\pi_{\text{train} } }(a;\theta_{\text{old} })}{\color{red}{\pi_{\text{infer} } }(a;\theta_{\text{old} })}\Bigg ) \cdot \nabla_\theta \log \color{blue}{\pi_{\text{train} } }(a;\theta) \cdot \hat{A} \cdot r(a)\Bigg)\Bigg].\end{equation} } } $$
  • 论文的工作与作者之前的工作 TIS (2024) 的区别:
    • 注:TIS(Truncated Importance Sampling)的参考链接为 Your Efficient RL Framework Secretly Brings You Off-Policy RL Training
    • 当 \( \dfrac{\color{blue}{\pi_{\text{train} } }(a;\theta_{\text{old} })}{\color{red}{\pi_{\text{infer} } }(a;\theta_{\text{old} })} < \alpha \) 时
      • \( \color{blue}{\pi_{\text{train} } } \) 倾向于给该动作分配一个较小的值,相反,\( \color{red}{\pi_{\text{infer} } } \) 输出一个较高的概率,当该比率足够小时,表明训练和推理引擎之间存在巨大差异
      • TIS 乘以一个小的系数来减轻有噪声的梯度更新,然而,随着训练的进行,论文发现这种微小的扰动会逐渐被放大,并最终导致基准测试性能陷入瓶颈
    • 当 \( \dfrac{\color{blue}{\pi_{\text{train} } }(a;\theta_{\text{old} })}{\color{red}{\pi_{\text{infer} } }(a;\theta_{\text{old} })} > \beta \) 时
      • \( \color{blue}{\pi_{\text{train} } } \) 倾向于给该动作分配一个较大的值,而 \( \color{red}{\pi_{\text{infer} } } \) 输出一个较低的概率
      • 在这种情况下,TIS 会直接裁剪掉该样本,因为它认为该样本对策略更新没有贡献
        • 但作者认为这可能过于激进,因为某些具有高优势估计的动作仍然可能提供有价值的信号
      • 论文的方法通过掩码机制,允许在差异可控的范围内保留这些更新
    • 个人理解:IcePop 其实和 TIS 是一样的,只是截断多了一个下界而已,原始 TIS 的损失函数为:
      $$
      \mathbb{E}_{a \sim \color{red}{\pi_{\text{sampler}}}(\theta)} \Bigl[\underbrace{\min\Bigl(\frac{\color{blue}{\pi_{\text{learner}}}(a, \theta)}{\color{red}{\pi_{\text{sampler}}}(a, \theta)}, C\Bigr)}_{\text{truncated importance ratio}} \cdot R(a) \cdot \nabla_\theta \log \color{blue}{\pi_{\text{learner}}}(a, \theta)\Bigr],
      $$
      • 或:
        $$
        \mathbb{E}_{a \sim \color{red}{\pi_{\text{sampler} }}(\theta_{old})} \left[ \underbrace{\min \left( \frac{\color{blue}{\pi_{\text{learner} }}(a, \theta_{old})}{\color{red}{\pi_{\text{sampler} }}(a, \theta_{old})}, C \right)}_{\text{truncated importance ratio}} \cdot \nabla_{\theta} \min \left( \frac{\color{blue}{\pi_{\text{learner} }}(a, \theta)}{\color{blue}{\pi_{\text{learner} }}(a, \theta_{old})} \hat{A}, \text{ clip} \left( \frac{\color{blue}{\pi_{\text{learner} }}(a, \theta)}{\color{blue}{\pi_{\text{learner} }}(a, \theta_{old})}, 1 - \epsilon, 1 + \epsilon \right) \hat{A} \right) \right]
        $$

附录:想了解 IcePop 这个名字背后的故事吗?

  • 作者是在享用冰棒(ice pops)时想到这个名字的!
  • 就像冰棒能缓解过热一样,该算法通过 双向裁剪 极端概率比并 掩码 差异过大的 Token ,来 “冷却” 不稳定的 On-policy 训练
  • 这种选择性校正 “剔除” 了不稳定的贡献,同时保留了有效的更新,从而在不拖慢推理速度的情况下稳定了训练

Experiments

  • 论文在 Ring-mini-2.0 模型上比较了三种设置,该模型是由 InclusionAI 开发的混合专家模型
  • 它拥有 16.8B 总参数和 0.75B 激活参数:
    • (1) IcePop
    • (2) TIS,
    • (3) 基线(不带 KL 项的普通 GRPO,该设置在多次重复运行中均失败并崩溃)
  • 论文收集了具有挑战性的推理问题作为训练数据集
  • 使用IcePop,论文发现可以有效解决在策略训练的不稳定性,甚至实现了比 TIS 更好的性能
  • 在下游任务上,IcePop 的表现优于 TIS 和 基线

模型评估

  • 在具有挑战性的基准测试 AIME25 上,IcePop 在整个训练过程中始终以较大优势优于 TIS ,最终将基础分数提高了超过 14% ,并将与 TIS 的性能差距扩大了相对 6%

More Analysis

Probability Discrepancy(概率差异)

  • 若不解决不匹配问题,概率差异会迅速增长,如基线设置所示
  • 相比之下,TIS和IcePop都将训练-推断概率的KL散度保持在合理范围内
    • 尽管随着训练的进行,三种方法的最大概率差异都在上升,但 IcePop 的差异仍然相对较低,甚至在 400 步内有所下降
    • 论文还注意到,TIS 始终表现出比论文的方法更大的极端差异和更快的增长,这可能是由于在训练中包含了噪声策略更新所致

Training Stability, 训练稳定性

  • 作者相信,稳定的训练过程是展示强化学习能力的坚实基础和充足空间
  • 值得注意的是,IcePop 和 TIS 都在 600 个梯度步内缓解了 RL 训练的不稳定性,避免了基线设置中发生的快速训练崩溃

Exploration Space

  • 论文观察到,IcePop 的对数概率始终保持在比 TIS 相对较低的值,这隐式表明论文的方法避免了过度自信的预测,从而确保了更大的探索空间范围,使得低概率 Token 更有可能被选择,最终增加了响应的多样性

Ill-conditioned Tokens(病态 Token)

  • 在论文的实验中,论文发现来自论文掩码机制的裁剪比率保持在训练 Token 的约 1-2%
  • 随着训练的进行,裁剪比率急剧上升,这表明逐渐出现微妙但有害的梯度更新,因此需要更高的裁剪比率
  • 论文还对裁剪掉的 Token 进行了详细分析
  • 下面的图11 显示,与所有 Token 相比,被裁剪的 Token 表现出更高的熵,这表明被裁剪的 Token 在训练中扮演着重要角色
  • 理解:
    • 熵低的 Token 是确定性比较高的,此时不管用什么引擎估计应该都不会差异太大,所以不容易被裁剪?
    • 熵高的 Token 则恰恰相反,不同的引擎差异可能很大,容易被裁剪

NLP——LLM对齐微调-GSPO

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:(GSPO)Group Sequence Policy Optimization, 20250728, Qwen

Paper Summary

  • 整体总结:
    • GSPO 已经成为了 一种非常重要的 LLM RL 方法,是 RL 训练的一个基本选项(尤其在 MoE 模型训练中)
    • 群组序列策略优化(Group Sequence Policy Optimization, GSPO) 是一种用于训练 LLM 的新型强化学习算法(稳定、高效、性能优越)
    • GSPO 也遵循重要性采样的基本原则,基于序列似然定义重要性权重 ,并在 Sequence-level 进行裁剪、奖励和优化
      • 与 GRPO 相比,GSPO 展现出显著更优的训练稳定性、效率和性能,尤其在大规模 MoE 模型的 RL 训练中表现突出,为最新 Qwen3 模型的卓越改进奠定了基础
    • 以 GSPO 作为可扩展的算法基石,论文将继续推进 RL 的规模化,并期待由此带来的智能领域的根本性进步
  • 个人评价:直观上看,GSPO 更像是 GRPO 的简化版,放弃了对 Token-level 概率比值的使用,理论效果应该是不如 GRPO 的
  • 个人理解 GSPO 效果 比 GRPO 好的原因:
    • 相对 GRPO Token-level 比例截断的视角,GSPO 是 Sequence-level 的,GSPO 的损失函数设计本质是认为如果一个序列已经飘了(在截断外了),那么这个序列中所有的 Token 都不应该继续更新
    • 当整个序列的比例(新旧策略)差异太大时,即使某些 Token 比例差异不大,也不应该继续更新了,反正这个序列整体都已经飘了,所以不应该被用于梯度更新了,GRPO 继续保留的更新可能反而导致模型偏离想要的目标
  • GSPO 基于序列似然定义重要性比率(以往算法通常基于 Token-level 重要性比率的算法不同),并在 Sequence-level 进行裁剪、奖励和优化
  • 实验表明,GSPO 在训练效率和性能上均优于 GRPO 算法,显著稳定了 MoE 模型的强化学习训练,并具备简化强化学习基础设施设计的潜力
  • 注:文中提到,GSPO 的这些优势为最新 Qwen3 模型的显著性能提升做出了重要贡献

Introduction and Discussion

  • 强化学习已成为扩展语言模型能力的关键范式(OpenAI;DeepSeek-AI;Qwen)
  • 通过大规模强化学习,语言模型能够通过更深层次、更长的推理过程,解决复杂问题,例如竞赛级数学和编程任务
  • 为了成功扩展强化学习并投入更多计算资源 ,首要前提是保持训练动态的稳定性和鲁棒性 ,但当前 SOTA 强化学习算法(如 GRPO(2024))在训练超大规模语言模型时表现出严重的稳定性问题
    • 常常导致灾难性且不可逆的模型崩溃(Qwen,2025b;MiniMax,2025)
    • 这种不稳定性阻碍了通过持续强化学习训练进一步突破语言模型能力边界的努力
  • 论文指出,GRPO 的不稳定性源于其算法设计中重要性采样权重的误用和失效
    • 这引入了高方差的训练噪声,随着 Response 长度的增加而逐步累积,并进一步被裁剪机制放大,最终导致模型崩溃
  • 为了解决这些核心问题,论文提出了 群组序列策略优化(GSPO) ,这是一种用于训练大语言模型的新型强化学习算法
    • GSPO 的关键创新在于其基于序列似然(2023)的理论重要性比率定义,与重要性采样的基本原理一致
    • GSPO 将归一化奖励计算为对同一 Query 的多个 Response 的优势,确保 Sequence-level 奖励与优化的对齐
  • 论文的实验评估表明,GSPO 在训练稳定性、效率和性能上显著优于 GRPO
    • 重点:GSPO 从根本上解决了大规模 MoE 强化学习训练的稳定性挑战,无需复杂的稳定策略,并展现出简化强化学习基础设施的潜力

Preliminaries

Notation定义

  • 策略 \(\pi_{\theta}\) 表示参数化为 \(\theta\) 的自回归语言模型
  • \(x\) 表示 Query ,\(\mathcal{D}\) 表示 Query Set
  • 给定 Query \(x\) 的 Response \(y\),其在策略 \(\pi_{\theta}\) 下的似然表示为:
    $$
    \pi_{\theta}(y|x) = \prod_{t=1}^{|y|} \pi_{\theta}(y_t|x,y_{ < t}),
    $$
    • \(|y|\) 表示 \(y\) 的 Token 数量
    • Query-Response 对 \((x,y)\) 可以通过验证器(verifier) \(r\) 评分,得到奖励 \(r(x,y) \in [0,1]\)

Proximal Policy Optimization, PPO

  • PPO(2017)使用旧策略 \(\pi_{\theta_{\text{old} } }\) 生成的样本,通过裁剪机制将策略更新限制在旧策略的近端区域内
  • PPO 采用以下目标进行策略优化(为简洁起见,省略 KL 正则化项):
    $$
    \mathcal{J}_{\text{PPO} }(\theta) = \mathbb{E}_{x\sim\mathcal{D},y\sim\pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{|y|} \sum_{i=1}^{|y|} \min \left(w_t(\theta)\widehat{A}_t, \text{clip} \left(w_t(\theta),1-\epsilon,1+\epsilon\right) \widehat{A}_t \right) \right] \tag{1}
    $$
    • Token \(y_t\) 的重要性比率定义为 \(w_t(\theta) = \frac{\pi_{\theta}(y_t|x,y_{ < t})}{\pi_{\theta_{\text{old} } }(y_t|x,y_{ < t})}\)
    • 优势 \(\widehat{A}_t\) 由另一个价值模型估计
    • \(\epsilon\) 是重要性比率的裁剪范围
  • PPO 的核心挑战在于其对价值模型的严重依赖:价值模型通常与策略模型规模相当,带来了巨大的内存和计算负担
  • 而且 PPO 算法的有效性依赖于其价值估计的可靠性,而获取可靠的价值模型本身具有挑战性,尤其是在处理更长 Response 和更复杂任务时

Group Relative Policy Optimization, GRPO

  • GRPO(2024)通过计算同一 Query 的多个 Response 的相对优势,绕过了对价值模型的需求
  • GRPO 优化以下目标:
    $$
    \mathcal{J}_{\text{GRPO} }(\theta) = \mathbb{E}_{x\sim\mathcal{D}, (y_i)_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \min \left(w_{i,t}(\theta)\widehat{A}_{i,t}, \text{clip} \left(w_{i,t}(\theta),1-\epsilon,1+\epsilon\right) \widehat{A}_{i,t} \right) \right] \tag{2}
    $$
    • \(G\) 是每个 Query \(x\) 生成的 Response 数量(即群组大小)
    • Token \(y_{i,t}\) 的重要性比率 \(w_{i,t}(\theta)\) 和优势 \(\widehat{A}_{i,t}\) 定义为:
      $$
      w_{i,t}(\theta) = \frac{\pi_{\theta}(y_{i,t}|x,y_{i,<t})}{\pi_{\theta_{\text{old} } }(y_{i,t}|x,y_{i,<t})}, \quad \widehat{A}_{i,t} = \widehat{A}_i = \frac{r(x,y_i) - \text{mean}(\{r(x,y_i)\}_{i=1}^G)}{\text{std}(\{r(x,y_i)\}_{i=1}^G)} \tag{3}
      $$
      • 同一个 \(y_i\) 中所有的 Token \(y_{i,t}\) 共享同一个 \(\widehat{A}_{i}\),即\(\widehat{A}_{i,t} = \widehat{A}_{i}\)

Motivation

  • 随着模型规模、稀疏性(例如 MoE)和 Response 长度的增长,为了最大化硬件利用率,需要在强化学习中使用更大的批次大小
    • 这里大批次是指样本采样数量
  • 为了提高样本效率,通常将大批次数据划分为多个小批次进行梯度更新
    • 这一过程不可避免地引入了 off-policy learning 的设置,即 Response \(y\) 是从旧策略 \(\pi_{\theta_{\text{old} } }\) 而非当前优化策略 \(\pi_{\theta}\) 中采样的
    • 这也解释了 PPO 和 GRPO 中裁剪机制的必要性,其目的是防止过于 “Off-policy” 的样本参与梯度估计(裁剪等机制旨在管理这种 Off-policy 差异)
  • 论文发现 GRPO 存在一个更根本的问题:其目标是不适定的(its objective is ill-posed)
    • 注:ill-posed 特指结果对输入数据非常敏感,以至于任何微小的误差都会导致结果有非常大的变化
    • 这一问题在训练大模型处理长 Response 任务时尤为突出,会导致灾难性的模型崩溃
    • GRPO 目标的不适定性源于重要性采样权重的误用 :重要性采样的基本原理是通过对从行为分布 \(\pi_{\text{beh} }\) 中采样的样本进行重新加权,估计目标分布 \(\pi_{\text{tar} }\) 下函数 \(f\) 的期望:
      $$
      \mathbb{E}_{z\sim\pi_{\text{tar} } } [f(z)] = \mathbb{E}_{z\sim\pi_{\text{beh} } } \left[\frac{\pi_{\text{tar} }(z)}{\pi_{\text{beh} }(z)} f(z) \right] \tag{4}
      $$
    • 关键在于,这依赖于从行为分布 \(\pi_{\text{beh} }\) 中采样多个样本(\(N \gg 1\)),使得重要性权重 \(\frac{\pi_{\text{tar} }(z)}{\pi_{\text{beh} }(z)}\) 能够有效校正分布不匹配
    • GRPO 在每个 Token 位置 \(t\) 应用重要性权重 \(\frac{\pi_{\theta}(y_{i,t}|x,y_{i,< t})}{\pi_{\theta_{\text{old} } }(y_{i,t}|x,y_{i, < t})}\)
      • 由于该权重基于每个 Next Token 分布 \(\pi_{\theta_{\text{old} } }(\cdot|x,y_{i, < t})\) 的单个样本 \(y_{i,t}\),它无法实现预期的分布校正作用 ,反而向训练梯度中引入了高方差噪声
        • 理解:这里说的高方差噪声是因为 Token-level 的校准本身是数学上无偏的 Sequence-level 的校准的一个一阶近似,这个近似本身就存在噪音
        • 理解2:GSPO 使用了几何平均而不是直接连乘(不是原始的重要性采样),重要性采样系数的方差确实会非常小(与 \(\frac{1}{T}\) 呈现正比)
      • 这种噪声会随着长序列累积 ,并被裁剪机制进一步放大,最终导致模型崩溃
        • 理解:其实序列变长以后,应该 Sequence-level 的校准本身的波动更大,更容易将所有的 Token 都过滤掉
      • 问题1:为什么单个样本无法校正?
        • 回答1:因为数学上完美的校正是需要公式 4 中这种 Sequence-level 做重要性采样,不能是 Token-level 的(其实 Token-level 的校准是一个一阶近似)
        • 在文章 (MiniRL)Stabilizing Reinforcement Learning with LLMs: Formulation and Practices, 20251201, Qwen 中有介绍,在本人的解读博客 NLP——LLM对齐微调-MiniRL 中包含一些个人理解和讨论
      • 问题2:裁剪机制只会缓解方差增大的这个问题,不会放大这个问题吧?
        • 理解:其实这里的表达应该是主要指 Token-level 的校准本身是一种近似,那么一些不需要裁剪值被裁剪了(比如 Token-level 超出上下界了,但是 Sequence-level 没有超出,那本来是不需要截断梯度的),这就导致了与原始最优的(无偏的)Sequence-level 的校准出现一些更多差距
  • 论文通过实验观察到,这种崩溃通常是不可逆的,即使回退到之前的检查点并精心调整超参数(例如裁剪范围)、延长生成长度或切换强化学习 Query,也无法恢复训练
  • 上述观察表明 GRPO 的设计存在根本性问题
    • Token-level 重要性权重的失效揭示了一个核心原则:优化目标的单位应与奖励的单位一致(the unit of optimization objective should match the unit of reward)
    • 由于奖励是针对整个序列分配的,在 Token-level 应用 Off-policy 校正显然存在问题
    • 这促使论文放弃 Token-level 目标,探索直接在 Sequence-level 使用重要性权重并进行优化

Algorithm

GSPO: Group Sequence Policy Optimization

  • GRPO 中的 Token-level 重要性权重 \(\frac{\pi_{\theta}(y_{i,t}|x,y_{i,< t})} {\pi_{\theta_{\text{old} } }(y_{i,t}|x,y_{i,< t})}\) 存在问题
  • 论文观察到,在语言生成的上下文中, Sequence-level 的重要性权重 \(\frac{\pi_{\theta}(y|x)}{\pi_{\theta_{\text{old} } }(y|x)}\) 具有明确的理论意义:
    • 它反映了从 \(\pi_{\theta_{\text{old} } }(\cdot|x)\) 采样的 Response \(y\) 与 \(\pi_{\theta}(\cdot|x)\) 的偏离程度,这自然与 Sequence-level 的奖励对齐,同时也可以作为剪裁机制的有意义指标
  • 基于这一简单观察,论文提出了序列组策略优化(Group Sequence Policy Optimization, GSPO)算法
  • GSPO 采用以下 Sequence-level 的优化目标:
    $$
    \mathcal{J}_{\text{GSPO} }(\theta) = \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \min \left(s_i(\theta)\widehat{A}_i, \text{clip}(s_i(\theta), 1-\varepsilon, 1+\varepsilon) \widehat{A}_i\right)\right] \tag{5}
    $$
    • 采用基于组的优势估计:
      $$
      \widehat{A}_i = \frac{r(x,y_i) - \text{mean}(\{r(x,y_i)\}_{i=1}^G)}{\text{std}(\{r(x,y_i)\}_{i=1}^G)} \tag{6}
      $$
    • 并基于序列似然(2023)定义重要性比率 \(s_i(\theta)\):
      $$
      s_i(\theta) = \left(\frac{\pi_{\theta}(y_i|x)}{\pi_{\theta_{\text{old} } }(y_i|x)}\right)^{\frac{1}{|y_i|} } = \exp\left(\frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \log \frac{\pi_{\theta}(y_{i,t}|x,y_{i,<t})}{\pi_{\theta_{\text{old} } }(y_{i,t}|x,y_{i,<t})}\right) \tag{7}
      $$
      • 问题:\(\left(\frac{\pi_{\theta}(y_i|x)}{\pi_{\theta_{\text{old} } }(y_i|x)}\right)^{\color{red}{\frac{1}{|y_i|} }}\) 中为什么要使用 \(\color{red}{\frac{1}{|y_i|} }\) ? 这不符合重要性采样的形式吧!
      • 理解:这里是相当于有点对所有的 Token 的比例对数求平均,再求指数的意思,核心是将 Token 粒度的重要性比例替换成经过 “几何平均(Geometric Mean)“ 后的 Sequence 粒度的(同一个 Sequence 所有 Token 共享的)重要性比例
        • 补充:几何平均(Geometric Mean,GM)的定义:
          $$ \exp\left(\frac{1}{|x|} \sum_{t=1}^{|x|} \log x_t\right) = (\prod_{t=1}^{|x|} x_t)^{\frac{1}{|x|}}$$
        • GSPO 对重要性权重做几何平均之后,就不再是严格、完美的重要性采样(IS)了
        • GSPO 放弃了 “数学上严格等价”,换来的是训练可收敛、方差可控,详情见本文附录的讨论
      • 几何平均的缺点
        • “数学上不再严格等价”
      • 几何平均的优点包括: 序列级长度归一化、抑制长序列方差爆炸、稳定训练 等
        • 优点 1):解决长序列“方差爆炸”(最关键)
          • 原始的序列级别校准公式中,序列越长 \(L\),权重极易指数级变大/变小 ,梯度剧烈波动、训练崩溃
          • 几何平均(开 \(L\) 次方):把乘积变成取对数后平均 ,方差随 \(L\) 线性减小而非指数爆炸 (特别注意:几何平均下,这里的方差随着序列长度 \(L\) 的增加是逐渐变小的,而不是变大,详细证明见本博客附录),训练更稳定
            • 举一个直观的例子:如果比例是 1.1,那么 Token 数量为 500 时:
              • 直接的乘积值是指数增长的
                $$ 1.1^{500} \approx 4.9 \times 10^{20} $$
              • 几何平均的结果是收敛到常数 1.1 的
                $$ {(1.1^{500}})^{\frac{1}{500}} = 1.1 $$
        • 优点 2):长度归一化,统一不同长度序列的权重尺度
          • 不同长度序列(如10token vs 100token)的原始似然比量级天差地别
          • 几何平均自动做长度归一化:把权重统一到“单token平均似然比”,让长短序列在同一尺度比较、公平加权
        • 优点 3):数值稳定:避免连乘下溢/上溢
          • 直接连乘长序列似然比,极易数值下溢(趋近0)或上溢(无穷大)
          • 几何平均在对数空间求和再平均、再exp,全程数值稳定,计算可靠
            $$
            s_i(\theta) = \left( \frac{\pi_\theta(y_i|x)}{\pi_{\theta_{\text{old}}}(y_i|x)} \right)^{\frac{1}{|y_i|}}
            = \exp\left( \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \log \frac{\pi_\theta(y_{i,t}|x,y_{i,<t})}{\pi_{\theta_{\text{old}}}(y_{i,t}|x,y_{i,<t})} \right)
            $$
  • 问题:为什么 GSPO 的公式中不需要对 Token 数做归一化了?
    • GSPO 的 token内部取平均这个事情变成了几何平均,在指数上做了的平均,其实仍然每个 Token 都会有梯度被更新的
    • 从原来的 token 相加再取均值,变成相乘直接求平均,只是 GSPO 中 所有 Token 必须共享相同 Advantage 了(原始 GRPO 中,仅从目标函数的公式看,其实同一个 Sequence 的不同 Token 的 Advantage 可以不同(虽然目前实现是让他们相同))
  • GSPO 对整个 Response 而非单个 token 应用剪裁,以排除过于 “Off-policy” 的样本进行梯度估计 ,这与 Sequence-level 的奖励和优化相匹配
    • 问题:过于 “Off-policy” 的样本进行梯度估计 的问题依然存在吧,只是减少了一些,允许一个序列整体进行比较而不是单个Token,波动更小些?
  • 特别注意:论文在 \(s_i(\theta)\) 中采用了长度归一化以减少方差 ,并将 \(s_i(\theta)\) 控制在统一的数值范围内
    • 否则,少数 token 的似然变化可能导致 Sequence-level 重要性比率的剧烈波动,而不同长度 Response 的重要性比率将需要不同的剪裁范围
    • 此外,由于重要性比率的定义不同,GSPO 与先前算法(如 GRPO)的剪裁范围通常在数量级上存在差异
  • 补充,对 GSPO 的个人理解 :
    • GSPO 更像是将整个序列决策看成是一个 Action,而不是将单个 Token 看成是一个 Action,这在传统强化学习建模的视角看没有问题,但是在 LLM 的场景上看,丢失了很多中间 Token 的生成过程和概率波动,个人感觉不是很合适

Gradient Analysis

  • 我们可以推导 GSPO 目标的梯度如下(为简洁起见省略了剪裁部分):
    $$
    \begin{align}
    \nabla_{\theta} \mathcal{J}_{\text{GSPO} }(\theta) &= \nabla_{\theta} \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G s_i(\theta)\widehat{A}_i\right] \\
    &= \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G s_i(\theta)\widehat{A}_i \cdot \nabla_{\theta} \log s_i(\theta)\right] \\
    &= \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \left(\frac{\pi_{\theta}(y_i|x)}{\pi_{\theta_{\text{old} } }(y_i|x)}\right)^{\frac{1}{|y_i|} } \widehat{A}_i \cdot \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \nabla_{\theta} \log \pi_{\theta}(y_{i,t}|x,y_{i,<t})\right] \tag{8-10}
    \end{align}
    $$
  • 作为对比,GRPO 目标的梯度如下(注意 \(\widehat{A}_{i,t} = \widehat{A}_i\)):
    $$
    \begin{align}
    \nabla_{\theta} \mathcal{J}_{\text{GRPO} }(\theta) &= \nabla_{\theta} \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} w_{i,t}(\theta)\widehat{A}_{i,t}\right] \\
    &= \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \widehat{A}_i \cdot \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \frac{\pi_{\theta}(y_{i,t}|x,y_{i,<t})}{\pi_{\theta_{\text{old} } }(y_{i,t}|x,y_{i,<t})} \nabla_{\theta} \log \pi_{\theta}(y_{i,t}|x,y_{i,<t})\right] \tag{11-12}
    \end{align}
    $$
  • 因此,GSPO 与 GRPO 的根本区别在于它们如何对 token 对数似然的梯度进行加权
    • 在 GRPO 中,token 根据各自的“重要性权重” \(\frac{\pi_{\theta}(y_{i,t}|x,y_{i,< t})}{\pi_{\theta_{\text{old} } }(y_{i,t}|x,y_{i,< t})}\) 进行加权
      • 然而,这些不相等的权重可能在 \((0, 1+\varepsilon]\)(对于 \(\widehat{A}_i > 0\))或 \([1-\varepsilon, +\infty)\)(对于 \(\widehat{A}_i < 0\))之间变化,其影响不可忽视,并且会随着训练的进行累积,导致不可预测的后果
      • 问题:这可以通过别的手段来解决吧?有必要直接取消这种 Token-level 方式,转向 Sequence-level 吗?
    • GSPO 对 Response 中的所有 token 进行平等加权,消除了 GRPO 的这一不稳定因素

GSPO-token:A Token-level Objective Variant

  • 在多轮强化学习等场景中,论文可能希望比 Sequence-level 更细粒度地调整优势
  • 为此,论文引入了 GSPO 的 Token-level 目标变体,即 GSPO-token ,以实现 Token-level 的优势定制:
    $$
    \mathcal{J}_{\text{GSPO-token} }(\theta) = \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \min \left(s_{i,t}(\theta)\widehat{A}_{i,t}, \text{clip}(s_{i,t}(\theta), 1-\varepsilon, 1+\varepsilon) \widehat{A}_{i,t}\right)\right] \tag{13}
    $$
    • 相对原始的 GSPO,将整体变成 Token level 的同时,使用了非常巧妙的 IS 系数转变:
      $$
      s_{i,t}(\theta) = \text{sg}[s_i(\theta)] \cdot \frac{\pi_{\theta}(y_{i,t}|x,y_{i,<t})}{\text{sg}[\pi_{\theta}(y_{i,t}|x,y_{i,<t})]},
      $$
    • 回顾 上文中的 原始 GSPO:
      • 原始 GSPO 采用以下 Sequence-level 的优化目标 :
        $$
        \mathcal{J}_{\text{GSPO} }(\theta) = \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \min \left(s_i(\theta)\widehat{A}_i, \text{clip}(s_i(\theta), 1-\varepsilon, 1+\varepsilon) \widehat{A}_i\right)\right] \tag{5}
        $$
      • 并基于序列似然定义重要性比率 \(s_i(\theta)\):
        $$
        s_i(\theta) = \left(\frac{\pi_{\theta}(y_i|x)}{\pi_{\theta_{\text{old} } }(y_i|x)}\right)^{\frac{1}{|y_i|} } = \exp\left(\frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \log \frac{\pi_{\theta}(y_{i,t}|x,y_{i,<t})}{\pi_{\theta_{\text{old} } }(y_{i,t}|x,y_{i,<t})}\right) \tag{7}
        $$
    • 注意:这里可以看到,与原始 GSPO 的主要区别在于:
      • 1)\(s_i(\theta) \rightarrow s_{i,t}(\theta)\),重要性采样系数 发生变化
        • 值相等,但策略值粒度从 Sequence-level 变成 Token-level 有变化
        • 因为值相等,所以重要性采样系数还是所有 Token 相同的,并不改变这个逻辑,也就是说一旦发生过滤,会整个 Sequence 整体过滤
      • 2)\(\widehat{A}_{i} \rightarrow \widehat{A}_{i,t}\),这里的优势可以是 Token 粒度的了
    • \(\text{sg}[\cdot]\) 表示仅取值但停止梯度,对应于 PyTorch 中的 detach 操作,GSPO-token 的梯度可以推导为:
      $$
      \begin{align}
      \nabla_{\theta} \mathcal{J}_{\text{GSPO-token} }(\theta) &= \nabla_{\theta} \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} s_{i,t}(\theta)\widehat{A}_{i,t}\right] \\
      &= \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G s_i(\theta) \cdot \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \widehat{A}_{i,t} \frac{\nabla_{\theta} \pi_{\theta}(y_{i,t}|x,y_{i,<t})}{\pi_{\theta}(y_{i,t}|x,y_{i,<t})}\right] \\
      &= \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \left(\frac{\pi_{\theta}(y_i|x)}{\pi_{\theta_{\text{old} } }(y_i|x)}\right)^{\frac{1}{|y_i|} } \cdot \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \color{red}{\widehat{A}_{i,t}} \nabla_{\theta} \log \pi_{\theta}(y_{i,t}|x,y_{i,<t})\right] \tag{15-17}
      \end{align}
      $$
      • GSPO-token 与原始 GSPO 的主要区别在于:
        • GSPO 的目标函数中使用的优势函数是 Sequence-level 的 \(\widehat{A}_{i}\)
        • GSPO-token 的目标函数中使用的优势函数是 Token-level 的 \(\color{red}{\widehat{A}_{i,t}}\),这允许同一个序列中,不同的 Token 使用不同的值
      • GSPO-token 的优点 :通过巧妙的设计 \(s_{i,t}(\theta) = \text{sg}[s_i(\theta)] \cdot \frac{\pi_{\theta}(y_{i,t}|x,y_{i,< t})}{\text{sg}[\pi_{\theta}(y_{i,t}|x,y_{i, < t})]}\),使得损失函数既保持了原始 GSPO 的 Sequence-level IS 能力,同时又可以使用 Token-level 的 Advantage(适配如多轮 RL 等场景下需要不同 Advantage 的场景)
  • 论文中特别提到:
    • 项 \(\frac{\pi_{\theta}(y_{i,t}|x,y_{i,< t})}{\text{sg}[\pi_{\theta}(y_{i,t}|x,y_{i,< t})]}\) 的数值为 1,因此 \(s_{i,t}(\theta)\) 在数值上等于 \(s_i(\theta)\)
    • 非常重要的结论: GSPO 和 GSPO-Token 等价性分析
      • 当 Response \(y_i\) 中所有 token 的优势设置为相同值(即 \(\widehat{A}_{i,t} = \widehat{A}_i\))时,GSPO-token 和 GSPO 在优化目标、剪裁条件和理论梯度上是数值相同的
      • 对比原始目标:比较公式 (5) 和 (13),以及公式 (10) 和 (17),目标函数数值上没有差异
      • 对比梯度信息:比较公式 (11-12) 和 公式 (15-17),梯度中的唯一差异在于同一个 Sequence 的优势函数是否在 Token 间共享
      • GSPO-token 具有更高的灵活性,可以按 token 调整优势

Experiments and Discussion

Empirical Results

  • 论文从一个基于 Qwen3-30B-A3B-Base 微调的冷启动模型开始实验,并报告了以下内容:
    • 训练奖励曲线
    • 在多个基准上的模型性能曲线:
      • AIME’24(32 次采样的平均 Pass@1)
      • LiveCodeBench(202410-202502,8 次采样的平均 Pass@1)
      • CodeForces(Elo 评分)
    • 在强化学习训练过程中,每个批次的 rollout 数据被划分为四个小批次用于梯度更新
    • 在 GSPO 中,论文做如下设定
      • 将公式 (5) 中的左右裁剪范围分别设置为 \(3 \times 10^{-4}\) 和 \(4 \times 10^{-4}\),即 [1 - 3e-4, 1 + 4e-4]
        • 理解:GSPO 的重要性权重是几何平均,本质上方差会随着长度的增加而变小,所以 Clip 时需要用更小的值
        • 特别注意:在我们实现 GSPO 后,对应的阈值(GRPO/PPO 通常为 [0.8,1.28]或[0.8,1.2]),若不修改,会导致 GSPO 几乎不过滤 Token
      • 将 GRPO 作为基线进行比较,并对其公式 (2) 中的左右裁剪范围(the left and right clipping ranges)分别设置为 0.2 和 0.27(这些参数经过精心调整以确保公平比较,原始 GAPO 论文好像用的是0.2 和 0.28)
  • 需要注意的是,GRPO 必须依赖路由回放(Routing Replay)训练策略才能实现 MoE 模型 RL 的正常收敛,论文将在 5.3 节进一步讨论这一点,而 GSPO 则完全不需要这一策略
  • 图 1 显示,GSPO 的训练过程始终稳定
    • 论文观察到,GSPO 能够通过增加训练计算量、定期更新 Query Set 以及延长生成长度,持续提升模型性能
    • 在相同的训练计算量和 Query 消耗下,GSPO 的训练效率和基准测试表现均优于 GRPO
  • 最终,论文成功将 GSPO 应用于最新 Qwen3 模型的 RL 训练中 ,充分证明了 GSPO 在释放大规模 RL 训练潜力方面的有效性

Curious Observation on Clipping Fractions

  • GSPO 与 GRPO 的一个关键区别在于,GSPO 是对整个 Response 进行裁剪,而非单个 token
  • 如图 2 所示,论文观察到 GSPO 和 GRPO 在裁剪 token 比例上存在两个数量级的差异(调整裁剪范围不会改变这种差异)
    • 尽管 GSPO 裁剪了更多 token ,从而用于训练的 token 更少(或梯度估计更少),但其训练效率仍高于 GRPO
      • 理解(为什么 GSPO 裁剪更多?):因为 GSPO 一旦裁剪就是整个序列一起裁剪,此时整个 Sequence 的所有 Token 都被裁剪了
        • 而且,GSPO 的重要性权重是几何平均,本质上方差会随着长度的增加而变小,所以 Clip 时需要用更小的值,本文作者做实验时使用的 clip 范围是很小的(前文提到实验设置中上下 Clip 范围是 \(3 \times 10^{-4}\) 和 \(4 \times 10^{-4}\)),即 [1 - 3e-4, 1 + 4e-4]
      • 理解(为什么 GSPO 效果更好?):因为当整个序列的比例(新旧策略)差异太大时,即使某些 Token 比例差异不大,也不应该继续更新了?反正这个序列整体都已经飘了,所以不应该被用于梯度更新了,GRPO 继续保留的更新可能反而导致模型偏离想要的目标
    • 这一反直觉的发现:裁剪更多 token 反而能带来更高的训练效果 ,进一步表明,GRPO 的 Token-level 梯度估计本质上存在噪声,样本利用效率较低
    • 相比之下,GSPO 的 Sequence-level 方法提供了更可靠且高效的学习信号

Benefit of GSPO for MoE Training

Background
  • 与 Dense 模型的 RL 训练相比,MoE 模型的稀疏激活特性带来了独特的稳定性挑战
  • 论文发现,在使用 GRPO 算法时,MoE 模型的 专家激活波动性(expert-activation volatility) 会导致 RL 训练无法正常收敛
    • 具体来说:经过一次或多次梯度更新后,同一 Response 激活的专家可能发生显著变化
    • 例如,对于 48 层的 Qwen3-30B-A3B-Base 模型,每次 RL 梯度更新后,同一 rollout 样本在新策略 \(\pi_{\theta}\) 下激活的专家中,约有 10% 与旧策略 \(\pi_{\theta_{\text{old} } }\) 不同
    • 这一现象在更深的 MoE 模型中更为突出,导致 Token-level 重要性权重 \(w_{i,t}(\theta) = \frac{\pi_{\theta}(y_{i,t}|x,y_{i,< t})}{\pi_{\theta_{\text{old} } }(y_{i,t}|x,y_{i,< t})}\) 剧烈波动,进一步使其失效(如 3 节和 4.2 节所述),从而阻碍 RL 训练的正常收敛
Our Previous Approach
  • 为解决这一问题,论文此前采用了 路由回放(Routing Replay) 训练策略
    • 具体来说:论文缓存 \(\pi_{\theta_{\text{old} } }\) 中激活的专家,并在计算重要性权重 \(w_{i,t}(\theta)\) 时在 \(\pi_{\theta}\) 中“回放”这些路由模式
    • 这样,对于每个 token \(y_{i,t}\),\(\pi_{\theta}(y_{i,t}|x,y_{i,< t})\) 和 \(\pi_{\theta_{\text{old} } }(y_{i,t}|x,y_{i,< t})\) 共享相同的激活网络,从而恢复 Token-level 重要性权重的稳定性,并确保梯度更新中对一致激活网络的优化
  • 图 3 表明,路由回放是 GRPO 训练 MoE 模型正常收敛的关键技术
Benefit of GSPO
  • 尽管路由回放使 GRPO 训练 MoE 模型能够正常收敛,但其复用路由模式的做法会带来额外的内存和通信开销,并可能限制 MoE 模型的实际容量
  • 相比之下,如图 1 所示,GSPO 完全摆脱了对路由回放的依赖,能够常规计算重要性权重 \(s_{i}(\theta)\),正常收敛并稳定优化
    • 关键在于,GSPO 仅关注序列似然(即 \(\pi_{\theta}(y_{i}|x)\)),而对单个 token 似然(即 \(\pi_{\theta}(y_{i,t}|x,y_{i,< t})\))不敏感
    • 由于 MoE 模型始终保留其语言建模能力,序列似然不会剧烈波动
  • 总之,GSPO 从根本上解决了 MoE 模型中的专家激活波动问题,无需复杂的路由回放等变通方法,这不仅简化并稳定了训练过程,还使模型能够充分发挥其全部容量

Benefit of GSPO for RL Infrastructure

  • 由于训练引擎(如 Megatron)与推理引擎(如 SGLang 和 vLLM)之间的精度差异,实践中论文通常使用训练引擎重新计算旧策略 \(\pi_{\theta_{\text{old} } }\) 下采样 Response 的似然
  • GSPO 仅使用 Sequence-level 而非 Token-level 似然进行优化,而 Sequence-level 对精度差异的容忍度更高
    • GSPO 可以直接使用推理引擎返回的似然进行优化 ,从而避免重新计算的开销(注:非常好的做法!!!算是 GSPO 的核心优势了)
    • 这在部分 rollout、多轮 RL 以及训练-推理分离框架等场景中尤为有益

附录:Well-posed 问题 和 Ill-posed 问题

  • Well-posed 问题 (适定问题) 和 Ill-posed(不适定问题) 通常用于数学和物理领域,用来描述某些问题在解决时存在的困难
  • Well-posed 问题 (适定问题) 需要同时满足下面三个条件
    • 1)解的存在性 (Existence): 这个问题至少有一个解
    • 2)解的唯一性 (Uniqueness): 这个问题只有一个唯一的解
    • 3)解的稳定性 (Stability): 问题的解对初始条件或输入数据的微小变化是连续依赖的
      • 换句话说,如果输入数据发生一点点变化,解也只会发生一点点变化
      • 如果输入数据的一点点变化导致解发生巨大的变化,那么这个问题就是不稳定的
  • 一个问题不满足以上三个条件中的至少一个,则称为 Ill-posed 问题
  • 简单来说,ill-posed 问题就是那些在数学上很“棘手”的问题,它们可能没有解,或者解不唯一,或者更常见的是,它们的解对输入数据非常敏感,以至于任何微小的误差都会导致结果完全不可信
    • 文本的 Token-level IS 就是这种情况,对数据输入非常敏感,每个 Token 上出现任何问题,都会导致这个 Token 被意外 Clip,从而结果完全不可信

附录:几何平均 vs 乘法下,方差随队列长度的变化

  • 设定:每个 token 的重要性比率 \(r_t\) 是独立同分布的随机变量,其均值为 \(\mu\),方差为 \(\sigma^2\)
  • 目标:随着序列长度 \(T\) 的增加,直接乘积 \(P_T\) 和几何平均 \(G_T\) 的方差如何变化

直接乘积 \(P_T = \prod_{t=1}^T r_t\) 的方差

  • 由于 \(r_t\) 相互独立,乘积的期望等于期望的乘积
    $$
    \text{Var}(P_T) = \mathbb{E}[P_T^2] - (\mathbb{E}[P_T])^2
    $$
    • 其中:
      $$
      \begin{align}
      \mathbb{E}[P_T] &= \prod_{t=1}^T \mathbb{E}[r_t] = \mu^T \\
      \mathbb{E}[P_T^2] &= \prod_{t=1}^T \mathbb{E}[r_t^2] = \prod_{t=1}^T (\text{Var}(r_t) + (\mathbb{E}[r_t])^2) = (\sigma^2 + \mu^2)^T
      \end{align}
      $$
  • 因此:
    $$
    \text{Var}(P_T) = (\sigma^2 + \mu^2)^T - \mu^{2T}
    $$
方差随 \(T\) 的增长规律分析
  • 方差由两个指数项构成
  • 当 \(\mu > 1\) 时:
    • 两项都指数级增长,但 \((\sigma^2 + \mu^2) > \mu^2\),所以第一项增长更快
    • \(\text{Var}(P_T)\) 随着 \(T\) 增加而指数级爆炸式增长
  • 当 \(\mu < 1\) 时:
    • 两项都指数级衰减到 0
    • 相对而言,\(\text{Var}(P_T)\) 随着 \(T\) 增加而指数级衰减
  • 当 \(\mu = 1\) 时: 其实这是重要性采样中最理想但也最脆弱的情况
    • 此时 \(\text{Var}(P_T) = (1 + \sigma^2)^T - 1\)
    • 只要 \(\sigma^2 > 0\)(即 \(r_t\) 不是恒为 1),方差依然随着 \(T\) 增加而指数级增长
  • 结论:除非 \(r_t\) 恒等于 1(即 \(p\) 和 \(q\) 完全相同),否则直接乘积 \(P_T\) 的方差会随着序列长度 \(T\) 的增加而指数级增长
    • 这也是 LLM 场景中,重要性采样在实际应用中面临的“方差爆炸”问题,导致估计量极其不稳定,几乎不可用

几何平均 \(G_T = \left( \prod_{t=1}^T r_t \right)^{1/T}\) 的方差

  • 分析几何平均的方差,我们先在对数空间进行,然后再 exp 回去
  • 令 \(Y_t = \log r_t\),并假设 \(Y_t\) 独立同分布,其均值为 \(\mu_y\),方差为 \(\sigma_y^2\)
    $$
    \log G_T = \frac{1}{T} \sum_{t=1}^T Y_t \\
    \mathbb{E}[\log G_T] = \mu_y\\
    \text{Var}(\log G_T) = \frac{\sigma_y^2}{T}
    $$
  • 现在我们想求 \(G_T = \exp(\log G_T)\) 本身的方差
    • 根据中心极限定理,当 \(T\) 较大时 \(\log G_T = \frac{1}{T} \sum_{t=1}^T Y_t\) 为正太分布是近似成立的,所以我们假定 \(\log G_T\) 是正态分布,那么 \(G_T\) 近似服从对数正态分布(如果一个随机变量 X,取完对数后服从正态分布,那 X 就服从对数正态分布)
    • 对于一个对数正态变量,其方差为:
      $$
      \text{Var}(G_T) \approx \left( \exp(\sigma_y^2 / T) - 1 \right) \cdot \exp(2\mu_y + \sigma_y^2 / T)
      $$
方差随 \(T\) 的增长规律
  • 方差公式中的关键项是 \(\sigma_y^2 / T\),它出现在指数函数的参数中
  • 当 \(T\) 很小时: \(\sigma_y^2 / T\) 可能比较大,\(G_T\) 的方差可能较大
  • 当 \(T\) 增大时: \(\sigma_y^2 / T\) 趋向于 0
    • 利用近似 \(e^x \approx 1 + x\)(当 \(x\) 很小时),有:
      $$
      \text{Var}(G_T) \approx \left( (1 + \frac{\sigma_y^2}{T}) - 1 \right) \cdot \exp(2\mu_y) = \frac{\sigma_y^2}{T} \cdot \exp(2\mu_y)
      $$
  • 结论:随着 \(T\) 的增加,几何平均 \(G_T\) 的方差以 \(1/T\) 的速度衰减到 0
  • 直观上理解,几何平均可变换形式成 对数平均再取指数的形式,主要是在平均时实现了方差的缩小

更多讨论

  • 为了更直观地感受这种差异,这里给一张对比表(假设 \(\mu = 1, \sigma^2 = 0.1\),即 \(r_t\) 围绕 1 波动):
    序列长度 \(T\) 直接乘积 \(P_T\) 的方差 几何平均 \(G_T\) 的方差 对比
    1 \(0.1\) \(0.1\) 相同
    10 \((1.1)^{10} - 1 \approx 1.59\) \(\approx 0.1 / 10 = 0.01\) 乘积方差是几何平均方差的 159倍
    100 \((1.1)^{100} - 1 \approx 13780\) \(\approx 0.1 / 100 = 0.001\) 乘积方差是几何平均方差的 1378万倍
    1000 \((1.1)^{1000} - 1 \approx 2.5 \times 10^{41}\) \(\approx 0.1 / 1000 = 0.0001\) 乘积方差是几何平均方差的 \(2.5 \times 10^{45}\)倍
  • 最终结论
    特性 直接乘积 \(P_T\) 几何平均 \(G_T\)
    方差随 \(T\) 的变化 指数级增长(除非 \(p=q\) 精确成立) 以 \(1/T\) 速率衰减到 0
    统计意义 随着序列变长,估计量越来越不可靠,单个样本就能主导整个估计 随着序列变长,估计量越来越稳定,收敛到真实平均值
    训练稳定性 训练不稳定,梯度更新被个别长序列的极端权重支配 训练稳定,长短序列贡献均衡,模型收敛更平滑
    是否 IS 无偏校准 是,但波动大 否,但更稳定
  • 注意:也正是因为随着长度的增加,几何平均的重要性采样系数方差是逐步减低的,且均值理论上是 1.0,所以 GSPO 对应的 Clip 值应该更小,本文实验中使用的是类似 \(3 \times 10^{-4}\) 和 \(4 \times 10^{-4}\)),即 [1 - 3e-4, 1 + 4e-4]
  • 问题:理论 GSPO 的重要性采样系数方差与序列长度有关,是否使用一个跟长度有关的 Dynamic Clip 更合适?【这个 Idea 其实可以试一下】

附录:GRPO vs GSPO vs GSPO-Token 公式汇总对比

  • GRPO 优化以下目标:
    $$
    \mathcal{J}_{\text{GRPO} }(\theta) = \mathbb{E}_{x\sim\mathcal{D}, (y_i)_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \min \left(w_{i,t}(\theta)\widehat{A}_{i,t}, \text{clip} \left(w_{i,t}(\theta),1-\epsilon,1+\epsilon\right) \widehat{A}_{i,t} \right) \right] \tag{2}
    $$
    • \(G\) 是每个 Query \(x\) 生成的 Response 数量(即群组大小)
    • Token \(y_{i,t}\) 的重要性比率 \(w_{i,t}(\theta)\) 和优势 \(\widehat{A}_{i,t}\) 定义为:
      $$
      w_{i,t}(\theta) = \frac{\pi_{\theta}(y_{i,t}|x,y_{i,<t})}{\pi_{\theta_{\text{old} } }(y_{i,t}|x,y_{i,<t})}, \quad \widehat{A}_{i,t} = \widehat{A}_i = \frac{r(x,y_i) - \text{mean}(\{r(x,y_i)\}_{i=1}^G)}{\text{std}(\{r(x,y_i)\}_{i=1}^G)} \tag{3}
      $$
      • 同一个 \(y_i\) 中所有的 Token \(y_{i,t}\) 共享同一个 \(\widehat{A}_{i}\),即\(\widehat{A}_{i,t} = \widehat{A}_{i}\)
  • GSPO 采用以下 Sequence-level 的优化目标:
    $$
    \mathcal{J}_{\text{GSPO} }(\theta) = \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \min \left(s_i(\theta)\widehat{A}_i, \text{clip}(s_i(\theta), 1-\varepsilon, 1+\varepsilon) \widehat{A}_i\right)\right] \tag{5}
    $$
    • 采用基于组的优势估计(与 GRPO 相同):
      $$
      \widehat{A}_i = \frac{r(x,y_i) - \text{mean}(\{r(x,y_i)\}_{i=1}^G)}{\text{std}(\{r(x,y_i)\}_{i=1}^G)} \tag{6}
      $$
    • 并基于序列似然(2023)定义重要性比率 \(s_i(\theta)\):
      $$
      s_i(\theta) = \left(\frac{\pi_{\theta}(y_i|x)}{\pi_{\theta_{\text{old} } }(y_i|x)}\right)^{\frac{1}{|y_i|} } = \exp\left(\frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \log \frac{\pi_{\theta}(y_{i,t}|x,y_{i,<t})}{\pi_{\theta_{\text{old} } }(y_{i,t}|x,y_{i,<t})}\right) \tag{7}
      $$
      • 同一个 Sequence 的所有 Token 共享重要性比例
      • 注:几何平均下重要性比例的方差会小很多,需要注意裁剪比例
  • GSPO-Token 保持了 Sequence-level IS 比例,同时实现 Token-level 的优势定制:
    $$
    \mathcal{J}_{\text{GSPO-token} }(\theta) = \mathbb{E}_{x\sim\mathcal{D},\{y_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[\frac{1}{G} \sum_{i=1}^G \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \min \left(s_{i,t}(\theta)\widehat{A}_{i,t}, \text{clip}(s_{i,t}(\theta), 1-\varepsilon, 1+\varepsilon) \widehat{A}_{i,t}\right)\right] \tag{13}
    $$
    • 相对原始的 GSPO,将整体变成 Token level 的同时,使用了非常巧妙的 IS 系数转变:
      $$
      s_{i,t}(\theta) = \text{sg}[s_i(\theta)] \cdot \frac{\pi_{\theta}(y_{i,t}|x,y_{i,<t})}{\text{sg}[\pi_{\theta}(y_{i,t}|x,y_{i,<t})]},
      $$
    • 仔细对比细节可以发现,GSPO-Token 非常巧妙的保持了 Sequence-level IS 比例,同时允许不同的 Token 有不同的 Advantage(也就实现了不同的 Token 梯度加权系数不同)

NLP——LLM对齐微调-MiniRL

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:(MiniRL)Stabilizing Reinforcement Learning with LLMs: Formulation and Practices, 20251201, Qwen
    • 知乎回答:如何评价 Qwen团队最近的MiniRL 论文,给出关于 LLM 强化学习的稳定性的洞察? - 人工智能的回答 - 知乎

Paper Summary

  • 整体总结:
    • 本文整体有较强的理论意义,核心是证明了:LLM RL 的重要性采样最优是 Sequence-level 的,而 Token-level 重要性采样是对 Sequence-level 重要性采样的一阶近似
      • 类似 NLP——LLM对齐微调-RL-Collapse-Training-Inference-Mismatch(Sequence-level-MIS) 中的推导
      • NLP——LLM对齐微调-RL-Collapse-Training-Inference-Mismatch(Sequence-level-MIS) 得到的结论是:
        • 只有当 \(\color{red}{\pi_{\theta}^{\mathrm{vllm} } }\) 保持在 \(\color{blue}{\pi_{\theta}^{\mathrm{fsdp} } }\) 的信任域内时,即当 \(d_{\color{red}{\pi_{\theta}^{\mathrm{vllm} } } }\approx d_{\color{blue}{\pi_{\theta}^{\mathrm{fsdp} } } }\) 且 \(A^{\color{red}{\pi_{\theta}^{\mathrm{vllm} } } }\approx A^{\color{blue}{\pi_{\theta}^{\mathrm{fsdp} } } }\) 时,\(J(\theta)\) 才能被 \(g_\text{tok}(\theta)\) 优化
      • 本文进一步证明了
        • 在需要使用重要性采样的场景的场景下 Token-level 优化目标视为对真实期望 Sequence-level 奖励的一阶近似 ,能够得到 NLP——LLM对齐微调-RL-Collapse-Training-Inference-Mismatch(Sequence-level-MIS) 的结论,同时还给出了更准确的数学说明
      • 注:本文和 NLP——LLM对齐微调-RL-Collapse-Training-Inference-Mismatch(Sequence-level-MIS) 中所说的 Token-level 和 Sequence-level 都是针对重要性采样权重而言的,不是针对 RL 目标本身,本文会直接使用到类似 RL 目标的表达,容易让读者误解是 RL 建模目标本身的建模方式(Token-level or Sequence-level)
    • 作者通过大量实验证明了保持这种一阶近似有效性的技术(例如重要性采样修正、截断以及针对 MoE 模型的路径回放)都能有效地稳定 RL 训练
    • 论文进一步研究了在不同 Off-policy 程度下稳定 RL 训练的方案,并表明只要能训练稳定,同一个基础模型在长时间的 RL 训练后始终会收敛到相似的性能
  • 论文为 LLM 的 RL 提出了一种新颖的表述,解释了为何以及在何种条件下,可以通过诸如 REINFORCE 等策略梯度方法中的替代性 Token-level 目标来优化真实的 Sequence-level 奖励
  • 亮眼的地方:作者通过一阶近似(first-order approximation),展示了 只有当训练-推理差异(training-inference discrepancy)和策略陈旧性(policy staleness)都被最小化时 ,这种替代性目标才变得越来越有效
  • 这一 Insight 为几种广泛采用的稳定 RL 训练技术的关键作用提供了 Principled 解释:
    • 包括重要性采样修正、截断(clipping)
    • 特别是针对 MoE 模型的路径回放(Routing Replay for MoE models))
    • 注:本文没有特意强调 MIS 等方法
  • 通过使用总计数十万 GPU 小时的 30B MoE 模型进行大量实验,论文表明
    • 对于 On-policy 训练,带有重要性采样修正的基本策略梯度算法实现了最高的训练稳定性
    • 当引入 Off-policy 更新以加速收敛时,结合截断和路径回放对于缓解策略陈旧性引起的不稳定性变得至关重要
    • Notably,一旦训练稳定下来,无论冷启动初始化(cold-start initialization)如何,长时间的优化总能产生可比较的最终性能

Introduction and Discussion

  • RL 已成为增强 LLM 解决复杂问题任务能力的关键技术范式(OpenAI, 2024; 2025; 2025),而一个稳定的训练过程对于成功扩展 RL 至关重要
  • 由于语言的上下文特性, LLM-based RL 通常采用 Sequence-level 奖励,即基于完整模型响应分配的标量分数
  • 但主流的 RL 算法,如 REINFORCE 和 GRPO,通常采用 Token-level 优化目标
    • 奖励(在 Sequence-level 分配)和优化单元(optimization unit,通常 at Token-level)之间的这种不匹配引发了对此类方法合理性和训练稳定性的担忧,而一些研究提出了直接采用 Sequence-level 优化目标(2025; 2025a)
  • In particular,Token-level 优化目标也给使用 MoE 模型进行 RL 训练带来了独特的挑战
    • For instance,动态专家路由机制可能会使 MoE 模型中的 Token-level 重要性采样比率失效(2025)
  • However,目前尚不清楚使用 Token-level 目标优化 Sequence-level 奖励是否合理,如果合理,在多大程度上(或在什么条件下)这种方法是有效的
  • 作者为 LLM-based RL 提出了一种新颖的表述
    • The key insight 是:为了优化期望的 Sequence-level 奖励,可以采用一个替代性 Token-level 目标作为它的一阶近似
    • Specifically,这种近似很可能只在以下两个条件同时成立时才成立:
      • (1)训练引擎和推理引擎之间的数值差异(即训练-推理差异)
      • (2)采样响应的 rollout 策略(rollout policy)与待优化的目标策略(target policy)之间的差异(即策略陈旧性)都被最小化
    • 这一 Insight 为几种稳定 RL 训练的技术如何工作提供了 Principled 解释,例如
      • (1)重要性采样权重是一阶近似下替代性 Token-level 目标的内在组成部分;
      • (2)截断机制可以通过防止激进的策略更新来抑制策略陈旧性;
      • (3)对于 MoE 模型,路径回放方法(Routing Replay approach)(2025; 2025)在策略优化过程中固定路由的专家,可以减少训练-推理差异和策略陈旧性
  • 为了实证验证论文的 Insight 并研究稳定 RL 训练的实用方案,作者使用一个 30B 的 MoE 模型进行了大量实验,总计达数十万 GPU 小时
  • 论文的主要结论包括:
    • (1)对于 On-policy 训练,带有重要性采样修正的基本策略梯度算法产生了最高的训练稳定性;
    • (2)当引入 Off-policy 更新以加速收敛时,即将大批次响应拆分为 mini-batch 进行多次梯度更新,结合截断和路径回放变得必要,以减轻策略陈旧性引起的不稳定性;
    • (3)一旦训练稳定下来,具有不同冷启动初始化的模型始终能达到可比较的最终性能
  • 这激励未来的工作更多地关注 RL 本身 ,而不是过度关注冷启动初始化的细节 ,因为后者的差异在长时间的 RL 训练后预计会消失
  • In summary,论文在两个方面做出了贡献:
    • Theoretically,作者 LLM-based 强化学习提出了一种新颖的表述,揭示了通过 Token-level 目标优化 Sequence-level 奖励合理性的条件
      • Specifically,基础一阶近似的有效性取决于联合最小化训练-推理差异和策略陈旧性
    • Empirically,通过使用 MoE 模型进行总计数十万 GPU 小时的大量实验,作者证明了保持一阶近似有效性的几种技术在稳定 RL 训练中始终表现出实际效能,特别是为 MoE 模型定制的路径回放方法

Formulation for Reinforcement Learning with LLMs

Notation

  • 将一个参数化为 \(\theta\) 的自回归 LLM (autoregressive LLM)定义为一个策略 \(\pi_{\theta}\)
  • 用 \(x\) 表示输入 Prompt ,用 \(\mathcal{D}\) 表示 Prompt Set
  • 在策略 \(\pi_{\theta}\) 下,对 Prompt \(x\) 的响应 \(y\) 的似然表示为 \(\pi_{\theta}(y|x)=\prod_{i=1}^{|y|}\pi_{\theta}(y_t|x,y_{ < t})\),其中 \(|y|\) 是 \(y\) 中的 Token 数量
  • 考虑到语言的上下文特性,论文关注 Sequence-level 奖励 Setting,即整个响应 \(y\) 被分配一个单一的标量奖励 \(R(x,y)\)
  • 论文不考虑 Value-based Settings(例如 PPO, 2017)
    • Value-based Settings 下,策略优化由为响应 \(y\) 中每个 Token 分配标量分数的 Value Model 引导
    • 这是因为作者发现设计通用且可扩展的方法来获得可靠的 Value Model 本身就非常困难(if not impossible)
    • 理解:如果使用 Value Model ,类似 PPO 等其实时标准的 RL,没有论文所谓的 Sequence-level 奖励和 Token-level 目标不一致的问题

Expected Sequence-level Reward is Hard to Directly Optimize

  • 我们希望的最大化的真实 Sequence-level 奖励为:
    $$
    \mathcal{J}^{\text{seq} }(\theta)=\mathbb{E}_{x\sim\mathcal{D},y\sim\pi_{\theta}(\cdot|x)}\left[R(x,y)\right],
    $$
    • 其中 \(\pi_{\theta}\) 是待优化的目标策略
  • 由于响应通常不是在训练引擎(例如 Megatron 和 FSDP)中采样,而是在推理引擎(例如 SGLang 和 vLLM)中采样,论文采用重要性采样技巧进行简单的变换:
    $$
    \mathcal{J}^{\text{seq} }(\theta)=\mathbb{E}_{x\sim\mathcal{D},y\sim\pi_{\theta}(\cdot|x)}\left[R(x,y)\right]=\mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_\text{old} }} }(\cdot|x)\left[\underbrace{\frac{\pi_{\theta}(y|x)}{ \color{red}{\mu_{\theta_\text{old} }}(y|x)}}_{\text{Sequence-level IS weight} } R(x,y)\right],
    \tag{1}
    $$
    • 其中 \(\color{red}{\mu_{\theta_\text{old} }}\) 表示采样响应的 rollout 策略
    • Note that 论文使用符号 \(\mu\) 来区分推理引擎中的策略与训练引擎中的策略(用 \(\pi\) 表示),因为训练和推理引擎之间通常存在数值差异(2025)
  • 等式(1)中的 Sequence-level 目标具有以下梯度:
    $$
    \begin{aligned}
    \nabla_{\theta}\mathcal{J}^{\text{seq} }(\theta) &=\mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)}\left[\frac{\pi_{\theta}(y|x)}{\color{red}{\mu_{\theta_{\text{old}} } }(y|x)}\ R(x,y)\ \nabla_{\theta}\log\pi_{\theta}(y|x)\right]\\
    &=\mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)}\left[\frac{\pi_{\theta}(y|x)}{\color{red}{\mu_{\theta_{\text{old}} } }(y|x)}\ R(x,y)\sum_{t=1}^{|y|}\nabla_{\theta}\log\pi_{\theta}(y_t|x,y_{ < t})\right].
    \end{aligned}
    \tag{2}
    $$
  • However,由于序列似然(即 \(\pi_{\theta}(y|x)\) 和 \(\color{red}{\mu_{\theta_{\text{old}} } }(y|x)\))的数值范围大且方差高,这个梯度通常难以利用(Usually intractable),使得直接优化等式(1)中的 Sequence-level 目标变得困难
    • 问题:这里如果改一下,恢复成下面这样,是不是就遇不到上面比值的问题了?
      $$
      \begin{align}
      \nabla_{\theta}\mathcal{J}^{\text{seq} }(\theta) &=\mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)}\left[\frac{\pi_{\theta}(y|x)}{\color{red}{\mu_{\theta_{\text{old}} } }(y|x)}\ R(x,y)\ \nabla_{\theta}\log\pi_{\theta}(y|x)\right]\\
      &=\mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)}\left[\frac{1}{\color{red}{\mu_{\theta_{\text{old}} } }(y|x)}\ R(x,y)\ \nabla_{\theta} \pi_{\theta}(y|x)\right]\\
      \end{align}
      $$
      • 理解:其实改不改形式都是一样的本质是一样的,实现时还是针对 Loss 去实现的,这里的 Loss 就是目标(公式 1)本身,这里求出梯度来可以更清晰的看到更新的方向跟原始的 vanilla 策略梯度法 有什么区别

Token-level Objective as a First-order Approximation to Sequence-level Objective(Token-level 目标是 Sequence-level 目标的一阶近似)

  • 关键步骤是考虑以下替代性 Token-level 目标:
    $$
    \mathcal{J}^{\text{token} }(\theta)=\mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)}\left[\sum_{t=1}^{|y|}\underbrace{\frac{\pi_{\theta}(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})} }_{\text{ Token-level IS weight} }\ R(x,y)\right],
    \tag{3}
    $$
    • 理解:和公式 1 的唯一差别就是 Sequence-level 的重要性权重改成 Token-level 的重要性权重
      • 这里标题使用 Objective 其实容易让人误解,这里仅仅是 重要性权重 是 Sequence-level or Token-level
      • 注意 \(R(x,y)\) 仍然还是不变的,始终代表的是 Sequence-level 整体的奖励 ,不是单个 Token 的奖励(其实语言模型里面单个 Token 没有奖励,因为除了最后一个 Token 以外,其他 Token 其实很难评估是否准确)
  • 其梯度如下:
    $$
    \nabla_{\theta}\mathcal{J}^{\text{token} }(\theta)=\mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)}\left[\sum_{t=1}^{|y|}\underbrace{\frac{\pi_{\theta}(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})} }_{\text{Token-level IS weight} }\ R(x,y)\ \nabla_{\theta}\log\pi_{\theta}(y_t|x,y_{ < t})\right].
    \tag{4}
    $$
    • 这实际上就是带了 Token-level 重要性采样权重的基本策略梯度算法(即 REINFORCE)
    • 理解:公式 4 跟公式 2 比较起来,主要就是公式 4 重要性采样权重是 Token-level,公式 2 则重要性权重是 Sequence-level
  • 这里的核心 Insight 是,可以将等式(3)中的 Token-level 优化目标视为论文真正想要优化的等式(1)中 Sequence-level 目标的一阶近似
    • To be specific,假设 \(\pi_{\theta}\) 和 \(\color{red}{\mu_{\theta_{\text{old}} } }\) 略有不同,令 \(\frac{\pi_{\theta}(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})}=1+\delta_t\),其中 \(\delta_t\) 是一个小量(small quantity)
    • 于是可以有以下近似:
      $$
      \begin{align}
      \frac{\pi_{\theta}(y|x)}{\color{red}{\mu_{\theta_{\text{old}} } }(y|x)}&=\prod_{t=1}^{|y|}(1+\delta_t) \\
      &\approx 1+\sum_{t=1}^{|y|}\delta_t+\mathcal{O}\left(\delta^{2}\right) \\
      &\approx 1+\sum_{t=1}^{|y|}\delta_t,
      \end{align}
      $$
      • 理解:将联合概率分布展开以后相乘,可以移除所有二阶小量
    • 其中最右侧的推导忽略了二阶及更高阶的小项,如 \(\delta_t\delta_j\),因此论文有:
      $$
      \begin{aligned}
      \nabla_{\theta}\mathcal{J}^{\text{seq} }(\theta) &=\mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)}\left[R(x,y)\ \nabla_{\theta}\left(\frac{\pi_{\theta}(y|x)}{\color{red}{\mu_{\theta_{\text{old}} } }(y|x)}\right)\right]\\
      &\approx\mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)}\left[R(x,y)\ \nabla_{\theta}\left(1+\sum_{t=1}^{|y|}\delta_t\right)\right]\\
      &=\mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)}\left[R(x,y)\ \nabla_{\theta}\left(\sum_{t=1}^{|y|}\underbrace{\frac{\pi_{\theta}(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})} }_{\text{token-level IS weight} }\right)\right]\\
      &=\nabla_{\theta}\mathcal{J}^{\text{token} }(\theta).
      \end{aligned}
      $$
      • 理解:第二行到第三行中,常数 1 求导的值为 0,所以可以消掉,移除高阶无穷小的操作使得我们可以将 Sequence-level 的重要性权重改成 Token-level 的
      • 这就是为什么论文说等式(3)是等式(1)的一阶近似
  • Therefore,当 \(\pi_{\theta}\) 接近 \(\color{red}{\mu_{\theta_{\text{old}} } }\) 时,可以通过使用等式(4)中的梯度更新模型参数 \(\theta\) 来 improve 等式(1)中的 Sequence-level 目标

Conditions for First-order Approximation to Hold(一阶近似成立的条件)

  • 为了使一阶近似成立,我们要求目标策略 \(\pi_{\theta}\) 和 rollout 策略 \(\color{red}{\mu_{\theta_{\text{old}} } }\) 接近,但这并不直观

  • 为了明确起见,考虑到可能存在 训练-推理差异和策略陈旧性 ,给定 \(x\) 和每个 Token \(y_t\),我们可以将其重要性采样权重重写为:
    $$
    \frac{\pi_{\theta}(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})}=\underbrace{\frac{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})} }_{\text{training-inference discrepancy} }\times\underbrace{\frac{\pi_{\theta}(y_t|x,y_{ < t})}{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t})} }_{\text{policy staleness} },
    \tag{5}
    $$

    • 其中 \(\color{blue}{\pi_{\theta_{\text{old}} } }\) 表示由训练引擎计算的 rollout 策略,不同于推理引擎中的策略 \(\color{red}{\mu_{\theta_{\text{old}} } }\)
    • 理解:采样策略和重要性权重使用的 old 策略可能不同
      • 推理引擎和训练引擎可能会有一定误差
      • 注意:这里跟是否 off-policy ,是否异步 RL 没有关系,无论在何种情况下,理论上我们都希望能够严格保证 \(\color{blue}{\pi_{\theta_{\text{old}} } }\) 和 \(\color{red}{\mu_{\theta_{\text{old}} } }\) 完全一致
        • 所以,如果没有 推理引擎和训练引擎 的误差,则我们是会严格保证 \(\color{blue}{\pi_{\theta_{\text{old}} } }\) 和 采样时使用的策略 \(\color{red}{\mu_{\theta_{\text{old}} } }\) 完全一致的
  • Therefore,从等式(5)的分解来看,\(\pi_{\theta}\) 和 \(\color{red}{\mu_{\theta_{\text{old}} } }\) 之间的差距来自两个方面:训练-推理差异和策略陈旧性

    • 关于训练-推理差异(training–inference discrepancy) :即训练和推理引擎之间的数值带来的差异( \(\frac{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})}\) 部分)
      • training–inference discrepancy 的原因通常很复杂,并且与底层基础设施密切相关
      • 例如,训练和推理引擎通常为了达到峰值性能而采用不同的计算内核,这会导致在相同的模型输入下产生不一致的输出
      • 即使在单个引擎内部,特别是在推理端,为了最大化吞吐量,通常禁用批次不变内核(batch-invariant kernels)(2025),因此相同的模型输入仍然可能收到不同的输出
      • 对于 MoE 模型,不一致的专家路由会进一步放大训练-推理差异,论文将在第 3 节详细讨论
    • 关于策略陈旧性(policy staleness) :即 \(\color{blue}{\pi_{\theta_{\text{old}} } }\) 与待优化的目标策略 \(\pi_{\theta}\) 之间的差异 ( \(\frac{\pi_{\theta}(y_t|x,y_{ < t})}{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t})}\) 部分)
      • policy staleness 通常源于为提升训练效率和计算利用率所做的权衡
      • 由于 RL 中的 rollout 阶段通常受生成长度的时间限制,为了通过增加计算资源来加速收敛,我们经常将大批次采样响应拆分为 mini-batch 进行多次梯度更新
        • Consequently,后面消耗的 mini-batch 可能表现出更大的策略陈旧性
        • 注意:再次强调,这里多次更新的情况下,使用的 \(\pi_{\theta_\text{old}}\) 肯定会始终跟原始的 Rollout 策略保持一致的,所以理论上策略陈旧性不会导致 Rollout 策略和 \(\pi_{\theta_\text{old}}\) 不一致的问题 ,只是说 rollout 策略与待优化的目标策略之间的差异确实会提升
      • 在异步 RL 框架中,单个响应可以由多个模型版本顺序生成,这也会引入策略陈旧性
        • 理解:强调 again,这种情况下的策略陈旧性也不会带来 Rollout 策略和 \(\pi_{\theta_\text{old}}\) 不一致的问题 ,因为我们一般认为在 PPO 中,不考虑推理引擎和训练引擎本身以及 FlashAttention 等导致的随机性 的差异,会尽量严格保证 \(\pi_{\theta_\text{old}}\) 是 Rollout 策略(这是推导过程严格要求的)
    • 补充:为了进一步强调 \(\pi_{\theta_\text{old}}\) 是 Rollout 策略 ,我们给出 PPO 算法的一般性实现(在不考虑 异步 RL 框架总的),参考自 PPO 简单实现:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      def update(self, transition_dict):
      td_target = rewards + self.gamma * self.critic(next_states) * (1 - dones)
      td_delta = td_target - self.critic(states)
      advantage = rl_utils.compute_advantage(self.gamma, self.lmbda, td_delta.cpu()).to(self.device)
      old_log_probs = torch.log(self.actor(states).gather(1, actions)).detach() # 注意:old_log_probs 的定义在循环外
      for _ in range(self.epochs):
      log_probs = torch.log(self.actor(states).gather(1, actions))
      ratio = torch.exp(log_probs - old_log_probs) # 注意:循环内部不再更新 old 策略,这里 需要严格保障 old 策略始终和 采样使用的 Rollout 策略对齐
      surr1 = ratio * advantage
      surr2 = torch.clamp(ratio, 1 - self.eps, 1 + self.eps) * advantage
      actor_loss = torch.mean(-torch.min(surr1, surr2))
      critic_loss = torch.mean(F.mse_loss(self.critic(states), td_target.detach()))
      self.actor_optimizer.zero_grad()
      self.critic_optimizer.zero_grad() # 注意:因为 Critic 可能和 Actor 有相同参数,此时会共享一个梯度 变量,不能再 Actor 计算梯度以后再清空梯度
      actor_loss.backward()
      critic_loss.backward()
      self.actor_optimizer.step()
      self.critic_optimizer.step()
  • Therefore,为了保证等式(3)中替代性 Token-level 目标所依赖的一阶近似的有效性

  • In principle,我们应该从两个方向缩小 \(\pi_{\theta}\) 和 \(\color{red}{\mu_{\theta_{\text{old}} } }\) 之间的差距 :

    • 减少训练和推理引擎之间的数值差异
    • 将策略陈旧性控制在适度的范围内

Challenge for Mixture of Experts, and Routing Replay

Expert Routing Hinders First-order Approximation to Hold(专家路由是阻碍一阶近似成立的其中一个问题)

  • 当涉及到 MoE 模型时,一阶近似成立的条件变得不那么直接
  • Specifically,在生成每个 Token 的前向传播过程中,MoE 模型通过专家路由机制动态选择并仅激活一小部分专家参数
  • 将专家路由纳入等式(5),我们可以将 MoE 模型的 Token-level 重要性采样权重写为:
    $$
    \frac{\pi_{\theta}(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})}=\frac{\pi_{\theta}(y_t|x,y_{ < t},\color{magenta}{e_t^\pi})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{red}{e^{\mu}_{\text{old},t}})} = \underbrace{\frac{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{blue}{e^{\pi}_{\text{old},t}})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{red}{e^{\mu}_{\text{old},t}})} }_{\text{training–inference discrepancy} } \times \underbrace{\frac{\pi_{\theta}(y_t|x,y_{ < t},\color{magenta}{e_t^\pi})}{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{blue}{e^{\pi}_{\text{old},t}})} }_{\text{policy staleness} },
    \tag{6}
    $$
    • 其中 \(e^{\pi}\) 和 \(e^{\mu}\) 分别表示训练和推理引擎中路由的专家,下标 “old” 对应于 rollout 策略
  • At this point,基于 MoE 模型的强化学习挑战变得清晰:
    • 专家路由与训练-推理差异和策略陈旧性交织在一起,增加了等式(3)中替代性 Token-level 优化目标所依赖的一阶近似失效的可能性
  • More specifically,训练-推理差异可能导致在相同的模型参数和输入下,训练和推理引擎中路由的专家不一致,即 \(\color{blue}{e^{\pi}_{\text{old},t}}\) 与 \(\color{red}{e^{\mu}_{\text{old},t}}\) 不一致)
    • 专家路由的这种分歧反过来又会放大最终输出的差异
    • Furthermore,策略陈旧性不仅体现在模型参数的变化上(即 \(\theta\) 与 \(\theta_{\text{old} }\)),还体现在路由专家的变化上(即 \(\color{magenta}{e_t^\pi}\) 与 \(\color{blue}{e^{\pi}_{\text{old},t}}\)),这可能会极大地改变由激活参数定义的最终策略

Routing Replay Restores First-order Approximation, Yet May Introduce Bias(注:路径回放可恢复一阶近似,但可能引入偏差)

  • 认识到专家路由破坏了 MoE 模型中一阶近似的有效性,我们可以通过路径回放方法(Routing Replay)(2025)来消除这种影响
  • 路径回放的核心思想是在策略优化过程中固定路由的专家,从而稳定 MoE 模型的 RL 训练,使模型能够像密集模型一样被优化
  • 基于等式(6),论文将路径回放的两种具体实现形式化,即普通路径回放和Rollout 路径回放
    • 普通路径回放(Vanilla Routing Replay, R2) (GSPO)Group Sequence Policy Optimization, 20250728, Qwen 侧重于通过在进行梯度更新时,将目标策略路由修改为 \(\color{blue}{e^{\pi}_{\text{old},t}}\)
      • 减轻专家路由对策略陈旧性的影响:将公式 6 中 \(\color{magenta}{e_t^\pi}\) 替换为 \(\color{blue}{e^{\pi}_{\text{old},t}}\)
        $$
        \frac{\pi^{R2}_{\theta}(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})} = \frac{\pi_{\theta}(y_t|x,y_{ < t},\color{blue}{e^{\pi}_{\text{old},t}})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{red}{e^{\mu}_{\text{old},t}})} = \underbrace{\frac{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{blue}{e^{\pi}_{\text{old},t}})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{red}{e^{\mu}_{\text{old},t}})} }_{\text{training–inference discrepancy} } \times \underbrace{\frac{\pi_{\theta}(y_t|x,y_{ < t},\color{blue}{e^{\pi}_{\text{old},t}})}{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{blue}{e^{\pi}_{\text{old},t}})} }_{\text{policy staleness} \ \color{red}{\downarrow}}.
        $$
    • Rollout 路径回放(Rollout Routing Replay, R3) (Stabilizing MoE Reinforcement Learning by Aligning Training and Inference Routers, 20250113 & 20251021, LLM-Core Xiaomi, Xiaomi Mimo, Fuli Luo 旨在策略梯度更新时,统一所有三个路由为 \(\color{red}{e^{\mu}_{\text{old},t}}\)
      • 减轻专家路由对策略陈旧性的影响:将公式 6 中 \(\color{magenta}{e_t^\pi}\) 替换为 \(\color{red}{e^{\mu}_{\text{old},t}}\)
      • 减少专家路由对训练-推理差异的影响:将公式 6 中的 \(\color{red}{e^{\mu}_{\text{old},t}}\) 替换为 \(\color{red}{e^{\mu}_{\text{old},t}}\)
        $$
        \frac{\pi^{R3}_{\theta}(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})} = \frac{\pi_{\theta}(y_t|x,y_{ < t},\color{red}{e^{\mu}_{\text{old},t}})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{red}{e^{\mu}_{\text{old},t}})} = \underbrace{\frac{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{red}{e^{\mu}_{\text{old},t}})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{red}{e^{\mu}_{\text{old},t}})} }_{\text{training–inference discrepancy} \ \color{red}{\downarrow} } \times \underbrace{\frac{\pi_{\theta}(y_t|x,y_{ < t},\color{red}{e^{\mu}_{\text{old},t}})}{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t},\color{red}{e^{\mu}_{\text{old},t}})} }_{\text{policy staleness} \ \color{red}{\downarrow} }.
        $$
  • Therefore,路径回放通过减少训练-推理差异(在 R3 中)和缓解策略陈旧性(在 R2 和 R3 中),直观地恢复了 MoE 模型中一阶近似的有效性
  • However,作者指出,它也隐式地给目标策略引入了偏差 ,正如符号 \(\pi^{R2}_{\theta}\) 和 \(\pi^{R3}_{\theta}\) 所暗示的那样
    • Specifically,在等式(3)中旨在优化的原始目标策略是 \(\pi_{\theta}\),其中每个 Token \(y_t\) 的似然应受 naturally-routed 专家 \(\color{magenta}{e_t^\pi}\) 支配
    • 但路径回放将路由的专家限制为 \(\color{blue}{e^{\pi}_{\text{old},t}}\) 或 \(\color{red}{e^{\mu}_{\text{old},t}}\),leading to another 偏离原始 \(\pi_{\theta}\) 目标策略 \(\pi^{R2}_{\theta}\) 或 \(\pi^{R3}_{\theta}\)(由 \(\color{magenta}{e_t^\pi}\) 定义)的问题
    • In particular,当论文将大批次拆分为 mini-batch 进行多次梯度更新时,R2 和 R3 可能拥有不同程度的偏差,如表 1 所示
      • R2 在第一个 mini-batch 中没有改变原始目标策略的路由索引(因为第一个 mini-batch 是 on-policy 的)
      • R3 在第一个 mini-batch 开始就一直没有对齐
      • 论文推测这可能导致 R2 和 R3 表现出不同的性能,特别是当批次大小与 mini-batch 大小的比率(即 Off-policy 程度)变化时
    • 表 1:R2 和 R3 如何改变原始目标策略 \(\pi_{\theta}\) 的比较
  • Nevertheless,很难明确评估路径回放的利弊孰轻孰重
    • 改变路由专家虽然向优化目标引入了偏差,但也使得一阶近似更可能成立
      • 一阶近似依赖于将 \(\pi^{R2}_{\theta}\) 或 \(\pi^{R3}_{\theta}\) 作为目标策略的改变后的 Token-level 目标
    • 作者认为需要进一步的实验来验证路径回放的实用性

Empirical Analyses

MiniRL: A Minimalist Baseline Algorithm

  • 在论文的实验中,论文对等式(3)中的 REINFORCE 优化目标应用了两个最小的修改,作为一个极简主义 Baseline 算法
    • Firstly,论文对原始奖励应用 Group-normalization(2024)作为每个响应 \(y\) 的优势估计:
      $$ \widehat{A}(x,y) = R(x,y) - \mathbb{E}_{y’\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)} [R(x,y’)]$$
      • 这也降低了原始奖励的方差
    • Secondly,论文采用了 PPO(2017)中的截断机制,通过停止某些 Token 的梯度来防止激进的策略更新,这有望抑制策略陈旧性
      • 遵循 decoupled PPO approach(2022),并使用 \(\color{blue}{\pi_{\theta_{\text{old}} } }\) 作为近端策略(proximal policy),根据 \(\pi_{\theta}(y_t|x,y_{ < t})\) 和 \(\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t})\) 的比率来决定是否截断 Token \(y_t\)

        While there are alternative clipping strategies, such as clipping a whole response based on the ratio of sequence likelihood (GSPO, 2025), we found that the current clipping strategy has worked decently. Therefore, we leave the study of clipping or masking strategies for future work. Similarly, exploring better advantage estimates \(\widehat{A}(x,y)\) may also be helpful, but falls outside the scope of this work

    • 得到的极简主义基线算法,论文称之为 MiniRL,如下所示:
      $$
      \begin{aligned}
      \mathcal{J}_{\text{MiniRL} }(\theta) &= \mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)}\left[\sum_{t=1}^{|y|} M_t \operatorname{sg}\left[\frac{\pi_{\theta}(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})}\right] \widehat{A}(x,y) \log\pi_{\theta}(y_t|x,y_{ < t})\right],\\
      M_t &= \begin{cases}
      0 & \text{if } \widehat{A}(x,y)>0 \text{ and } r_t > 1+\varepsilon_{\text{high} },\\
      0 & \text{if } \widehat{A}(x,y)<0 \text{ and } r_t < 1-\varepsilon_{\text{low} },\\
      1 & \text{otherwise},
      \end{cases} \qquad r_t = \frac{\pi_{\theta}(y_t|x,y_{ < t})}{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t})},
      \end{aligned}
      \tag{7}
      $$
      • 其中 \(\operatorname{sg}\) 表示停止梯度操作
      • 特别注意:MiniRL 的优化目标(公式 7 中的重要性采样分母上是 \(\mu_{\theta_\text{old}}\),而不是 \(\pi_{\theta_\text{old}}\)
      • 理解:Clip 部分实际上就是 普通的 DAPO 方法,只是写法上改成了分段式,MiniRL 与 GRPO 的区别是:
        • 第一:MiniRL 不包含 KL 散度部分
        • 第二:MiniRL 移除了样本内部的平均(也称为长度归一化,Length Normalization)
        • 第三:MiniRL 包含重要性比例截断上下界分离(跟 DAPO 一样)
        • 第四:MiniRL 考虑了训练-推理差异(Training-Inference Discrepancy)
        • 其实以上所有修改都是其他论文使用过的方法,论文的重点共享在于分析上而不是在于算法设计上
  • It is noteworthy that 采用 MiniRL 作为基线算法是为了尽可能(在梯度上)与等式 3 中的替代性 Token-level 目标保持一致,这已在第 2 节的表述中得到证明
  • 在附录 A 中,作者将提供 MiniRL 与其他算法(如 GRPO(2024)和 CISPO(2025))的比较
  • 论文所有的实验都将基于 MiniRL 实现

Experimental Setup

  • 论文在数学推理任务(mathematical reasoning task)上进行实验,其中模型响应与真实答案进行比较,然后分配二元奖励(即 \(R(x,y)\in\{0,1\}\))
  • 作者精心挑选了 4096 个带有已验证答案的数学问题作为 RL 训练的 Prompt Set,报告在 HMMT25、AIME25 和 AIME24 基准测试上对 32 个采样响应的平均准确率,每个基准包含 30 个竞赛级别的问题(总共 90 个问题)
  • 使用从 Qwen3-30B-A3B-Base 微调而来的冷启动模型进行实验
  • 采用 FP8 推理和 BF16 训练的设置,为算法正确性提供了一个压力测试,其中推理精度低于训练精度,且训练-推理差异很大
  • 除了训练奖励,论文还报告两个指标的动态变化:
    • (1)目标策略的 Token-level 熵,通过下式近似:
      $$
      \mathbb{H}[\pi_{\theta}] \approx \mathbb{E}_{x\sim\mathcal{D},y_{ < t}\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)} \left[-\sum_{w\in\mathcal{V} } \pi_{\theta}(w|x, y_{ < t})\log\pi_{\theta}(w|x, y_{ < t})\right],
      $$
      • 其中 \(\mathcal{V}\) 表示词汇表;
    • (2)推理和训练引擎中 rollout 策略之间的 KL 散度,计算如下:
      $$
      \mathbb{D}_{\text{KL} }[\color{red}{\mu_{\theta_{\text{old}} } } | \color{blue}{\pi_{\theta_{\text{old}} } }] = \mathbb{E}_{x\sim\mathcal{D},y_t\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x,y_{ < t})} \left[\log\frac{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})}{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x, y_{ < t})}\right].
      $$
      • 论文报告这个指标是因为最近的工作(2025; 2025a)揭示了 RL 训练的不稳定性或崩溃通常伴随着训练-推理差异的急剧增加
  • 为了进行对照实验,论文采用标准的同步 RL 框架
    • 在每个全局步骤中
      • 首先,采样一个包含 \(B\) 个 Prompt 的批次,并使用推理引擎中的 rollout 策略为每个 Prompt 采样 \(G\) 个响应
      • 然后,论文将响应拆分为 \(N\) 个 mini-batch ,并在训练引擎中应用 \(N\) 次梯度更新
    • 每个全局步骤中最终更新的策略将在下一个全局步骤中作为新的 rollout 策略使用
    • 在所有实验运行中,作者为每次梯度更新使用相同的 mini-batch 大小,即 1024 个响应(\(B=64\) 且 \(G=16\))
  • 对于其他超参数,将最大生成长度设置为 32,768,并在 MiniRL 中设置 \(\varepsilon_{\text{high} }\) 为 0.27,\(\varepsilon_{\text{low} }\) 为 0.2
  • 另外,作者还将截断重要性采样技巧(Truncated Importance Sampling trick, TIS)(2025)应用于 MiniRL 中的 Token-level 重要性采样权重,截断阈值设为 5
    • 问题:这里 TIS 并不是 MiniRL 的标配吗?为什么前面不说?
  • 论文的实验总计数十万 GPU 小时,消耗的计算量估计为每梯度步骤 \(5\sim6\) GPU 小时

Results of On-policy Training

  • 首先在 On-policy 训练(全局批次大小等于 mini-batch 大小)下验证 Token-level 优化目标所依赖的一阶近似的有效性是否与训练稳定性相关
  • 在这种 \(\theta=\theta_{\text{old} }\) 的 On-policy 设置下,MiniRL 退化为以下基本策略梯度算法:
    $$
    \mathcal{J}_{\text{MiniRL} }(\theta) = \mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)} \left[\sum_{t=1}^{|y|} \frac{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})} \widehat{A}(x,y) \log\pi_{\theta}(y_t|x,y_{ < t})\right],
    $$
  • 所以这里的 IS 权重仅用作训练-推理差异的修正
  • 现有的 RL 算法,如 GRPO 和 CISPO,通常在其优化目标中采用长度归一化,并且它们的原始目标没有考虑对训练-推理差异的 IS 修正
  • 因此,论文在实验中包含了 MiniRL 的以下两个消融变体:
    • 第一个变体:
      $$
      \mathcal{J}_{\text{MiniRL} }^{\text{w.length-norm} }(\theta) = \mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)} \left[\frac{1}{|y|}\sum_{t=1}^{\color{blue}{|y|}} \frac{\color{blue}{\pi_{\theta_{\text{old}} } }(y_t|x,y_{ < t})}{\color{red}{\mu_{\theta_{\text{old}} } }(y_t|x,y_{ < t})} \widehat{A}(x,y) \log\pi_{\theta}(y_t|x,y_{ < t})\right],
      $$
      • 该变体额外使用了长度归一化;
    • 第二个变体:
      $$
      \mathcal{J}_{\text{MiniRL} }^{\text{wo.train-infer-is} }(\theta) = \mathbb{E}_{x\sim\mathcal{D},y\sim\color{red}{\mu_{\theta_{\text{old}} } }(\cdot|x)} \left[\sum_{t=1}^{|y|} \widehat{A}(x,y) \log\pi_{\theta}(y_t|x,y_{ < t})\right],
      $$
      • 该变体省略了对训练-推理差异的 IS 修正
    • 注意,这两个变体不再满足上述一阶近似 ,因为它们的梯度既不等于,也不与等式(1)中真实 Sequence-level 目标的梯度线性相关(忽略奖励归一化)
    • 论文还将 MiniRL 和两个变体配备了 R3(R2 在此不适用,见表 1)进行比较
  • 从图 1 中,论文得出以下观察和结论:
    • MiniRL,即带有 IS 修正的基本策略梯度算法,实现了最佳性能和训练稳定性
    • 添加长度归一化导致次优性能,尽管训练保持稳定。这符合预期,因为长度归一化使得对真实期望 Sequence-level 奖励的一阶近似失效,导致了有偏的 Token-level 优化目标
    • 移除训练-推理 IS 修正会导致训练迅速崩溃和熵的急剧下降。这证实了 IS 权重是一阶近似的内在组成部分,省略它会立即使 Token-level 优化目标失效
    • 在 On-policy 训练中应用 R3 不会带来性能增益,尽管它有效降低了训练-推理差异(如训练-推理 KL 散度所示)
      • Moreover,将 R3 与长度归一化结合甚至进一步降低了基准分数,而在没有训练-推理 IS 修正的情况下应用 R3 仍然迅速失败
      • 这从实证上证实了论文在第 3.2 节的推测,即路径回放可以改变原始目标策略并向优化目标引入偏差
  • 这些结果表明,在设计 Token-level 优化目标时,只有那些保持对期望 Sequence-level 奖励一阶近似有效性的目标才能带来改进的训练稳定性和性能
  • 这也验证了论文所提出表述的正确性

Results of Off-policy Training

  • RL 中的推理时间通常受生成长度限制,无法通过增加计算资源来加速
  • 为了利用增加的计算量更快地收敛,常见的做法是引入 Off-policy 更新
  • 在同步 RL 框架内,这意味着将大批次响应拆分为 \(N\) 个 mini-batch 进行多次梯度更新
  • 为了研究在 Off-policy 设置下稳定 RL 训练的方案,论文实验了三个级别的 Off-policy 程度:
    • 在固定 mini-batch 大小为 1024 个响应的情况下,全局批次大小分别变化为 2048、4096 和 8192,对应于 \(N=2,4\) 和 8
  • 以 MiniRL 为基线,论文比较了以下方法:
    • MiniRL(no clipping)
    • MiniRL + R2(no clipping)
    • MiniRL + R2 和 MiniRL + R3
  • 从图 2 到图 4,论文得出以下观察和结论:
    • 一旦引入 Off-policy 更新,路径回放和截断对于稳定训练都变得至关重要
      • 如图 2 和图 3 所示,省略任一路径回放或截断都会导致训练过早崩溃,从而降低峰值性能
      • 这表明路径回放减轻了专家路由的影响,而截断机制也有效地防止了激进的策略更新,从而都抑制了策略陈旧性
    • 当 Off-policy 程度较小时(gbs = \(2 \times\) mbs),R2 优于 R3;而当 Off-policy 程度较大时(gbs = \(4 \times\) mbs 和 gbs = \(8 \times\) mbs),R3 超过了 R2
      • Notably,在高 Off-policy 程度下,R2 无法维持稳定的训练,并且其在训练崩溃前达到的峰值性能也略低于 R3
      • 结合论文在第 3.2 节的分析(特别是 R2 在第一个 mini-batch 中保持目标策略不变而 R3 改变了它),以及 第 4.3 节的 On-policy 实验结果,作者 hypothesize 当 Off-policy 程度较小时,R3 对目标策略的改变带来的不利影响超过了它在保持一阶近似有效性方面的好处,而在更大的 Off-policy 程度下,情况则相反
  • In Summary,论文发现路径回放和截断对于稳定的 Off-policy 训练是必要的
    • 当 Off-policy 程度较小时,R2 足以并且更有效地稳定 MoE 模型的 RL 训练,而在更大的 Off-policy 程度下,R3 变得必要

Results of Varying Cold-start Initializations

  • 回顾稳定 RL 训练的动机:给定一个基础模型,一旦论文能够通过足够长的 RL 训练达到其性能极限,我们就可以通过将计算资源投入到 RL 中,可靠地提升模型的能力
  • 为此,作者研究了使用稳定 RL 方案训练时,用不同冷启动数据初始化的模型是否能达到相似的性能
  • 作者比较了从三个前沿模型蒸馏出来的三个版本的冷启动数据:
    • Qwen3-Max-Thinking-Preview、DeepSeek-R1-0528 和 gpt-oss-120b(high mode)
  • 论文基于一个早期实验的小型 Qwen3Next MoE 模型报告结果,该模型使用全局批次大小为 4096、 mini-batch 大小为 2048(\(B=128, G=16, N=2\))以及生成长度为 65,536 个 Token 进行训练
    • 这里采用 MiniRL + R2 作为训练方案
  • 在图 5 中,展示了三个冷启动初始化始终实现可比较的最终性能,这鼓励论文更多地关注 RL 本身,而不是过度关注冷启动初始化的细节
  • Furthermore,比较图 1 到图 4,论文发现 On-policy 和 Off-policy 训练(一旦稳定下来)也始终达到相似的峰值性能
    • 这些结果进一步表明,稳定训练在成功扩展 RL 方面起着决定性作用

附录 A: Comparison of MiniRL against GRPO and CISPO

  • 论文将 MiniRL 的优化目标与 GRPO (2024) 和 CISPO (2025) 的目标进行比较
  • 使用论文中的符号,GRPO 采用以下目标:
    $$
    \mathcal{J}_{\textrm{GRPO} }(\theta)=\mathbb{E}_{x\sim\mathcal{D},\left\{y_{i}\right\}_{i=1}^{G}\sim\mu_{\theta_{\textrm{old} } }(\cdot|x)} \left[\frac{1}{G}\sum_{i=1}^{G}\frac{1}{\left|y_{i}\right|}\sum_{t=1}^{\left|y_{i}\right|}\min\left(r_{i,t}(\theta)\widehat{A}_{i,t},\operatorname{clip}(r_{i,t}(\theta),1-\epsilon_{\textrm{low} },1+\epsilon_{\textrm{high} })\widehat{A}_{i,t}\right)\right],
    $$
    • 注:这里少写了 KL 散度
  • CISPO 如下:
    $$
    \mathcal{J}_{\textrm{CISPO} }(\theta)=\mathbb{E}_{x\sim\mathcal{D},y\sim\mu_{\theta_{\textrm{old} } }(\cdot|x)} \left[\frac{1}{\sum_{i=1}^{G}\left|y_{i}\right|}\sum_{i=1}^{G}\sum_{t=1}^{\left|y_{i}\right|}\operatorname{sg}\left[\operatorname{clip}(r_{i,t}(\theta),1-\epsilon_{\textrm{low} },1+\epsilon_{\textrm{high} })\right]\widehat{A}_{i,t}\log\pi_{\theta}(y_{t}|x,y_{ < t})\right],
    $$
  • 其中在两个目标中,重要性比例和优势函数相同:
    $$
    r_{i,t}(\theta)=\frac{\pi_{\theta}(y_{i,t}|x,y_{i,<t})}{\color{blue}{\pi_{\theta_{\text{old}} } }(y_{i,t}|x,y_{i,<t})},\qquad\widehat{A}_{i,t}=\frac{R(x,y_{i})-\text{mean}\left(\left\{R(x,y_{i})\right\}_{i=1}^{G}\right)}{\text{std}\left(\left\{R(x,y_{i})\right\}_{i=1}^{G}\right)}.
    $$
  • 它们与 MiniRL 的关键区别包括:
    • (1) 它们的原始目标未考虑训练-推理差异(training–inference discrepancy)
      • 注:MiniRL 的优化目标(公式 7 中的重要性采样分母上是 \(\mu_{\theta_\text{old}}\),而不是 \(\pi_{\theta_\text{old}}\)
    • (2) 两者都采用了长度归一化(length normalization),论文在第 4.3 节表明,这会使得对真实期望 Sequence-level 奖励的一阶近似失效,并可能导致有偏的 Token 级优化目标和次优性能;
    • (3) CISPO 没有对某些 Token 的梯度进行裁剪,论文在第 4.4 节表明这可能导致训练不稳定
      • 补充特别强调:CISPO 的截断方式与 PPO/GRPO 有着明显的不同
        • 在 PPO/GRPO 中,阶段对象是整个 Token 本身,被截断以后就整个 Token 都不生效了(这部分梯度因为截断而变成变成 0);
        • 在 CISPO 的截断方式下,仅仅是将重要性权重比例进行了截断,Token 的重要性比例被截断了,但本身梯度还可以被继续更新
          • 严格来讲:CISPO 中,无论怎样的 Token 都会参与更新,只是说重要性比例对应的权重会被截断调整
    • 其实还有其他区别:
      • 相对标准的 GRPO,MiniRL 增加了重要性比例的截断上下解耦
      • 相对标准的 GRPO,MiniRL 移除了 KL 散度?

附录 B: Detailed Benchmark Results

  • 图 6: 全局批次大小 gbs = mini-batch 大小 mbs = \(1,024\) 的 On-policy 训练详细基准测试结果
  • 图 7: 全局批次大小 gbs = \(2\times\) mini-batch 大小 mbs = \(2,048\) 的离策略训练详细基准测试结果
  • 图 8: 全局批次大小 gbs = \(4\times\) mini-batch 大小 mbs = \(4,096\) 的离策略训练详细基准测试结果
  • 图 9: 全局批次大小 gbs = \(8\times\) mini-batch 大小 mbs = \(8,192\) 的离策略训练详细基准测试结果
  • 图 10: 不同冷启动初始化的详细基准测试结果

NLP——LLM对齐微调-ORPO

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:ORPO: Monolithic Preference Optimization without Reference Model, arXiv 20240314, KAIST AI:截止到20250616日,cited by 244
      • 注:KAIST AI 是韩国科学技术院(KAIST)的一个机构
    • 模型开源权重
      • https://huggingface.co/kaist-ai/mistral-orpo-alpha
      • https://huggingface.co/kaist-ai/mistral-orpo-beta

Paper Summary

  • 整体总结:
    • 论文通过重新审视和理解 SFT 阶段在偏好对齐中的价值,提出了一种无需参考模型的单步偏好对齐方法 ORPO(本质是一种 SFT 方法)
    • ORPO 在多个规模上均被微调后的奖励模型偏好于 SFT 和 RLHF,并且随着模型规模的增大,其对 DPO 的胜率也逐渐提高
    • 论文通过 2.7B 和 7B 的预训练语言模型验证了 ORPO 的可扩展性,其在 AlpacaEval 上的表现超过了更大规模的先进指令跟随语言模型
    • 特别说明:作者发布了 Mistral-ORPO-\(\alpha\) 和 Mistral-ORPO-\(\beta\) 的微调代码和模型 checkpoint 以促进可复现性
  • 背景:
    • 尽管最近的 LLM 偏好对齐算法已展现出有希望的结果,但 SFT 对于实现成功收敛仍然至关重要
    • 论文研究了 SFT 在偏好对齐中的关键作用,强调只需对不受欢迎的生成风格施加轻微惩罚即可实现偏好对齐的 SFT
  • 基于此,论文提出了一种简单而创新的 无需参考模型的 单一(monolithic) 几率比偏好优化算法(Odds Ratio Preference Optimization, ORPO),消除了额外偏好对齐阶段的需求
  • 论文通过实证和理论证明,在 125M 到 7B 的不同规模模型上,几率比(odds ratio)是对比 SFT 中受欢迎和不受欢迎风格的合理选择
  • 仅使用 UltraFeedback 数据集对 Phi-2(2.7B)、Llama-2(7B)和 Mistral(7B)进行 ORPO 微调,其性能超过了参数规模超过 7B 和 13B 的最先进语言模型:
    • 在 AlpacaEval\(_{2.0}\) 上达到 12.20%(图1),在 IFEval(指令级宽松评估)上达到 66.19%(表 6),在 MT-Bench 上达到 7.32(图12)
  • 论文发布了 Mistral-ORPO-\(\alpha\)(7B)和 Mistral-ORPO-\(\beta\)(7B)的代码和模型 checkpoints

Introduction and Discussion

  • 预训练语言模型(Pre-trained Language Models, PLMs)通过大规模训练语料(如网络文本 (2020) 或教科书 (2023))展现了在多样化 自然语言处理(NLP)任务中的卓越能力 (2020; 2022; 2023)
    • 但这些模型需要通过进一步调优才能适用于通用领域应用,通常通过 指令微调(instruction tuning)和 偏好对齐(preference alignment)等过程实现
  • 指令微调 (2022; 2023) 训练模型遵循自然语言描述的任务,使其能够很好地泛化到未见过的任务
    • 尽管模型能够遵循指令,但它们可能生成有害或不道德的输出 (2021; 2023)
    • 为了进一步将这些模型与人类价值观对齐,需要使用成对偏好数据进行额外训练,例如 RLHF (2020; 2022) 和 直接偏好优化(Direct Preference Optimization, DPO)(2023)
  • 偏好对齐方法在多个下游任务中展现了成功,例如提升事实性 (2023)、基于代码的问答 (2022) 和机器翻译 (2023)
    • 对齐算法在广泛下游任务中的多功能性凸显了理解对齐过程并进一步改进算法效率和性能的必要性
    • 但现有的偏好对齐方法通常是一个多阶段过程,如图2 所示,通常需要第二个参考模型和单独的 SFT 预热阶段 (2020; 2023)
  • 论文中,论文在第 3 节研究了成对偏好数据集中 SFT 的作用和影响,并在第 4 节提出了一种简单而新颖的对齐方法 ORPO,它能在 SFT 期间高效惩罚模型学习不期望的生成风格
  • 与之前的工作不同,论文的方法既不需要 SFT 预热阶段 ,也不需要参考模型 ,从而实现了资源高效的偏好对齐模型开发
  • 论文在第 6.1 和 6.2 节通过微调 Phi-2(2.7B)、Llama-2(7B)和 Mistral(7B)评估了模型对齐任务和流行排行榜的有效性
  • 在第 6.3 节中,论文通过控制实验将 ORPO 与模型对齐的经典方法(RLHF 和 DPO)在不同数据集和模型规模上进行比较
  • 结合第 6.4 节生成多样性的后验分析,论文在第 7.3 节中阐述了在单一偏好对齐中使用几率比的理论、实证和计算依据
  • 论文发布了 Mistral-ORPO-\(\alpha\)(7B)和 Mistral-ORPO-\(\beta\)(7B)的训练代码和 checkpoint
  • 这些模型在 MT-Bench 上分别达到 7.24 和 7.32,在 AlpacaEval\(_{2.0}\) 上达到 11.33% 和 12.20%,在 IFEval 指令级宽松准确率上达到 61.63% 和 66.19%

The Role of Supervised Fine-tuning

  • 论文通过分析 SFT 的损失函数以及实证研究训练后的 SFT 模型对偏好的理解能力,探讨了 SFT 作为偏好对齐方法初始阶段的作用(2020;2023)
  • SFT 在将预训练语言模型(PLM)适配到目标领域方面发挥了重要作用(2023a;2024),它通过增加相关 Token 的对数概率来实现这一点
    • 但这一过程也无意中提高了生成不良风格 Token 的可能性,如图3 所示
    • 因此,有必要开发一种方法,能够在保留 SFT 领域适配作用的同时,识别并抑制不良生成风格

Absence of Penalty in Cross-Entropy Loss

  • 交叉熵损失微调的目标是惩罚模型对参考答案的预测对数概率较低的情况,如公式(2)所示:
    $$
    \begin{align}
    \mathcal{L} &= -\frac{1}{m} \sum_{k=1}^{m} \log P(\mathbf{x}^{(k)}, \mathbf{y}^{(k)}) \tag{1} \\
    &= -\frac{1}{m} \sum_{k=1}^{m} \sum_{i=1}^{|V|} y_i^{(k)} \cdot \log(p_i^{(k)}) \tag{2}
    \end{align}
    $$
    • \( y_i \) 是一个布尔值,表示词汇集 \( V \) 中的第 \( i \) 个 Token 是否为标签 Token
    • \( p_i \) 表示第 \(i\) 个 Token 的概率
    • \( m \) 是序列长度
    • 单独使用交叉熵时,由于 \( y_i \) 会被设置为0,因此对非答案 Token 的对数概率没有直接的惩罚或补偿(2017)
    • 虽然交叉熵在领域适配中通常有效(2023),但在偏好对齐的视角下,它缺乏对拒绝响应的惩罚机制
      • 因此,拒绝响应中的 Token 对数概率会与选择响应中的 Token 对数概率同步增加,这是不理想的

Generalization over Both Response Styles

  • 论文通过一项初步研究实证展示了仅使用监督微调时选择响应和拒绝响应的校准问题
  • 论文在 HH-RLHF 数据集(2022a)上对 OPT-350M(2022)进行微调,仅使用选择响应
  • 训练过程中,论文监测每个批次中拒绝响应的对数概率,结果如图3 所示。选择响应和拒绝响应的对数概率同时增加,这可以从两个角度解释:
    • 1)交叉熵损失有效地引导模型适应目标领域(例如对话)
    • 2)由于缺乏对不良生成的惩罚,拒绝响应的对数概率有时甚至高于选择响应
    • 问题:为什么缺乏惩罚就会增加拒绝影响的 Token 对数概率?
    • 回答:因为拒绝响应和选择响应都是相同领域的,所以概率同时增大了

Penalizing Undesired Generations

  • 在损失函数中添加“不似然”惩罚项已被证明可以有效减少模型的不良退化特征(2019;2020)
  • 例如,为了防止重复,可以通过在损失函数中添加 \( (1 - p_i^{(k)}) \) 项来抑制最近上下文中的不良 Token 集 \( k \in \mathcal{C}_{recent} \)
  • 受SFT中拒绝响应 Token 概率升高的启发(图3)以及抑制不良特征的有效性,论文设计了一种单步偏好对齐方法,能够动态惩罚每个查询中的不良响应,而无需手动构造拒绝 Token 集

ORPO

  • 论文提出了一种新颖的偏好对齐算法——比值比偏好优化(Odds Ratio Preference Optimization, ORPO)
  • 该算法在传统的负对数似然(Negative Log-Likelihood, NLL)损失基础上,引入了一个基于比值比的惩罚项,用于区分偏好响应和非偏好响应的生成风格

Preliminary

  • 给定输入序列 \( x \),生成输出序列 \( y \)(长度为 \( m \) 个 Token )的平均对数似然如公式(3)所示。生成输出序列 \( y \) 的比值(odds)定义为公式(4):
    $$
    \begin{align}
    \log P_{\theta}(y|x) &= \frac{1}{m} \sum_{t=1}^{m} \log P_{\theta}(y_t | x, y_{ < t}) \tag{3} \\
    \text{odds}_{\theta}(y|x) &= \frac{P_{\theta}(y|x)}{1 - P_{\theta}(y|x)} \tag{4}
    \end{align}
    $$
  • 直观上,\( \text{odds}_{\theta}(y|x) = k \) 表示模型 \( \theta \) 生成输出序列 \( y \) 的可能性是不生成它的 \( k \) 倍。因此,选择响应 \( y_w \) 相对于拒绝响应 \( y_l \) 的比值比 \( \text{OR}_{\theta}(y_w, y_l) \) 表示模型 \( \theta \) 在给定输入 \( x \) 时生成 \( y_w \) 而非 \( y_l \) 的相对可能性,定义如公式(5):
    $$
    \text{OR}_{\theta}(y_w, y_l) = \frac{\text{odds}_{\theta}(y_w|x)}{\text{odds}_{\theta}(y_l|x)} \tag{5}
    $$

Objective Function of ORPO

  • ORPO 的目标函数如公式(6)所示,包含两个部分:
    • 1) SFT 损失 \( \mathcal{L}_{SFT} \);
    • 2)相对比值损失 \( \mathcal{L}_{OR} \)
      $$
      \mathcal{L}_{ORPO} = \mathbb{E}_{(x,y_w,y_l)} \left[ \mathcal{L}_{SFT} + \lambda \cdot \mathcal{L}_{OR} \right] \tag{6}
      $$
    • \( \mathcal{L}_{SFT} \) 遵循传统的因果语言建模负对数似然(NLL)损失函数,用于最大化生成参考 Token 的似然,如第3节 所述
    • 公式(7)中的 \( \mathcal{L}_{OR} \) 通过最大化生成偏好响应 \( y_w \) 和非偏好响应 \( y_l \) 的比值比,将对数比值比包裹在log-sigmoid函数中,使得通过增加 \( y_w \) 和 \( y_l \) 之间的对数比值比可以最小化 \( \mathcal{L}_{OR} \)
      $$
      \mathcal{L}_{OR} = -\log \sigma \left( \log \frac{\text{odds}_{\theta}(y_w|x)}{\text{odds}_{\theta}(y_l|x)} \right) \tag{7}
      $$
      • 通过加权组合 \( \mathcal{L}_{SFT} \) 和 \( \mathcal{L}_{OR} \),预训练语言模型能够适配到目标领域的特定子集,同时抑制生成拒绝响应集中的内容

Gradient of ORPO

  • \( \mathcal{L}_{Ratio} \) 的梯度进一步证明了使用比值比损失的合理性。它包含两项:一项惩罚错误预测,另一项在选择响应和拒绝响应之间形成对比,如公式(8)所示,其中 \( d = (x, y_l, y_w) \sim D \)
    $$
    \begin{align}
    \nabla_{\theta} \mathcal{L}_{OR} &= \delta(d) \cdot h(d) \tag{8} \\
    \delta(d) &= \left[ 1 + \frac{\text{odds}_{\theta} P(y_w|x)}{\text{odds}_{\theta} P(y_l|x)} \right]^{-1} \tag{9} \\
    h(d) &= \frac{\nabla_{\theta} \log P_{\theta}(y_w|x)}{1 - P_{\theta}(y_w|x)} - \frac{\nabla_{\theta} \log P_{\theta}(y_l|x)}{1 - P_{\theta}(y_l|x)} \tag{10}
    \end{align}
    $$
  • 当偏好响应的比值相对高于非偏好响应时,公式(9)中的 \( \delta(d) \) 会收敛到 0
    • 这表明 \( \delta(d) \) 扮演了惩罚项的角色,如果模型更倾向于生成拒绝响应,则会加速参数更新
  • 同时,公式(10)中的 \( h(d) \) 表示来自选择响应和拒绝响应的梯度的加权对比
    • 具体来说,分母中的 \( 1 - P(y|x) \) 在对应似然 \( P(y|x) \) 较低时放大了梯度
    • 对于选择响应,随着似然的增加,这会加速模型向选择响应分布的适配

Experimental Settings

Training Configurations

  • 模型(Models) :论文训练了一系列参数规模从 125M 到 1.3B 的 OPT 模型(2022),比较了 SFT,PPO,DPO,ORPO
    • PPO 和 DPO 模型基于 TRL 库(2020)在 SFT 模型上进行微调
    • 遵循 Rafailov 等(2023)和 Tunstall 等(2023)的方法,这些 SFT 模型在选定响应上训练了一个 epoch
    • 论文在每种算法前添加“+”以作区分(例如,+DPO)
    • 此外,论文还训练了 Phi-2(2.7B)(2023),这是一个在下游任务中表现优异的预训练语言模型(2023),以及 Llama-2(7B)(2023)和 Mistral(7B)(2023)
    • 每种方法的详细训练配置见 附录C
  • 数据集(Datasets) :论文在两个数据集上测试了每种训练配置和模型:
    • 1)Anthropic 的 HH-RLHF(2022a);
    • 2)二值化的 UltraFeedback(2023)。论文过滤掉了 \(y_w = y_l\) 或 \(y_w = \emptyset\) 或 \(y_l = \emptyset\) 的实例
  • 奖励模型(Reward Models) :论文在每个数据集上训练了 OPT-350M 和 OPT-1.3B 作为奖励模型,目标函数为公式(11)(2020)
    • OPT-350M 奖励模型用于 PPO,OPT-1.3B 奖励模型用于评估微调模型的生成结果
    • 在第 6 节中,论文将这些奖励模型分别称为 RM-350M 和 RM-1.3B
      $$
      -\mathbb{E}_{(x,y_l,y_w)} \left[ \log \sigma \left( r(x, y_w) - r(x, y_l) \right) \right] \tag{11}
      $$

Leaderboard Evaluation

  • 在第 6.1 节中,论文使用 AlpacaEval1.0 和 AlpacaEval2.0(2023b)基准评估模型,将 ORPO 与官方排行榜中报告的其他指令微调模型进行比较,包括 Llama-2 Chat(7B 和 13B)(2023)以及 Zephyr \(\alpha\) 和 \(\beta\)(2023)
  • 类似地,在第 6.2 节中,论文使用 MT-Bench(2023)评估模型,并报告结果及官方排行榜中相同模型的分数
  • 在 AlpacaEval1.0 中,论文使用 GPT-4(2023)作为评估器,判断训练模型的响应是否优于 text-davinci-003 生成的响应
  • 对于 AlpacaEval2.0,论文按照默认设置使用 GPT-4-turbo,评估生成的响应是否优于 GPT-4 的响应
  • 在 MT-Bench 中,论文使用 GPT-4 作为评估器,测试模型在多轮对话中是否能够遵循包含复杂答案的指令

Results and Analysis

  • 在第 6.1 节和第 6.2 节中通过比较不同偏好对齐算法评估模型的通用指令遵循能力
  • 在第 6.3 节中,论文使用 OPT 1.3B 作为奖励模型,测量 ORPO 训练模型相对于其他对齐方法的胜率
  • 在第 6.4 节中,论文测量了 ORPO 和 DPO 训练模型的词汇多样性

Single-turn Instruction Following

  • Phi-2(2.7B) :ORPO 通过仅使用 UltraFeedback 作为指令微调数据集,将预训练的 Phi-2 性能提升至超过 Llama-2 Chat 指令遵循语言模型,如 表1 所示
    • Phi-2 的 \(\lambda\) 设置为 0.25,在 AlpacaEval 中分别达到 71.80% 和 6.35%
  • Llama-2(7B) :值得注意的是,UltraFeedback 和 ORPO(\(\lambda = 0.2\))在 Llama-2(7B)上的 AlpacaEval 分数高于通过 RLHF 训练的 7B 和 13B 版本的聊天模型,最终在两个 AlpacaEval 中分别达到 81.26% 和 9.44%
    • 相比之下,在论文的对照实验中,按照 Tunstall 等(2023)和 Rafailov 等(2023)的方法进行一个 epoch 的 SFT 和三个 epoch 的 DPO 训练后,Llama-2 + SFT 和 Llama-2 + SFT + DPO 生成的输出无法被评估
    • 这支持了 ORPO 的有效性,即模型能够在有限数据下快速学习目标领域和偏好,这与论文在第 4.3 节中对方法梯度 \(h(d)\) 的分析一致
  • Mistral-ORPO-\(\alpha\)(7B) :此外,使用单轮对话数据集 UltraFeedback 和 ORPO(\(\lambda = 0.1\))对 Mistral(7B)进行微调后,其性能超过了 Zephyr 系列模型
    • Zephyr 是基于 Mistral(7B)的模型,通过 SFT 在 20K UltraChat(2023)和 DPO 在完整 UltraFeedback 上微调得到
    • 如表1 所示,Mistral-ORPO-\(\alpha\)(7B)在 AlpacaEval2.0 中达到 87.92% 和 11.33%,分别超过 Zephyr \(\alpha\) 1.98% 和 Zephyr \(\beta\) 0.34%。样本响应及 GPT-4 的参考响应见附录I
  • Mistral-ORPO-\(\beta\)(7B) :使用与 Mistral-ORPO-\(\alpha\)(7B)相同的配置,论文进一步比较了在清洗版 UltraFeedback 上微调的 Mistral,以展示数据质量的影响
    • 虽然数据集的实际规模相近,但 ORPO 从数据质量中获得了额外优势,在 AlpacaEval 中得分超过 91% 和 12%,如表1 所示
    • 关于两个 Mistral 模型在 IFEval(2023c)上的指令遵循评估结果见附录D

Multi-turn Instruction Following

  • 使用论文的最佳模型 Mistral-ORPO-\(\alpha\)(7B)和 Mistral-ORPO-\(\beta\)(7B),论文还通过 MT-Bench 评估了模型在确定性答案(如数学问题)上的多轮指令遵循能力
  • 如图4 所示,ORPO-Mistral(7B)系列的结果与更大规模或专有模型(如 Llama-2-Chat(70B)和 Claude)相当。最终,Mistral-ORPO-\(\alpha\)(7B)和 Mistral-ORPO-\(\beta\)(7B)在训练期间未接触多轮对话数据集的情况下,在 MT-Bench 中分别获得 7.23 和 7.32 分

Reward Model Win Rate

  • 论文使用 RM-1.3B 评估 ORPO 相对于其他偏好对齐方法(包括 SFT、PPO 和 DPO)的胜率,以理解 ORPO 的有效性和可扩展性(表2 和表3)。此外,论文通过可视化验证 ORPO 能够有效提升预期奖励(图5)
  • HH-RLHF :在表2 中,ORPO 在所有模型规模上均优于 SFT 和 PPO。模型规模越大,ORPO 对 SFT 和 PPO 的最高胜率分别为 78.0% 和 79.4%。同时,ORPO 对 DPO 的胜率与模型规模相关,最大模型的胜率最高(70.9%)
    • 问题:在小模型上的胜率不如 DPO?为什么 DPO 在小模型上胜率如此之好?是不是超参数没调好
  • UltraFeedback :UltraFeedback 中的胜率趋势与 HH-RLHF 报告的结果相似(表3)。ORPO 对 SFT 和 PPO 的最高胜率分别为 80.5% 和 85.8%。虽然 ORPO 始终优于 SFT 和 PPO,但对 DPO 的胜率随着模型规模的增加而逐步提升。这种规模趋势将在第 6.1 节中通过 2.7B 模型进一步展示
  • 整体奖励分布(Overall Reward Distribution) :除了胜率外,论文还比较了 UltraFeedback 数据集测试集上生成响应的奖励分布(图5)和 HH-RLHF 数据集的奖励分布(附录F)
    • 以 SFT 奖励分布为基准,PPO、DPO 和 ORPO 在两个数据集中均对其进行了调整。然而,每种算法的奖励调整幅度不同
  • 在图5 中,RLHF(即 SFT + PPO)的分布具有一些异常特性,预期奖励较低
    • 论文将其归因于 RLHF 的不稳定性和奖励不匹配问题(2023;2022;2023),因为 RLHF 模型使用 RM-350M 训练,而评估使用 RM-1.3B
    • 值得注意的是,ORPO 分布(红色)主要位于每个子图的右侧,表明其预期奖励更高
    • 结合偏好对齐方法的目标,图5 中的分布表明 ORPO 在所有模型规模上均能有效实现偏好对齐的目标

Lexical Diversity

  • 先前的研究(2024)探讨了偏好对齐语言模型的词汇多样性
  • 论文通过使用 Gemini-Pro(Gemini 团队等,2023)作为嵌入模型扩展了 Kirk 等(2024)提出的 单输入多样性(Per Input Diversity,PID) 和 跨输入多样性(Across Input Diversity,AID) 概念
  • 给定一组采样响应,多样性度量定义为公式(13):

$$
\mathcal{O}_{\theta}^{i} := \{y_j \sim \theta(y|x_i) | j = 1, 2, …, K\} \tag{12}
$$

$$
D(\mathcal{O}_{\theta}^{i}) = \frac{1}{2} \cdot \frac{\sum_{i=1}^{N-1} \sum_{j=i+1}^{N} \cos(h_i, h_j)}{N \cdot (N-1)} \tag{13}
$$

  • 其中,\(\cos(h_i, h_j)\) 表示嵌入 \(h_i\) 和 \(h_j\) 之间的余弦相似度
  • 论文在 AlpacaEval 的 160 个查询中采样了 5 个不同的响应(即 \(K=5, N=160\)),使用 ORPO 和 DPO 训练的 Phi-2 和 Llama-2 模型,结果如表4 所示
  • 单输入多样性(Per Input Diversity,PID)
    • 论文通过公式(14)计算输入间生成样本的平均余弦相似度,评估单输入多样性。在表4 中,ORPO 模型在第一列中的平均余弦相似度最高,表明其单输入多样性最低。这说明 ORPO 通常为期望的 token 分配高概率,而 DPO 的 logit 分布相对平滑
      $$
      \text{PID}_{D}(\theta) = \frac{1}{N} \sum_{i=1}^{N} D(\mathcal{O}_{\theta}^{i}) \tag{14}
      $$
  • 跨输入多样性(Across Input Diversity,AID)
    • 论文为每个输入采样第一个响应,并通过公式(15)计算其间的余弦相似度,评估跨输入多样性
    • 与单输入多样性不同,值得注意的是,Phi-2(ORPO)在表4 的第二行中平均余弦相似度较低
    • 我们可以推断,ORPO 促使模型生成更多与指令相关的响应,而 DPO 则相对泛化
      $$
      \text{AID}_{D}(\theta) = D\left( \bigcup_{i=1}^{N} \mathcal{O}_{\theta,j=1}^{i} \right) \tag{15}
      $$

Discussion

  • 在本节中,论文详细阐述了 ORPO 的理论和计算细节
  • ORPO 的理论分析将在第 7.1 节中讨论,并通过第 7.2 节的实证分析加以支持
  • 论文在第 7.3 节中比较了 DPO 和 ORPO 的计算负载

Comparison to Probability Ratio

  • 选择几率比(odds ratio)而非概率比(probability ratio)的原因在于其稳定性。给定输入序列 \( x \),生成偏好响应 \( y_w \) 相对于非偏好响应 \( y_l \) 的概率比可以定义为:
    $$
    \textbf{PR}_{\theta}(y_w, y_l) = \frac{P_{\theta}(y_w|x)}{P_{\theta}(y_l|x)} \tag{16}
    $$
  • 虽然这一公式在先前需要 SFT 前置的偏好对齐方法中已被使用 (2023; 2023),但在将偏好对齐融入 SFT 的场景中,几率比是更优的选择,因为它对模型偏好理解的敏感性更高
    • 换句话说,概率比会导致对非偏好响应的极端区分,而几率比则更为温和
  • 论文通过采样分布可视化这一点
    • 从均匀分布 \( X_1, X_2 \sim \text{Unif}(0,1) \) 中采样 50,000 个样本,并绘制对数概率比 \( \log \textbf{PR}(X_2|X_1) \) 和对数几率比 \( \log \textbf{OR}(X_2|X_1) \) 的分布,如图6 所示
    • 概率比乘以系数 \( \beta \)(如概率比方法中的常见做法),并报告 \( \beta = 0.2 \) 和 \( \beta = 1.0 \) 的情况
  • 回想一下,对数 sigmoid 函数被应用于对数概率比和对数几率比,每种比例的尺度决定了在损失最小化时偏好与非偏好风格之间的预期边际
    • 从这个意义上说,当输入 \( \textbf{PR}(X_2|X_1) \) 而非 \( \textbf{OR}(X_2|X_1) \) 到对数 sigmoid 函数时,为了最小化损失,对比需要相对极端
    • 考虑到 \( \log \textbf{PR}(X_2|X_1) \) 的尖锐分布(如图6 所示),这种过度对比可能导致在融入 SFT 的场景中,对非偏好响应的 token 对数概率的过度抑制,从而引发退化问题

最小化 \( \mathcal{L}_{OR} \)

  • 论文证明了通过 ORPO 训练的模型能够在整个训练过程中反映偏好
  • 论文监测了偏好和非偏好响应的对数概率以及对数几率比(\( \lambda = 1.0 \))
  • 使用与图3 相同的数据集和模型,图7 显示,随着对数几率比的增加,非偏好响应的对数概率逐渐降低,而偏好响应的对数概率与图3 相当
  • 这表明 ORPO 在保留 SFT 领域适应作用的同时,通过惩罚项 \( \mathcal{L}_{OR} \) 诱导模型降低非偏好生成的可能性
  • 论文在附录E 中讨论了 \( \lambda \) 的影响,研究了偏好与非偏好响应之间对数概率边际随 \( \lambda \) 变化的趋势

Computational Efficiency

  • 如图2 所示,ORPO 不需要参考模型(reference model),这与 RLHF 和 DPO 不同。从这个意义上说,ORPO 在两个方面比 RLHF 和 DPO 更具计算效率:
    • 1)内存分配;
    • 2)每批次的 FLOPs 更少
  • 在 RLHF 和 DPO 的上下文中,参考模型 \( \pi_{SFT} \) 表示通过 SFT 训练的模型,它将作为 RLHF 或 DPO 更新参数的基线模型 (2020; 2023)
    • 因此,在训练过程中需要两个 \( \pi_{SFT} \):一个冻结的参考模型和一个正在调优的模型
  • 此外,理论上,每个模型需要两次前向传播来计算偏好和非偏好响应的 logits
    • 换句话说,每个批次总共需要进行四次前向传播
    • 而 ORPO 不需要参考模型,因为 \( \pi_{SFT} \) 是直接更新的
    • 这使得训练期间每个批次所需的前向传播次数减少了一半

Limitations

  • 尽管论文对包括 DPO 和 RLHF 在内的多种偏好对齐方法进行了全面分析,但并未涵盖更广泛的偏好对齐算法
  • 论文将与其他方法的更广泛比较以及将论文的方法扩展到 7B 以上模型作为未来工作
  • 此外,论文计划将微调数据集扩展到更多领域和质量水平,从而验证论文的方法在各种 NLP 下游任务中的通用性
  • 最后,作者希望研究论文的方法对预训练语言模型的内部影响,将偏好对齐过程的理解扩展到不仅包括监督微调阶段,还包括后续的偏好对齐算法

补充:Related Works

Alignment with RL

  • RLHF 通常应用 Bradley-Terry 模型 (1952) 来估计两个独立评估实例之间成对竞争的概率
  • 训练一个额外的奖励模型来评分实例,并使用 近端策略优化(Proximal Policy Optimization, PPO)(2017) 等强化学习算法训练模型以最大化所选响应的奖励模型分数,从而得到基于人类偏好训练的语言模型 (2020; 2022)
  • 值得注意的是,(2022) 证明了 RLHF 对指令遵循语言模型的可扩展性和多功能性
  • 扩展方法如 基于语言模型反馈的强化学习(RLAIF)可能是人类反馈的可行替代方案 (2022; 2023)
  • 但由于 PPO 的不稳定性 (2023) 和奖励模型的敏感性 (2022; 2024),RLHF 面临广泛的超参数搜索挑战。因此,开发稳定的偏好对齐算法至关重要

Alignment without Reward Model

  • 一些偏好对齐技术避免了强化学习的需要 (2023; 2023; 2023; 2024)
  • (2023) 提出了 直接策略优化(DPO),将奖励建模阶段合并到偏好学习阶段
  • (2023) 通过 恒等偏好优化(Identity Preference Optimization, IPO)防止了 DPO 中潜在的过拟合问题
  • (2024) 和 (2023) 分别提出了 卡尼曼-特沃斯基优化(KTO)和 统一语言模型对齐(ULMA),这些方法不需要成对偏好数据集,与 RLHF 和 DPO 不同
  • (2023) 进一步建议将参考响应集的 softmax 值合并到负对数似然损失中,以融合监督微调和偏好对齐

Alignment with Supervised Fine-tuning

  • RL 中的偏好对齐方法通常利用 SFT 来确保活动策略相对于旧策略的稳定更新 (2017)
  • 这是因为在 RLHF 的上下文中,SFT 模型是旧策略 (2020)
  • 此外,实证结果表明,即使在非 RL 对齐方法中,SFT 模型对于实现期望结果的收敛也至关重要 (2023; 2023)
  • 相比之下,也有通过仅使用过滤数据集进行 SFT 来构建人类对齐语言模型的方法 (2023; 2023; 2024; 2023)
  • (2023) 表明,通过细粒度过滤和精心策划的小规模数据进行的 SFT 足以构建有用的语言模型助手
  • 此外,(2023) 和 (2024) 提出了一种迭代过程,通过细粒度选择对齐生成后,用其自身生成进一步微调监督微调的语言模型,(2023) 提出偏好数据集的策划子集足以实现对齐
  • 尽管这些工作强调了 SFT 在对齐中的影响和重要性,但 SFT 的实际作用以及将偏好对齐纳入 SFT 的理论背景仍未得到充分研究

附录A 基于比值比(Odds Ratio)的 \(\nabla_\theta \mathcal{L}_{OR}\) 推导

  • 假设 \(g(x, y_l, y_w) = \frac{\text{odds}_\theta P(y_w|x)}{\text{odds}_\theta P(y_l|x)}\),则:
    $$
    \begin{align}
    \nabla_\theta \mathcal{L}_{OR} &= \nabla_\theta \log \sigma \left( \log \frac{\text{odds}_\theta P(y_w|x)}{\text{odds}_\theta P(y_l|x)} \right)
    \tag{20} \\
    &= \frac{\sigma’ (\log g(x, y_l, y_w))}{\sigma (\log g(x, y_l, y_w))}
    \tag{21} \\
    &= \sigma (-\log g(x, y_l, y_w)) \cdot \nabla_\theta \log g(x, y_l, y_w)
    \tag{22} \\
    &= \frac{\sigma (-\log g(x, y_l, y_w))}{g(x, y_l, y_w)} \cdot \nabla_\theta g(x, y_l, y_w)
    \tag{23} \\
    &= \sigma (-\log g(x, y_l, y_w)) \cdot \nabla_\theta \log g(x, y_l, y_w)
    \tag{24} \\
    &= \left( 1 + \frac{\text{odds}_\theta P(y_w|x)}{\text{odds}_\theta P(y_l|x)} \right)^{-1} \cdot \nabla_\theta \log \frac{\text{odds}_\theta P(y_w|x)}{\text{odds}_\theta P(y_l|x)}
    \tag{25}
    \end{align}
    $$
  • 在公式 (25) 中,剩余的导数可通过替换 \(\text{odds}_\theta(y|x)\) 中的 \(1 - P_\theta(y|x)\) 项进一步简化(其中 \(P(y|x) = \prod_{t=1}^N P_\theta(y_t|x, y_{ < t})\)):
    $$
    \begin{align}
    \nabla_\theta \log (1 - P_\theta(y|x)) &= \frac{\nabla_\theta (1 - P_\theta(y|x))}{1 - P_\theta(y|x)}
    \tag{26}\\
    &= -\frac{\nabla_\theta P_\theta(y|x)}{1 - P_\theta(y|x)}
    \tag{27}\\
    &= -\frac{P_\theta(y|x)}{1 - P_\theta(y|x)} \cdot \nabla_\theta \log P_\theta(y|x)
    \tag{28}\\
    &= \text{odds}_\theta(y|x) \cdot \nabla_\theta \log P_\theta(y|x)
    \tag{29}\\
    \nabla_\theta \log \frac{\text{odds}_\theta P(y_w|x)}{\text{odds}_\theta P(y_l|x)} &= \nabla_\theta \log \frac{P_\theta(y_w|x)}{P_\theta(y_l|x)} - \left( \nabla_\theta \log(1 - P_\theta(y_w|x)) - \nabla_\theta \log(1 - P_\theta(y_l|x)) \right)
    \tag{30}\\
    &= (1 + \text{odds}_\theta P(y_w|x)) \nabla_\theta \log P_\theta(y_w|x) - (1 + \text{odds}_\theta P(y_l|x)) \nabla_\theta \log P_\theta(y_l|x)
    \tag{31}
    \end{align}
    $$
  • 因此,\(\nabla_\theta \mathcal{L}_{OR}\) 的最终形式为:
    $$
    \begin{align}
    \nabla_\theta \mathcal{L}_{OR} &= \frac{1 + \text{odds}_\theta P(y_w|x)}{1 + \frac{\text{odds}_\theta P(y_w|x)}{\text{odds}_\theta P(y_l|x)} } \cdot \nabla_\theta \log P_\theta(y_w|x) - \frac{1 + \text{odds}_\theta P(y_l|x)}{1 + \frac{\text{odds}_\theta P(y_w|x)}{\text{odds}_\theta P(y_l|x)} } \cdot \nabla_\theta \log P_\theta(y_l|x)
    \tag{32}\\
    &= \left( 1 + \frac{\text{odds}_\theta P(y_w|x)}{\text{odds}_\theta P(y_l|x)} \right)^{-1} \cdot \left( \frac{\nabla_\theta \log P_\theta(y_w|x)}{1 - P(y_w|x)} - \frac{\nabla_\theta \log P_\theta(y_l|x)}{1 - P(y_l|x)} \right)
    \tag{33}
    \end{align}
    $$

附录B 概率比(Probability Ratio)与比值比(Odds Ratio)的消融实验

  • 本部分延续第7.1节的讨论,通过实验比较在 UltraFeedback 数据集上使用概率比和比值比训练时,模型对优选和非优选响应对数概率的影响
  • 如第7.1节所述,概率比预计会以更大的幅度降低非优选响应的对数概率
  • 图8展示了这一现象:使用概率比训练时(左图),非优选响应的对数概率迅速降至-4以下(问题:没看出来);而使用比值比时(右图),过拟合后才会出现类似现象

附录C 实验细节

  • 所有预训练模型均采用 Flash-Attention 2(2023)以提升计算效率。具体配置如下:
  • 硬件 :
    • OPT系列和 Phi-2(2.7B)使用 DeepSpeed ZeRO 2(2020);
    • Llama-2(7B)和 Mistral(7B)使用 Fully Sharded Data Parallel(FSDP)(2023)
    • 7B 和 2.7B 模型分别在 4块 和 2块 NVIDIA A100 上训练
    • 其余模型使用 4块 NVIDIA A6000
  • 优化器 :采用 AdamW(2019)或分页AdamW(2023),学习率使用线性预热与余弦衰减策略
  • 输入长度 :HH-RLHF 和 UltraFeedback 数据集分别截断或填充至 1024 和 2048 个 Token
    • 为确保模型充分学习生成合理响应,过滤了提示超过 1024 Token 的样本

SFT

  • 最大学习率设为 1e-5,训练 epoch 为 1(遵循2023年的研究)

RLHF

  • UltraFeedback 的超参数见表5。HH-RLHF 数据集的输出最小和最大长度分别设为64和256

DPO

  • \(\beta\) 设为0.1,学习率5e-6,训练 3个 epoch ,根据验证损失选择最佳模型(通常前两个 epoch 表现最佳)

ORPO

  • 最大学习率设为 8e-6,训练 10个 epoch ,基于验证损失选择最佳模型(适用于 OPT 系列、Phi-2 和 Llama-2)

附录D Mistral-ORPO-\(\alpha\) 和 Mistral-ORPO-\(\beta\) 的 IFEval 结果

  • 除第6.1节的 AlpacaEval 结果外,表6展示了 Mistral-ORPO-\(\alpha\) 和 Mistral-ORPO-\(\beta\) 在 IFEval(2023)上的表现(使用2023年的代码计算)

附录E 权重值 \(\lambda\) 的消融实验

  • 针对公式6中的权重值 \(\lambda\),论文以 Mistral(7B)和 UltraFeedback 为基础,对 \(\lambda \in \{0.1, 0.5, 1.0\}\) 进行消融研究

E.1 对数概率趋势

  • 图9显示,较大的 \(\lambda\)(如1.0)会增强 \(\mathcal{L}_{OR}\) 在微调中的影响力。具体表现为:
    • \(\lambda = 0.1\):优选和非优选响应的对数概率保持接近
    • \(\lambda = 0.5\):优选响应的对数概率上升,非优选响应下降
    • \(\lambda = 1.0\):两者对数概率均下降,但差距扩大

E.2 MT-Bench 表现

  • 图10显示,\(\lambda = 1.0\) 在需要确定性答案的类别(如数学、推理)上表现较差,但在开放性任务(如STEM、人文学科)上更优。这表明高 \(\lambda\) 可能导致模型过度适应训练数据中的优选响应集

附录F HH-RLHF 测试集的奖励分布

  • 图11展示了 OPT2-125M、OPT2-350M 和 OPT2-1.3B 在 HH-RLHF 数据集上的奖励分布。如第6.3节所述,ORPO 始终将 SFT 的奖励分布向右推移

附录G Mistral-ORPO-\(\alpha\) 和 Mistral-ORPO-\(\beta\) 的 MT-Bench 结果

  • 图12显示,Mistral-ORPO-\(\beta\)(7B)在多数类别上超越 Llama-2 Chat(13B/70B),并与 GPT-3.5-turbo 在描述性任务上表现相当。但在编码和数学类任务上较弱,推测是由于训练数据不足(仅使用61k UltraFeedback 样本)

附录H 用于冗余性评估的特殊指令

  • 表7列出了为简洁性和冗余性评估生成的5组指令(通过 ChatGPT 生成),每批次随机选择一条以避免词汇偏差

附录I Mistral-ORPO-\(\alpha\)(7B)的生成样本

  • 本节展示 Mistral-ORPO-\(\alpha\)(7B)在 AlpacaEval 上的两个生成样本(温度=0.7),包括一个优于 GPT-4 的案例和一个 GPT-4 更优的案例

Query 1(GPT-4 胜出)

  • 书籍简述 :Matilda
  • GPT-4 :详细介绍了《Matilda》的情节、主题及影响
  • Mistral-ORPO-\(\beta\) :简要概括了书籍的核心内容和主题

Query 2(Mistral-ORPO-\(\beta\) 胜出)

  • 对 ChatGPT 的看法
  • GPT-4 :中立描述 ChatGPT 的功能与局限性
  • Mistral-ORPO-\(\beta\) :在肯定技术价值的同时,更强调批判性使用的重要性
1…121314…66
Joe Zhou

Joe Zhou

Stay Hungry. Stay Foolish.

652 posts
53 tags
GitHub E-Mail
© 2026 Joe Zhou
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4