论文精读

精读:把中间状态的价值估计整体消掉

BPO 用 Bellman 方程把逐 token 优势望远镜求和成轨迹级残差,证明它与 PMD 同解从而无需 critic;可它一阶线性化丢掉的那一项在理论最优点上恰好等于保留的那一项,落到实现里只剩 GRPO 的组内优势乘一个互补概率比权重。

论文: Bellman Policy Optimization
作者: Zhuoqing Song, Haotian Xu, 等
arXiv: 2609.15987
RLVR 信用分配 Policy Mirror Descent Bellman 方程 GRPO 重要性采样 后训练 数学推理

1 论文概览

一句话总结:BPO 从 Policy Mirror Descent 出发,用 Bellman 方程把逐 token 优势写成相邻状态价值之差,沿轨迹望远镜求和后只剩「终端奖励 − 初始价值」,据此把 PMD 改写成只含轨迹级残差 δ(x,y;π,μ)=η(R−Vμ(x))−∑t(log⁡πμ+DKL(μ∥π))\delta(x,y;\pi,\mu)=\eta\big(R-V^{\mu}(x)\big)-\sum_t\big(\log\frac{\pi}{\mu}+D_{\mathrm{KL}}(\mu\|\pi)\big) 的平方损失,并证明它与原 PMD 在 rollout 支持集上有同一唯一最优解;落到实现上,这个残差被一阶线性化加二元 KL 近似,最终退化成「GRPO 的组内归一化优势 × 一个互补概率比权重 ωt=1+ϵ−μ1+ϵ−π\omega_t=\frac{1+\epsilon-\mu}{1+\epsilon-\pi}」。

核心问题:PMD 的更新需要每个中间状态的动作价值,而语言生成的状态空间是「prompt + 已生成前缀」,规模等于前缀的组合数。要拿到这些值,得训一个 value model——显存与算力都要付,且在推理任务上估不准。

“However, directly applying this update to language generation requires value estimates at intermediate states. A common approach is to train a separate value model, which increases memory and computational costs.” —— §1

主要贡献:

  1. 无 critic 的轨迹级重构(式 18):利用终端奖励下 Aμ(st,yt)=Vμ(st+1)−Vμ(st)A^{\mu}(s_t,y_t)=V^{\mu}(s_{t+1})-V^{\mu}(s_t) 与 ∑tAμ=R(x,y)−Vμ(x)\sum_t A^{\mu}=R(x,y)-V^{\mu}(x),把逐状态的价值全部消掉,只剩一个可由 rollout 均值估计的初始价值 Vμ(x)V^{\mu}(x)。
  2. Theorem 1:对任意正的 prompt 权重 ϕ\phi,重构目标 (18) 与 advantage-based PMD (16) 有同一唯一最优解,唯一性在「诱导的完成分布相同」这一意义下成立。
  3. 实用损失 (14) 的四步推导:残差线性化 → 组内估计 VμV^{\mu} 与 ϕ=1/std\phi=1/\mathrm{std} → 二元 KL 替换 → 加性平滑、掩码、截断。
  4. 权重替换:把 GRPO 的重要性比 rt=π/μr_t=\pi/\mu 换成互补概率比 ωt\omega_t,并给出二元 KL 的梯度恒等式 ∇(log⁡π+DKLbin(μ∥π;y))=1−μ1−π∇log⁡π\nabla\big(\log\pi+D^{\mathrm{bin}}_{\mathrm{KL}}(\mu\|\pi;y)\big)=\frac{1-\mu}{1-\pi}\nabla\log\pi(附录 A.2)。
  5. 实验:Qwen3-30B-A3B-Base 在 DAPO-Math-17k 英文子集上训 400 步,AIME24–26 的 Avg@32 峰值均值 50.5,对 GRPO-ClipHigher / GSPO / CISPO / DPPO 分别 +11.0+11.0 / +7.0+7.0 / +3.1+3.1 / +4.1+4.1 个百分点。

著者栏四人是 Zhuoqing Song(Apodex US; Princeton University)、Haotian Xu、Xikun Zhang、Lidong Bing(均 Apodex US, Inc.),cs.LG,2026-09-14 提交,无 comments 字段、无期刊信息,全文含附录 A–C(证明、实验细节、消融)。

