找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3181

积分

0

好友

451

主题
发表于 2025-12-10 06:37:17 | 查看: 65| 回复: 0

TL;DR

PPO和GRPO使用token级重要性采样,但追溯其公式推导,发现隐含了“当前token的优势与轨迹未来状态无关”的假设。这在PPO中是合理的,但GRPO的序列级reward破坏了这个条件。因此在GRPO中使用token级重要性采样是错误的,而应该用(推导上)更原始的序列级重要性采样。

0. 理想化的例子

先构造一个理想的例子来获得一些直觉。

假设我们对一个prompt采样出两个回答:ab,它们共享长度为 L 个token的相同前缀 p

a: p, t1, t2, ..., tn
b: p, t‘1, t’2, ..., t‘m

进一步的,假设回答 a 正确而回答 b 错误;假设 π_old(a) = π_old(b)π_new(a) > π_new(b),即旧策略(采样策略)下二者概率相等而新策略下 a 出现的概率更大。

在这样的假设下,给定前缀 p 后,新策略下回答正确的概率比回答错误的概率更高,因此直接强化前缀 p 出现的概率是我们期望的目标。

如果使用token级别的重要性采样,则无法做到这一点。因为对于共享的前缀 p,每一个token的重要性采样系数都是相等的,在优势互为相反的情况下权重就抵消了。而使用序列级重要性采样可以做到“放大前缀概率”,因为 r(a) > r(b),加权后这些前缀token的概率会被提升。

1. 理论基础与重要性采样推导

这一部分参考经典强化学习论文TRPO以及Berkeley CS285 Lecture 9。

我们知道强化学习的目标是提升期望收益 J(θ) = E_{τ∼π_θ}[r(τ)]

我们希望优化 θ,使目标在策略参数更新后的提升 J(θ‘) - J(θ) 最大化。相关研究证明了如下关系:

J(θ‘) - J(θ) ≥ E_{s∼π_θ‘}[A^{π_θ}(s)]

其中优势 A^{π_θ}(s)。上述公式即新策略分布上旧优势的期望。我们希望通过旧策略采样来近似:

E_{s∼π_θ‘}[A^{π_θ}(s)] ≈ E_{s∼π_θ}[ (π_θ‘(a|s) / π_θ(a|s)) * A^{π_θ}(s) ]

这里并未对状态分布进行重要性采样校正,而是直接沿用旧策略的状态分布,这是TRPO和PPO中的常见做法。

2. GRPO在上述推导中的错误

我们知道GRPO与PPO的区别在于优势的计算:PPO使用value model估计并用GAE方法估计per-token的优势,而GRPO的优势由序列级别的reward经过组内标准化得到,并在同一个序列里的每个token之间共享:

A^{GRPO}(s_t) ≈ normalize(r(τ) for τ in batch) for all t in τ

矛盾出现在式(1)的推导中。对每个 A(s_t) 提出 π_θ‘(a_t|s_t) / π_θ(a_t|s_t) 并整理得到:

E_{τ∼π_θ}[ Σ_t (π_θ‘(a_t|s_t) / π_θ(a_t|s_t)) * A(s_t) ]

上述整理过程中,要求 A(s_t) 是与轨迹未来状态无关的,即对于不同的轨迹 τ 需要满足给定 s_tA(s_t) 相等,才能够将其合并整理;然而GRPO并不满足这一点。对于GRPO而言,即使两个轨迹有相同的某个 s_t,也可能 A(s_t) ≠ A'(s_t)

也就是说,只有当优势确实是 s_t 的函数的时候,才能够使用前述推导并对 A(s_t) 应用到token级重要性采样系数,而GRPO则不行,应改为对轨迹直接计算重要性采样:

E_{τ∼π_θ}[ (π_θ‘(τ) / π_θ(τ)) * r(τ) ]

3. 如何实现序列级重要性采样

对整个轨迹进行重要性采样 (π_θ‘(τ) / π_θ(τ)) 会导致高方差。GSPO使用的n-normalization(对重要性采样系数的对数除以token数)来控制方差,但这样做带来两个直观的问题:

  • 直接改变了重要性采样系数,理论上失去了无偏性;
  • 直接除以token数 n 导致方差除以 n^2,反而让长句子的方差更小。

我们提出了FSPO(Fair Sequence Policy Optimization),正确地实现了序列级重要性采样,并建议使用clip机制或winsorization来控制方差,从而更稳健地进行大语言模型的强化学习训练。

参考文献

  1. Zheng, C., Liu, S., Li, M., et al. (2025). Group Sequence Policy Optimization (GSPO). arXiv:2507.18071
  2. Hugging Face TRI Team. (2024-2025). RLOOTrainer — TRI documentation.
  3. Mao, H., Xiao, Q., Pang, L., & Liu, H. (2025). Clip Your Sequences Fairly: Enforcing Length Fairness for Sequence-Level RL. arXiv:2508.09177
  4. Schulman, J., Levine, S., Moritz, P., & Jordan, M. (2015). Trust Region Policy Optimization (TRPO). arXiv:1502.05477
  5. Kakade, S., & Langford, J. (2002). Approximately Optimal Approximate Reinforcement Learning. ICML.
  6. Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. arXiv:2203.02155
  7. Su, Z., Pan, L., Uy, M., et al. (2025). CE-GPPO: Controlling Entropy via Gradient-Preserving Clipping Policy Optimization in Reinforcement Learning. arXiv:2509.20712



上一篇:网络布线核心要点:跳线与交叉线区别、场景判断与使用指南
下一篇:Nginx统一Minio文件访问实践:隐藏后端地址与统一路径管理
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-1 23:21 , Processed in 0.277894 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表