论文精读

精读:把回合级信用从斜率换成终点——TreeOPSD 的仿射教师与残差匹配

把终端奖励沿共享前缀树回传成回合级信用,再用仿射映射换成冻结的伯努利教师做 Forward KL 蒸馏:第一个 optimizer block 精确恢复树策略梯度,后续块拿当前残差当系数,越过大就反向。Deep Research 平均分在 Qwen3-30B-A3B 上比 GRPO 高 4.97,拆开看 54.7% 的增益来自两个百题集合,回传权重的长度病态也留着没治。

论文: Tree-Aware Posterior Distillation for Long-Horizon Agentic Reinforcement Learning
作者: Heming Zou, Qi Wang, Yixiu Mao, 等
arXiv: 2610.23181
树形信用分配 在策略自蒸馏 Forward KL 策略陈旧 长时程智能体 RLVR GRPO Qwen3

1 论文概览

本文是 arXiv:2610.23181(cs.LG 主分类;v1 2026-10-16;Heming Zou、Qi Wang、Yixiu Mao 等 10 位作者)。本专栏前四十四期问过信号怎么造、怎么记账、从哪条通道进来、以什么形状落到参数上、结局分几档、一笔优势在响应内部怎么分、教师位移里哪些前缀有资格进损失;这一期问的是一笔回合级信用在更新里当斜率还是当终点——线性代理给的是方向,分布匹配给的是带不动点的目标。

一句话总结:把多轮交互的每个回合当树节点,从共享前缀分支采样备选续接,把终端奖励沿树回传成回合级信用 ViV_i,再用一次仿射换算 qi=1/2+Vi/τq_i=1/2+V_i/\tau 把信用变成一个冻结的伯努利教师,然后用 Forward KL 把学生逐步拉向这个教师——第一个 optimizer block 精确恢复树策略梯度,后面的 block 拿当前残差 Γi=τ(qi−pθ,i)\Gamma_i=\tau(q_i-p_{\theta,i}) 当系数,越过大就反向,Deep Research 平均分在 Qwen3-30B-A3B 上比 GRPO 高 4.97 分。

核心问题:长时程 agent RLVR 里有两个老毛病。一个是信用稀疏:一条轨迹一个终端奖励,广播到每个 token,成功轨迹里的废动作被记功,失败轨迹里的关键检索被记过。另一个是策略陈旧:一个 rollout batch 要拆成 EE 个 mini-batch 顺序更新,后面几个 block 跑的时候策略已经离开了采样它的 πθold\pi_{\theta_{\mathrm{old}}}。论文对现有解法的批评落在「裁剪没有终点」这一点上:

“such controls only constrain the importance ratio while keeping the collection-time credit fixed, so the surrogate still specifies an ascent direction rather than a finite destination.”(§1)

裁剪限制的是步幅,目标函数本身仍是一个线性代理,永远只有一个「往上走」的方向,没有一个「走到这就停」的位置。

主要贡献:

  1. 信用换终点:给每个回合一个闭式有界的伯努利教师 qi=1/2+Vi/τq_i=1/2+V_i/\tau,其中 τ=(K−1)/(ρK)\tau=(K-1)/(\rho\sqrt{K}) 由组大小 KK 用 Samuelson 不等式标定,目标似然比被夹在 [(1−2ρ)/(1+2ρ),(1+2ρ)/(1−2ρ)][(1-2\rho)/(1+2\rho),(1+2\rho)/(1-2\rho)] 里,不需要 ad-hoc 裁剪。
  2. 无损树压缩(Theorem 1):仿射映射与凸树回传可交换,匹配回传后的父教师与聚合全部子孙教师的蒸馏损失梯度完全相同——共享前缀只打一次分,工程上是实打实的省算力。
  3. 切线等价 + 残差自纠(Theorem 2):蒸馏目标在行为策略处的切线精确等于树策略梯度;后续 block 的系数是当前学生-教师残差,到达目标归零,越过目标变号,且对任意 rθ,i∈(0,∞)r_{\theta,i}\in(0,\infty) 一致有界,没有重要性比那种指数爆炸。
  4. 实验:Qwen3-4B / 30B-A3B 两个规模、Multi-Hop QA 与 Deep Research 两类长时程任务,Deep Research 增益(+3.27 / +4.97)大于 Multi-Hop(+0.73 / +1.13),并给出 5 个训练种子的误差棒(4B)。