2 方法详解

2.1 三步消掉中间价值

第一步把 PMD 的更新写成最优性条件。取 f(s,y)=Aμ(s,y)f(s,y)=A^{\mu}(s,y),PMD 的解是 π+(yt∣st)∝μ(yt∣st)exp⁡(ηAμ(st,yt))\pi^{+}(y_t|s_t)\propto\mu(y_t|s_t)\exp\big(\eta A^{\mu}(s_t,y_t)\big)。对它取对数、再对 yt∼μ(⋅∣st)y_t\sim\mu(\cdot|s_t) 取期望,配分函数那一项被 ∑ytμAμ=0\sum_{y_t}\mu A^{\mu}=0 吃掉,得到逐状态恒等式

log⁡π+−log⁡μ−ηAμ+DKL(μ∥π+)=0.\log\pi^{+}-\log\mu-\eta A^{\mu}+D_{\mathrm{KL}}(\mu\|\pi^{+})=0 .

第二步用 Bellman 方程做望远镜求和:∑t=1∣y∣Aμ(st,yt)=Vμ(s∣y∣+1)−Vμ(s1)=R(x,y)−Vμ(x)\sum_{t=1}^{|y|}A^{\mu}(s_t,y_t)=V^{\mu}(s_{|y|+1})-V^{\mu}(s_1)=R(x,y)-V^{\mu}(x)。

第三步把两条合起来,定义轨迹级残差 δ=η(R−Vμ)−∑t(log⁡πμ+DKL(μ∥π))\delta=\eta(R-V^{\mu})-\sum_t\big(\log\frac{\pi}{\mu}+D_{\mathrm{KL}}(\mu\|\pi)\big),最小化 Ex,y∼Pμ[ϕ(x)δ2/2η]\mathbb{E}_{x,y\sim\mathbb{P}_\mu}\big[\phi(x)\delta^2/2\eta\big]。π+\pi^{+} 让每一项 dπ+(s,a)d_{\pi^{+}}(s,a) 都为零,残差恒为零,目标取到最小值 0。

整套推导的实质是:把「估 Vμ(st)V^{\mu}(s_t)」换成「估 Vμ(x)V^{\mu}(x)」,前者要对每个前缀问一次价值,后者只是这道题在 rollout 下的平均得分——用组均值就能估。

2.2 Theorem 1 保证到哪一层

定理的措辞有两处限定,读的时候得留着:一是最优解只在 Πμ\Pi_{\mu} 里找(与 rollout 绝对连续),二是等价性说的是完成分布 Pπ^+(⋅∣x)=Pπ+(⋅∣x)\mathbb{P}_{\hat\pi^{+}}(\cdot|x)=\mathbb{P}_{\pi^{+}}(\cdot|x),不是逐状态的 π^+(⋅∣s)=π+(⋅∣s)\hat\pi^{+}(\cdot|s)=\pi^{+}(\cdot|s)。rollout 到不了的状态,目标函数不给任何约束——对自回归生成来说,这意味着凡是 μ(yt∣st)=0\mu(y_t|s_t)=0 的 token 完全自由。

“uniqueness and equivalence are in the sense that any policy π^+∈Πμ\hat{\pi}^{+}\in\Pi_{\mu} that solves (18) induces the same completion distribution as π+\pi^{+} for every prompt x∈Dx\in D” —— Theorem 1

2.3 四步近似之后剩下什么

真正跑在 GPU 上的损失是 −A^iMtimin⁡{sg(ωti),C}log⁡π(yti∣⋅)-\hat A^i M_t^i\min\{\mathrm{sg}(\omega_t^i),C\}\log\pi(y_t^i|\cdot),推导过程走了四步:

  • 线性化:把梯度里的 δ/η\delta/\eta 换成它在 π=μ\pi=\mu 处的值,即 R−VμR-V^{\mu}。
  • 组内估计:Vμ(x)V^{\mu}(x) 用组均值代,ϕ(x)\phi(x) 取奖励标准差的倒数。这两条合起来正好生产出 GRPO 的 A^i=Ri−meanstd\hat A^i=\frac{R_i-\mathrm{mean}}{\mathrm{std}}。
  • 二元 KL:把 DKL(μ∥π)D_{\mathrm{KL}}(\mu\|\pi) 换成把动作空间切成 {y}\{y\} 与其余的伯努利 KL,梯度恒等式给出系数 1−μ1−π\frac{1-\mu}{1-\pi}。
  • 平滑与截断:加 ϵ=0.1\epsilon=0.1 防分母趋零,用 C=3.0C=3.0 封顶,再套 GRPO 的裁剪掩码(把 rr 换成 ω\omega)。

第一步的措辞值得原样留着,后面所有的批判都挂在它身上:

“We linearize the squared-residual loss with respect to the residual δ\delta, around its value at π=μ\pi=\mu.” —— §3.2 Step 1

第三步也有一句自陈,说明 ω\omega 为什么需要被封顶:

“The multiplier 1−μ(yti∣sti)1−π(yti∣sti)\frac{1-\mu(y_{t}^{i}|s_{t}^{i})}{1-\pi(y_{t}^{i}|s_{t}^{i})} in (28) can become large when π(yti∣sti)\pi(y_{t}^{i}|s_{t}^{i}) approaches one.” —— §3.2 Step 3

四步走完,BPO 与 GRPO 的差别只剩一个逐 token 标量:GRPO 用 r=π/μr=\pi/\mu,BPO 用 ω=1+ϵ−μ1+ϵ−π\omega=\frac{1+\epsilon-\mu}{1+\epsilon-\pi}。

2.4 两个权重的代数对偶

把两者都写成「1 + 修正项」:

r=πμ=1+π−μμ,ω=1−μ1−π=1+π−μ1−π.r=\frac{\pi}{\mu}=1+\frac{\pi-\mu}{\mu},\qquad \omega=\frac{1-\mu}{1-\pi}=1+\frac{\pi-\mu}{1-\pi}.

分母一个用行为概率 μ\mu,一个用当前概率的补 1−π1-\pi。这个差别决定了两种方法的爆炸方向:GRPO 的分母 μ\mu 小则权重炸,BPO 的分母 1−π1-\pi 小则权重炸。取 ϵ=0.1\epsilon=0.1、μ=0.5\mu=0.5,两者在各档 π\pi 上的取值如下(GRPO 列按 DAPO 的 [0.8,1.28][0.8,1.28] 非对称裁剪后的实际值):

μ\muπ\pir=π/μr=\pi/\muGRPO 裁剪后ω\omegamin⁡(ω,3)\min(\omega,3)
0.50.10.2000.8000.6000.600
0.50.51.0001.0001.0001.000
0.50.71.4001.2801.5001.500
0.50.91.8001.2803.0003.000
0.10.55.0001.2801.6671.667
0.10.99.0001.2805.0003.000

读这张表能看出三件事(GRPO 那一列取的是 min-clip 形式下的值;按论文式 (5)–(6) 的等价写法,越界 token 是被掩码直接丢弃而不是被压到边界)。ω\omega 在低 π\pi 一端不趋零:rollout 给 0.5、当前策略掉到 0.1 的 token,GRPO 的权重被裁到 0.8,BPO 给 0.6,量级相当;而 rollout 只给 0.1 的稀有 token,GRPO 的重要性比能冲到 5–9(被裁到 1.28),BPO 的 ω\omega 最多 1.67。ω\omega 在高 π\pi 一端放大得更狠:π=0.9\pi=0.9 时它到 3.0,是 GRPO 裁剪上限 1.28 的 2.3 倍。C=3 的封顶只在 π>1+ϵ−1+ϵ−μ3\pi>1+\epsilon-\frac{1+\epsilon-\mu}{3} 时才咬住,μ=0.5\mu=0.5 时阈值是 π>0.9\pi>0.9,μ≥0.9\mu\ge0.9 时永不触发。

3 实验结果

3.1 主表与口径

Table 1(Qwen3-30B-A3B-Base,AIME Avg@32,取三个基准均值最高的检查点):

方法AIME24AIME25AIME26均值
GRPO-ClipHigher45.634.838.039.5
GSPO50.335.544.643.5
CISPO52.739.050.447.4
DPPO55.839.244.246.4
BPO57.441.053.050.5