2 方法详解

2.1 树上造信用:initialize-then-expand

每个 prompt 先用冻结的 πθold\pi_{\theta_{\mathrm{old}}} 采 M=4M=4 条完整轨迹,再从每条轨迹均匀抽 N=2N=2 个非终端锚点回合,从锚点前缀各采一条新鲜终端后缀,得到 K=M(N+1)=12K=M(N+1)=12 条终端轨迹。因为分支续接平均只有全长的一半,期望采样成本 M(1+N/2)=8M(1+N/2)=8 恰好对齐 GRPO 的 G=8G=8。KK 条终端奖励先组内标准化成 AkA_k,再按行为策略似然权重 ωi,c\omega_{i,c} 递归回传:

Vi:=∑c∈Ciωi,cVc,ωi,c:=πθold(ac∣hc)∑c′πθold(ac′∣hc′)V_i:=\sum_{c\in\mathcal{C}_i}\omega_{i,c}V_{c},\qquad \omega_{i,c}:=\frac{\pi_{\theta_{\mathrm{old}}}(a_c\mid h_c)}{\sum_{c'}\pi_{\theta_{\mathrm{old}}}(a_{c'}\mid h_{c'})}

每个回合 ii 的信用 ViV_i 已经聚合了它下面所有分支的结局,所以每个独特回合只进一次梯度,不像独立采样那样把同一段前缀重复计 KK 遍。

2.2 把信用换算成教师:一次仿射映射

监督信号是一个回合级标量 ViV_i,而不是外部教师的逐 token 词表分布。论文把「当前策略对这个回合有多强地偏离行为策略」参数化成逐 token 平均对数似然比 sθ,i=1Li∑jlog⁡πθ(ai,j)πθold(ai,j)s_{\theta,i}=\frac{1}{L_i}\sum_j\log\frac{\pi_\theta(a_{i,j})}{\pi_{\theta_{\mathrm{old}}}(a_{i,j})},用 odds 映射 σ\sigma 变成二元后验 pθ,i=σ(sθ,i)p_{\theta,i}=\sigma(s_{\theta,i})——行为策略处 s=0s=0、p=1/2p=1/2。教师取同一个伯努利族里的 Qi⋆=Ber(qi)Q_i^\star=\mathrm{Ber}(q_i),由带信任域的近端问题闭式解出:

qi:=12+Viτ,ri⋆=qi1−qi=τ+2Viτ−2Viq_i:=\frac{1}{2}+\frac{V_i}{\tau},\qquad r_i^\star=\frac{q_i}{1-q_i}=\frac{\tau+2V_i}{\tau-2V_i}

选 Forward 方向的 KL 惩罚(从 Ber(1/2)\mathrm{Ber}(1/2) 指向候选教师)是关键:它的导数 ψ′(s)=q−1/2\psi'(s)=q-1/2 对 qq 线性,驻点条件直接给出仿射解。论文证明了这条仿射映射是唯一与凸树回传可交换的对称半径标定映射——用 logistic 映射 q=σ(V/τ′)q=\sigma(V/\tau') 就不可交换,父教师不再是子教师的加权均值(附录 D.2 用数值实验对照了这一点)。

2.3 分布匹配:残差 Γ\Gamma 的三个性质

损失是对每个独特回合的 Forward KL 按 Li/LxL_i/L_x 加权。对 token 求导后,每个 token 的损失梯度权重是 τ(pθ,i−qi)/Lx=−Γi/Lx\tau(p_{\theta,i}-q_i)/L_x=-\Gamma_i/L_x,其中

Γi(sθ,i)=Vi−τ(pθ,i−12)=τ ri⋆−rθ,i(1+ri⋆)(1+rθ,i)\Gamma_i(s_{\theta,i})=V_i-\tau\Big(p_{\theta,i}-\frac{1}{2}\Big)=\tau\,\frac{r_i^\star-r_{\theta,i}}{(1+r_i^\star)(1+r_{\theta,i})}

三个性质构成论文的核心论证:(i) 切线等价——s=0s=0 时 Γ=Vi\Gamma=V_i,第一块精确恢复树策略梯度;(ii) 有界漂移抵消——修正项 −τ(p−1/2)-\tau(p-1/2) 对 ss Lipschitz、全局有界,不像未裁剪的重要性比 esVie^{s}V_i 那样指数放大;(iii) 有限终点——Γ\Gamma 在 rθ,i=ri⋆r_{\theta,i}=r_i^\star 处归零、越过即变号,而固定信用系数对漂移视而不见。附录 B.3 还给出标量收缩:一步之后 s(t+1)−ϕi=(1−κt)(s(t)−ϕi)s^{(t+1)}-\phi_i=(1-\kappa_t)(s^{(t)}-\phi_i)。

2.4 与基线的区别

方法信用来源漂移处理有无终点
GRPO组内标准化终端奖励广播全轨迹无(on-policy 假设)无
GSPO同 GRPO序列级重要性比无
TreePO同一棵树的回传信用 ViV_i无,全程固定系数 Vi/LxV_i/L_x无
TreeOPSD同一棵树的回传信用 ViV_i残差 Γi\Gamma_i 重算有,s=log⁡ri⋆s=\log r_i^\star

TreePO 是全场最要紧的对照:同一批树、同一套 ViV_i、同样的 optimizer block,差别只剩「固定系数」对「残差匹配」。论文自己把这层关系写得很清楚:

“TreePO keeps the collection-time coefficient Vi/LxV_{i}/L_{x} on every later block. TreeOPSD matches a frozen turn teacher and recomputes the residual as πθ\pi_{\theta} moves.”(§4.2)

3 实验结果

3.1 主表:规模越大、时程越长,增益越大

设置GRPOGSPOTreePOTreeOPSD
Multi-Hop QA,Qwen3-4B43.3743.1543.4044.13
Deep Research,Qwen3-4B12.1812.1713.0715.45
Multi-Hop QA,Qwen3-30B-A3B44.8044.8545.0545.93
Deep Research,Qwen3-30B-A3B16.2316.4717.5921.20

摘要里的 headline +4.97 就是 30B Deep Research 那一格对 GRPO 的差。两个规律值得记:TreeOPSD 对 TreePO 的差(+0.73 / +2.38 / +0.88 / +3.61)占了对 GRPO 总增益的一半以上,说明「残差匹配」这一步贡献大于「树本身」;交互时程越长(Deep Research 允许 60 个 assistant 回合 vs Multi-Hop 5 个),后续 block 面对的漂移越大,有限终点的价值越高。附录 D.1 补了 Qwen3-1.7B(26.88 vs GRPO 25.70)与 Llama-3.2-3B(35.58 vs 31.73),小模型上增益反而更大。

3.2 三个对照实验

pointwise vs listwise:把 VcV_c 换成组内中心化的 Vc−ViV_c-V_i(listwise),两个都有用的子节点会被推往相反方向,因为中心化把共同分量删掉了。真实训练里 pointwise 曲线全程压着 listwise。这一条与 GRPO 的组归一化直接相关:组归一化就是 listwise,它天然删掉「这组样本整体都比行为策略好」的信息。

odds vs logistic 教师:odds 映射与缩放 logistic 映射在第一次更新处一致,此后学生停在 odds 教师处;真实训练里 odds 全程领先。这一条把「为什么必须是仿射」从代数性质变成了可测差异。

ρ\rho 扫描与预算分配:目标半径 ρ∈[0.10,0.40]\rho\in[0.10,0.40] 内 Deep Research 在 14.62–15.45 之间、Multi-Hop 在 43.79–44.13 之间波动,两个平均分都在默认 ρ=0.25\rho=0.25 处取峰。预算分配上 (4,2)(4,2) 优于等成本的独立采样 (8,0)(8,0) 与更重的分支 (2,6)(2,6);半预算的 (2,2)(2,2) 在 Deep Research 上追平全预算 (8,0)(8,0)。

3.3 稳定性与交互长度

5 个训练种子下(4B),TreeOPSD Deep Research 15.45±0.39 对 TreePO 13.07±0.37、GRPO 12.18±0.27,差值分别约 4.4 与 6.9 个合并标准误,排序在全部种子里保持一致——这一列是全文最硬的数字。交互长度上(附录 D.3,30B/BC+),评估时的平均 assistant 回合数从约 2.4 一路涨到约 7,GRPO 只从约 2.6 涨到约 3.9;把 TreeOPSD 限制在 GRPO 的实测训练时间内,精度曲线仍在上方。行为学的证据(模型学会搜更多轮)比表格里的分数更有说服力。

4 个人分析

4.1 亮点

「信用从斜率变成终点」是一个干净的重新参数化。 前四十四期里出现过的所有方法——不管信号从 critic、PRM、教师分布还是树回传里来——都把信用当线性系数乘在 log⁡π\log\pi 上,差别只在系数怎么算。TreeOPSD 把同一个量翻译成分布匹配问题里的目标位置,一次换算一并处理了漂移抵消与 overshoot 反向两件事,而且第一块的切线不变,等于免费拿到了 PPO 式的稳定性而没有丢 on-policy 的一阶行为。

Theorem 1 的无损压缩是论文里最实用的一条。 「先映射再回传」与「先回传再映射」给出同一个父教师,意味着每个共享前缀只需要一次前向、一次打分。对任何做树采样或多采样组的训练框架,这一条直接省掉重复计算,不依赖任何近似。

pointwise 对 listwise 的辨析(附录 C.2)值得单独成段。 「几个采到的兄弟只覆盖了续接空间的一小角,兄弟归一化没法把它们一起抬起来」——这句话对 GRPO 家族的适用边界给出了一个少有人写清的注脚,与专栏此前追过的零和记账问题同源,论文把它放进了正文讨论而不是埋进附录证明。

自我披露相当诚实。 附录 C.4 自己算了教师半径的实际占用量:默认 ρ=0.25\rho=0.25、K=12K=12 时叶子处 q−1/2q-1/2 的均方根只有约 0.075,只有「12 条里 1 条 dissent」的树才够到满半径 0.25;还主动指出 allocator 会把树推向均衡结局、从而进一步压缩教师的实际尺度。5 个种子的误差棒在这个文献里也属于稀有品。

4.2 值得较真的六个地方

第一,回传权重 ω\omega 的长度病态,论文在 §3.1 自己诊断过、却在另一处留着没治。 学生侧的对数比明写 了长度复合的危险:

“Directly multiplying token likelihood ratios across a multi-token turn compounds off-policy discrepancies exponentially with LiL_{i}, causing severe variance and length bias between short tool calls and long reasoning turns.”(§3.1)

同一篇论文的 Eq. 5 里,兄弟节点之间的回传权重 ωi,c\omega_{i,c} 用的恰恰是未做长度归一化的整段序列似然。两个兄弟续接的似然比是 elog⁡π(ac)−log⁡π(ac′)e^{\log\pi(a_{c})-\log\pi(a_{c'})},按 thinking 模型每 token 负 0.7 nat 上下估算,长度差 40 个 token 就是 e28≈1.4×1012e^{28}\approx 1.4\times10^{12}——权重几乎必然塌到更短的那个兄弟上,凸组合退化成按长度取 argmin,锚点回合拿到的信用近似等于单一子节点的信用,树被拉直成链。这一项由 TreeOPSD 与 TreePO 共享,所以它不偏袒任何一臂,但它直接动摇贡献一的地基:被换算成教师的那个 ViV_i 本身就是坏的距离。全文没有任何一个关于 ω\omega 集中度(熵或 max⁡cω\max_c\omega 分布)的统计量,而这个量从日志里一次归约就能拿到。

第二,把残差匹配的增益拆开看,大头是「往回拉的惩罚」,不是「信用形状的终点」。 在 Deep Research 4B 上(表 2b),最强阻尼的 ρ=0.10\rho=0.10(τ=31.75\tau=31.75,目标比被压进 [0.67,1.5][0.67,1.5]、教师距离 1/21/2 只有约 0.03,近似「不许动」)已经拿到 14.62,比零阻尼的 TreePO 13.07 高 1.55;信用形状贡献的剩余部分最多 0.83(峰值 15.45)。按阻尼强度 τ/4\tau/4 排:0 → 13.07,1.98 → 14.69,2.65 → 14.88,3.18 → 15.45,3.97 → 15.06,7.94 → 14.62——一条先升后降的曲线,峰在默认值上。再看梯度表达式本身:Γi=Vi−τ(p−1/2)\Gamma_i=V_i-\tau(p-1/2) 里信用以加性截距出现,与 TreePO 完全相同,τ\tau 只进阻尼项、不依赖 ViV_i。论文又明确声明训练「use no auxiliary KL penalty」——这套方法实质上等于给第 2–4 块重新装了一个强度为 τ/4≈3.18\tau/4\approx3.18 的、拉向 πθold\pi_{\theta_{\mathrm{old}}} 的 KL 惩罚,从后门把 βKL\beta_{\mathrm{KL}} 请了回来。结论仍然成立,但归因的措辞(「有限终点」)与机制(「信任域阻尼」)不是一回事。

第三,有限终点这个卖点,在论文自己的标量模型里够不到。 附录 B.3 的收缩界 κt≤ητLiσ′(ξ)/(4Lx)\kappa_t\le\eta\tau L_i\sigma'(\xi)/(4L_x),代入 η=10−6\eta=10^{-6}、τ=12.70\tau=12.70、回合数约 40(Li/Lx≈1/40L_i/L_x\approx1/40):κ≤8×10−8\kappa\le8\times10^{-8}。一个 batch 里后续只有 3 个 block,累计收缩 2.4×10−72.4\times10^{-7}——学生离目标始终是天文距离,性质 (ii)(iii)(有界抵消、越过变号)描述的是一个算法从未进入的区域。图 5(c) 里「学生停在教师处」的演示是噪声-free 的标量仿真,8 步就到 q≈0.80q\approx0.80,那个步长尺度真实训练器达不到。把 AdamW 塞进这个标量模型不算严格,但模型是论文自己给的。真实的差别只剩线性化后的小漂移项 Γ≈Vi−(τ/4)s\Gamma\approx V_i-(\tau/4)s——又回到了第二条。

第四,headline +4.97 的统计地基比看起来薄。 Deep Research 四个测试集是 830 / 1266 / 103 / 100 题,等权平均。对 GRPO 的逐集增益是 BC+ +7.11、BC +1.90、GAIA +3.88、xbench +7.00——两个最小的集合(103 与 100 题)贡献了 54.7% 的总增益,最大的 BC(1266 题)只贡献 9.6%。按二项标准误算,这个平均分的抽样噪声约 1.65pp(TreeOPSD)对 1.53pp(GRPO),差值的合成标准误约 2.25pp,headline 4.97 约合 2.2 个标准误。5 个种子的 ±0.39 盖不住这一项:所有种子在同一份测试题上贪心解码,题目抽样的不确定性在种子之间完全相关。GAIA 一道题的翻转就值 0.24pp 的平均分。

第五,多跳那一侧的增益地理分布更难看。 30B 上 TreeOPSD 对 TreePO 的 +0.88 平均分里,125 题的 Bamboogle 一家贡献 3.20,占 90.9%;而最大的 2Wiki(12,576 题)上 TreeOPSD 50.88 是三个训练方法里最差的(GSPO 52.50 > GRPO 52.13 > TreePO 51.80 > TreeOPSD 50.88),对 GRPO 落后 1.25 分,按二项标准误 0.45pp 算约 2.8 个标准误,不是噪声。4B 上次序整个翻过来:2Wiki 是 TreeOPSD 赢最多的集(+2.10 对 TreePO),Bamboogle 反而输 0.80。同一个机制在两个尺度上把增益放在了不同的数据集里,其中一处还放着最大的那个——这更像「平均分被一两个小集合的抖动抬着走」,谈不上稳定的任务族收益。

第六, flat-tree 对照揭示了一个被正文轻轻放过的负号。 表 2(a) 里 (8,0)(8,0)(不分支、纯独立轨迹)的 TreeOPSD 是 43.66 / 11.28,对 GRPO 的 43.37 / 12.18:Multi-Hop 持平,Deep Research 反而低 0.90。也就是说在无树的设定下,这套目标函数本身对 GRPO 是持平偏负的,headline 的全部增益依赖分支结构(树结构 +1.79,残差匹配再 +2.38)。正文对这一行的评语是「the two methods stay close on Multi-Hop QA」,对 Deep Research 那个负号一字未提。表 2 没有误差棒,0.90 约为该指标种子标准差(±0.39)的 2.3 倍,算线索不算测量——但方向上它削弱了「目标函数更好」的解释,支持「树 + 阻尼」的组合才是增益来源。

另有两处小账:一是引言里被点名要替代的方案(PPO 的 critic、PRM、外部教师 OPD)一个都没进对照表,Table 1 里最弱的基线是 GRPO,而「不装 critic 也能拿到稠密信用」这个主张的对标物恰恰缺席;二是 Deep Research 的选点明确在 BC+ 上做(每 5 步评一次、报窗口内一个 checkpoint),BC+ 又是被报告的四个集合之一,选点噪声会顺着最大那列灌进平均分(多跳一侧的选点评哪个集,论文没有写明)。

4.3 对大模型领域的影响

这条工作把「树采样造稠密信用」与「带不动点的分布匹配」两条线缝在了一起,缝合法是一段 11 行的代数。它给出的可复用资产有三样:仿射教师与树回传的可交换性(省算力)、残差重算替换固定系数(一个两行代码的改动)、以及 pointwise/listwise 的辨析框架。短期看,它会挤占 TreePO 一系与「轨迹级优势广播」之间的中间地带;长期看,「给顺序 mini-batch 更新一个有限目标」这个提法对一切 E>1E>1 的 RLVR 训练都成立,不只限于树。

5 实践启示

5.1 可以借鉴的技术

  1. 残差替换固定系数:任何「固定优势权重 + 梯度累积 EE 块」的训练循环,都可以把第 2 块起的系数换成 τ(q−pθ)\tau(q-p_\theta),只需缓存行为策略的逐 token 对数概率(本来就要缓存,算重要性比用)。两行改动,第一块行为不变。
  2. 用组大小标定温度而不是扫参:τ=(K−1)/(ρK)\tau=(K-1)/(\rho\sqrt{K}) 来自 Samuelson 不等式,把「教师能走多远」变成 KK 的函数。任何做组归一化的方法都能套这个套路,省掉一轮超参扫描。
  3. 先映射再回传 vs 先回传再映射:需要在树上聚合信用又要做某种非线性变换时,先检查变换是否与凸组合交换;交换就只算一次父节点,不交换就得逐叶子算——这个检查应该成为写树形 loss 的固定动作。
  4. 报告纪律:给平均分附上逐集合的差值与各集合题数;种子误差棒之外再算一道题目抽样的二项标准误。本文的 +4.97 与 90.9% 两个数字,都是拆开才算得出来的。
  5. 负结果也要看 flat 控制:评一个「树 + 目标函数」的方法时,把树拆掉跑一遍目标函数(本文的 (8,0)(8,0) 行),才能分清增益来自结构还是目标——这一行恰是本文自己最不利的一行。

5.2 潜在应用场景

  • Deep Research / 计算机操作类长时程 agent:回合数 30–60、验证器只有终端一格的场景,正是「一个终端奖励监督几十个决策」病得最重的地方;残差匹配的增益随交互时程变长而放大,本文自己的数据(+3.27 → +4.97,4B → 30B)与附录 D.3 的回合数曲线都指向这一点。
  • 与 rollout 分配器组合:附录 C.1 明确 TreeOPSD 只管「拿到的树怎么更新」,树怎么采可以交给 TRACE/GPS 这类 allocator;分配器变 KK 时 τ\tau 自动跟着 KK 走,接口是干净的。
  • 多 epoch / 长批次训练:EE 越大、顺序漂移越重,有限终点越有用;当前 E=4E=4 是小场景,扩到几十块的梯度累积训练(大 batch RLVR)是它最应该被验证的地方。
  • 需要注意的边界:训练奖励与报告指标不一致(阈值化 F1 对 EM)、回传权重的长度敏感、以及「全失败树把回合拉回 πθold\pi_{\theta_{\mathrm{old}}}」的隐式遗忘行为——在把这套东西接进生产管线之前,这三处都值得先在自己的数据上量一遍。

参考文献