配置是 256 prompt × 16 响应、切成 8 个 minibatch、400 步(合 3200 次优化器更新)、最长 16384 token、全部方法启用 R3 路由重放、AdamW 常学习率 10−610^{-6}、无 KL 惩罚、无熵奖励、seq-mean-token-mean 聚合。评估每 10 步一次,每题 32 次采样。

口径上有三点要自己补算。其一,报的是峰值检查点,400 步里每 10 步评一次,等于在 40 个高度相关的噪声取值里取最大;BPO 自己的峰值 50.5 与 400 步终值 49.4 差 1.1 个百分点,说明它也不是单调爬到顶。其二,对比对象在不同列里换人:正文写「400 步后 BPO 49.4,DPPO 45.5」,把终值对比的对手换成了 DPPO,而峰值对比的对手是 CISPO。其三,AIME24/25/26 各 30 题(HuggingFace math-ai/aime* 三个数据集各 30 行),三个基准合起来 90 题。按配对差分的口径,逐题差的标准差取 0.15–0.35,+3.1+3.1 个百分点对应 z≈0.8z\approx0.8–2.02.0,逐列看更小(对每列最强基线的余量只有 +1.6+1.6 / +1.8+1.8 / +2.6+2.6,zz 落在 0.3–1.0)。+11.0+11.0 个百分点对 GRPO-ClipHigher 那一档,zz 约 2.4–7.0,能站得住。全文检索不到 seed,也没有第二条运行曲线,所有 1–4 分的差距都只能标未定。

3.2 消融

两个超参扫描都在 Qwen3-4B-Base 上做,1000 步、128 prompt × 16、最长 8192:

  • ϵ∈{0.05,0.1,0.2,0.3}\epsilon\in\{0.05,0.1,0.2,0.3\}(C=3C=3):25.8 / 25.4 / 25.5 / 24.1,基线 GRPO-ClipHigher 20.5。
  • C∈{2,3,4}C\in\{2,3,4\}(ϵ=0.1\epsilon=0.1):25.3 / 25.4 / 25.8,同一基线 20.5。

两句话值得抠。第一,主实验用的 ϵ=0.1\epsilon=0.1(25.4)不是扫描里的最大值,最好的一格是 ϵ=0.05\epsilon=0.05(25.8),差 0.4 分;扫描内部 0.05–0.2 三格的极差是 0.4 分,比它们相对基线的 +4.9 小一个量级——这组消融真正证明的是「四个设置都赢基线」,不是「ϵ\epsilon 不敏感」。第二,CC 的下限只到 2.0,而 GRPO-ClipHigher 的正向裁剪阈值是 1.28,正落在未扫区间;CC 的默认值 3.0 又恰好等于附录给 CISPO 配的重要性比封顶值 3.0。主实验规模(30B-A3B、400 步)上没有跑任何一档超参扫描。

缺的对照臂还有两条更关键的:一是「线性化后的损失 vs 完整残差平方损失」,二是「ω≡1\omega\equiv1」——即纯 REINFORCE 加组内基线。第二条尤其要紧,因为 ω\omega 与 rr 在 π=μ\pi=\mu 处都等于 1,BPO 相对 GRPO 的全部差异都来自这个标量偏离 1 的方式,没有 ω=1\omega=1 这一臂,就无法判断收益来自权重还是来自「丢掉重要性采样」本身。

4 个人分析

4.1 亮点

最漂亮的一处是把 GRPO 的两个启发式从理论里推了出来。组均值减去、组标准差除——这两步在 DeepSeekMath 以来一直是用得好但说不清的配方。BPO 给出它们各自的身份:Vμ(x)V^{\mu}(x) 的无偏估计就是组均值,ϕ(x)\phi(x) 取奖励标准差的倒数就得到除以 std。换句话说,GRPO 的组内归一化是「线性化的轨迹级 Bellman 残差」这一件事的两个侧面。

第二处是它与本专栏上一期 PACT 的对照。PACT 走的是把 token 级信用唯一钉成鞅差再求和的路;BPO 走的是另一条:既然终端奖励下优势天然是相邻价值的差,那就让它们全部对消,连「信用」这个概念都不必出现。这是一条更彻底的路线——它不回答「哪个 token 有功」,它把问题换成了「这条轨迹的残差有多大」。

第三处是 ω\omega 的形态。分母 1+ϵ−π≥ϵ1+\epsilon-\pi\ge\epsilon 天生有下界,ω\omega 的最大值被 ϵ\epsilon 直接控制为 1+ϵ−μϵ\frac{1+\epsilon-\mu}{\epsilon}(ϵ=0.1\epsilon=0.1、μ→0\mu\to0 时约 11),不像 r=π/μr=\pi/\mu 在 μ→0\mu\to0 时无界。加性平滑在这里不是补丁,而是把权重的值域直接钉死的设计。

第四处是成本。ω\omega 只消费 μ(yt∣st)\mu(y_t|s_t) 与 π(yt∣st)\pi(y_t|s_t) 两个标量,rollout 阶段的对数概率本来就存着,不增算力、不增显存、不需要 critic。

4.2 局限性

线性化丢掉的那一项,在理论最优点上恰好等于留下来的那一项。 这是全文最要紧的一处。定理说的是最小化 E[δ2]\mathbb{E}[\delta^2],而 π+\pi^{+} 让 δ≡0\delta\equiv0;实现的梯度 (25) 把因子 δ/η\delta/\eta 换成它在 π=μ\pi=\mu 处的值 R−VμR-V^{\mu}。可在 π=π+\pi=\pi^{+} 处,残差恒等式给出 ∑t(log⁡π+μ+DKL(μ∥π+))=η(R−Vμ)\sum_t\big(\log\frac{\pi^{+}}{\mu}+D_{\mathrm{KL}}(\mu\|\pi^{+})\big)=\eta\big(R-V^{\mu}\big)——被丢掉的那一堆,量上正好等于被保留的那一项。真梯度在 π+\pi^{+} 处是零,线性化后的梯度是 −A^∇(⋯ )≠0-\hat A\nabla(\cdots)\neq0。定理保证的是目标 (18),跑的是损失 (14),两者之间隔着一个在目标最优点上相对误差为 100% 的一阶近似。

PMD 的步长 η\eta 在实现里彻底消失。 从 (25) 到 (26),δ/η\delta/\eta 被整体替换,ϕ\phi 又被取成 1/std1/\mathrm{std},η\eta 在最终损失里一个影子都不留。控制更新幅度的旋钮换成了 ϵ\epsilon、CC 与裁剪掩码——这三个量在理论部分从未出现,定理对 ϕ\phi 只要求「任意正函数」,对 ϵ\epsilon、CC 没有任何约束。理论的核心超参不在代码路径上,代码路径上的核心超参不在理论里。

BPO 与最强基线 CISPO 只差一个标量,且截断常数同值。 CISPO 的损失是 −A^⋅sg(min⁡{r,3.0})log⁡π-\hat A\cdot\mathrm{sg}(\min\{r,3.0\})\log\pi,BPO 是 −A^⋅min⁡{ω,3.0}log⁡π-\hat A\cdot\min\{\omega,3.0\}\log\pi。两者的封顶常数都是 3.0,权重一个是 rr 一个是 ω\omega。把三个部件摊开看,BPO 的实用损失里优势来自 GRPO、二元 KL 来自 DPPO 的那篇 [8]、封顶 3.0 与 CISPO 同值,真正新出的只有 ω\omega 这一种形式。主表上 BPO 对 CISPO 的 +3.1+3.1 个百分点,按 90 题配对差分算 z≈0.8z\approx0.8–2.02.0,且峰值取最大值又是双重挑选(先挑检查点,再在四基线里挑对手)。

「critic-free」不是相对 GRPO 的优势。 §2.3 自己写着:

“Group-Relative Policy Optimization (GRPO) [1] is a critic-free, PPO-style policy optimization method [16].” —— §2.3

BPO 的无 critic 是相对 PMD 而言——PMD 要中间状态的价值,GRPO 从来不要。所以主表那五个方法全是 critic-free 的同一族,差异只在逐 token 权重与裁剪规则。

机制量一个都没测。 论文把 ω\omega 命名为 mismatch-correction weight,可它来自 KL 惩罚项的梯度(附录 A.2 的恒等式算得清清楚楚),而标准的训练-推理失配校正是重要性比 rr——恰恰是被它换掉的那个。要说 ω\omega 在校正失配,得先测三件事:ω\omega 的分布、CC 的命中率、π\pi 相对 μ\mu 的实际漂移量。三件全篇一个没有,Figure 1 只有精度曲线。

范围。 单基座(Qwen3-30B-A3B,MoE)+ 消融用的 4B 稠密基座,单数据域(数学),单奖励形态(终端可验证奖励)。望远镜求和成立的前提是中间奖励恒为零,一旦换成过程奖励或稠密奖励,∑tAμ=R−Vμ(x)\sum_t A^{\mu}=R-V^{\mu}(x) 这条恒等式立刻失效,整套重构不再适用——论文没有点破这条边界。

4.3 对大模型领域的影响

这一族方法(GRPO / GSPO / CISPO / DPPO / BPO)现在已经能被放进同一张坐标系:它们共享同一个组内归一化优势 A^\hat A,差异全部集中在「逐 token 标量取什么」和「怎么截断」两件事上。BPO 的贡献是把这个坐标系的理论底座往上抬了一层——A^\hat A 不再是启发式,而是线性化残差;代价是它也顺手证明了,这条路上的可动旋钮就剩那个标量。

对实践端更直接的启示是:评估口径该改了。单基座、单运行、90 题、取峰值——这样的配置下 3 个百分点的差距判定不了胜负,而近期这一族论文的 headline 差距普遍在 1–5 个百分点。

5 实践启示

可以直接搬走的:

  1. 二元 KL 的梯度恒等式(附录 A.2)。∇(log⁡π+DKLbin(μ∥π;y))=1−μ1−π∇log⁡π\nabla\big(\log\pi+D^{\mathrm{bin}}_{\mathrm{KL}}(\mu\|\pi;y)\big)=\frac{1-\mu}{1-\pi}\nabla\log\pi 是一行代码能实现的结论,任何想在 token 损失上加互补概率权重的场景都能复用;配套的加性平滑 ϵ\epsilon 把值域钉死在 [1+ϵ−μ1+ϵ,1+ϵ−μϵ][\frac{1+\epsilon-\mu}{1+\epsilon},\frac{1+\epsilon-\mu}{\epsilon}],比事后裁剪干净。
  2. ϕ=1/std\phi=1/\mathrm{std} 的推导视角。把「除以组内标准差」理解成 prompt 级权重,就自然引出一个可改的旋钮:按 prompt 难度、按奖励方差的分位数重新加权,而不再是固定公式。
  3. 望远镜消项技巧。凡是奖励只在轨迹末端、中间恒为零的任务,∑tAμ=R−Vμ(x)\sum_t A^{\mu}=R-V^{\mu}(x) 都能用来把逐位置的价值估计换成一次 rollout 均值估计。带过程奖励或稠密奖励的场景不适用。
  4. 权重替换的实验设计。ω\omega 与 rr 的对偶形式(分母 μ\mu 对 1−π1-\pi)给出一条低成本的扫描轴:ωα=α+(1−α)(1−μ)α+(1−α)(1−π)\omega_\alpha=\frac{\alpha+(1-\alpha)(1-\mu)}{\alpha+(1-\alpha)(1-\pi)},α\alpha 从 0 到 1 就把两种权重连成一条线,比各跑一遍两种算法便宜。

潜在应用场景:数学与代码的 RLVR 后训练(论文已验证的域);显存吃紧、装不下 value model 的大规模 MoE 训练流水线(BPO 与 R3 已在同管线验证);需要把「逐位置价值」换成「轨迹级残差」的长程 agent 训练——前提是奖励仍为终端标量。

落地前该补的四个检查:加 ω≡1\omega\equiv1 与 C=1.28C=1.28 两条对照臂,把「权重」与「截断宽度」两个因素分开;报 ω\omega 的分位数与 CC 的命中率,确认截断到底咬住的是哪一批 token;多 seed 跑并把峰值与终值一起报;把「线性化 vs 完整残差」做成一条消融,验证一阶近似丢掉的那一半到底值多少。

参考文献

Song, Z., Xu, H., Zhang, X., & Bing, L. (2026). Bellman Policy Optimization. arXiv:2609.15987 [cs.LG]. Apodex US, Inc.; Princeton University.

相关精读