RIPO 阅读笔记:PPO 的比率裁剪为什么量错了尺度,黎曼几何给出的修正

笔记日期: 2026-07-14 笔记作者: Zhongzhu Zhou 论文标题: Beyond Euclidean Clipping: Overcoming Exploration Collapse in LLM RL via Riemannian Isometric Policy Optimization 作者: Zhicheng Cai, Xinyuan Guo, Hanlin Wu, Mingxuan Wang, Wei-Ying Ma, Ya-Qin Zhang, Hao Zhou arXiv: 2607.10169 状态: ICML 2026(PMLR 306)—— 清华大学 AIR 研究院 & 字节跳动 Seed

一句话总结

今天几乎所有用来做 LLM RL 后训练的主流算法——PPO、GRPO、DAPO、GSPO 及其一大堆变体——都继承了 2017 年 PPO 论文里的一个设计决定:把重要性比率 r=π(as)/πold(as)r=\pi(a|s)/\pi_{old}(a|s) 裁剪到一个固定区间(比如 [0.8,1.2][0.8, 1.2]),超出区间的更新直接屏蔽梯度。这篇论文的核心论点是:这个决定虽然便宜、历史上也确实有效,但它悄悄量错了尺度。比率偏差 r1|r-1| 本质上是概率比率空间上的欧氏距离——它认为”比率从 1.0 变到 1.2”代表的策略变化量,不管这个 token 起始概率是多少,都是一样大的。但 PPO 的裁剪原本是想近似 TRPO 的信任域约束,而信任域约束的是 KL 散度,KL 散度在策略空间上诱导出的是黎曼几何——同样的比率偏差,根据 token 起始概率的不同,对应的真实分布变化量可以相差极大。具体来说:一个稀有 token 的概率从 0.00010.0001 涨到 0.010.01,比率是 100100——深深落在 PPO 裁剪区之内,被狠狠压制——但它实际只移动了约 1%1\% 的概率质量。一个主导 token 的概率从 0.990.99 跌到 0.800.80,比率约为 0.810.81——几乎不会被裁剪——但它移动了 19%19\% 的概率质量,是前者的 19 倍。PPO 的裁剪机制把力气用错了地方,系统性地让稀有但有信息量的”探索型” token 得不到梯度,同时放任常见 token 大幅摆动,而这正是文献里反复报告的”探索坍缩(exploration collapse)“现象背后的机制。论文给出的修正 Riemannian Isometric Policy Optimization(RIPO),把 PPO 那个固定宽度的裁剪,换成一个依赖 token 自身旧策略概率的裁剪边界:ϵs,a(πold)=δ/πold(as)\epsilon_{s,a}(\pi_{old}) = \sqrt{\delta / \pi_{old}(a|s)}。这样选取的目的是让每一次裁剪——不管是稀有 token 还是主导 token——都恰好消耗掉底层黎曼流形上同样大小的信任域”预算” δ\delta。这一处公式改动不需要新网络、不需要新的损失项(只是调整了裁剪边界的计算方式),却在 AIME24 上比 GRPO 最高提升 60%,并在四个模型家族、七个数学基准以及额外的代码/搜索泛化任务上都取得了一致的增益——同时,作为同一套几何论证的副产品,它还顺带修好了底层重要性采样估计量的异方差(heteroscedastic)方差问题,让 PPO-Clip 原本没必要那么差的偏差-方差权衡变得更好。

核心要点

  • PPO-Clip 的比率偏差约束 r1ϵ|r-1|\le\epsilon 隐含地假设策略空间上是欧氏度量:任何两个 token 更新只要比率偏差相同,就被视为”同样大”的变化,完全不管这个 token 的起始概率是多少。
  • 两个策略之间真正的差异是由 KL 散度刻画的,它的二阶泰勒展开是一个关于 Fisher 信息矩阵的二次型——这在策略空间上诱导出一个黎曼流形,高概率区域的距离在几何上被”拉伸”,低概率区域的距离则被”压缩”。
  • 沿着论文的推导(对应本文 Eq. 4–8)把代数走一遍,单个 token 更新的真实几何距离其实是 dgeomπold(as)(r1)2d_{geom}\propto \pi_{old}(a|s)\cdot(r-1)^2——正比于旧概率,而不只是比率偏差。这一句话就道破了 PPO 固定裁剪为什么会错:它对 πold\pi_{old} 这个因子完全视而不见。
  • Riemannian Isometric Clip(RIC)求解的是能让 dgeomd_{geom} 在所有 token 上保持恒定的比率上界:ϵs,a(πold)=δ/πold(as)\epsilon_{s,a}(\pi_{old})=\sqrt{\delta/\pi_{old}(a|s)}——这是一个对稀有 token 变宽、对主导 token 收紧的裁剪边界,而不是 PPO/DAPO 那种对整个词表所有 token 都一视同仁的单一固定数字。
  • 论文里的数值例子:取 δ=0.02\delta=0.02,一个 πold=0.8\pi_{old}=0.8 的 token 现在被限制到最多 0.920.92(比 PPO 的 0.960.96 更紧),而一个 πold=0.01\pi_{old}=0.01 的 token 被允许升到 0.0240.024(几乎是 PPO 的 0.0120.012 的两倍)——两次更新消耗的几何信任域预算是相同0.010.01,而不是 PPO 下那种悬殊的 0.0160.0160.00020.0002
  • 除了修正裁剪边界本身,论文还证明 RIC 顺带改善了底层重要性采样估计量的偏差-方差权衡:由于裁剪阈值现在按 1/πold1/\sqrt{\pi_{old}} 缩放,每个被裁剪样本的方差贡献变成 O(δ)O(\delta)——恒定、与概率无关——这个性质叫同方差性(homoscedasticity),而 PPO-Clip 原本是异方差(方差依赖于概率大小)的。
  • RIPO 把 RIC 直接插入 GRPO 的目标函数(用动态的 ϵs,a(πold)\epsilon_{s,a}(\pi_{old}) 替换掉 GRPO 固定的 ϵ\epsilon),训练流程里其余部分——组内相对优势、token 级损失聚合——完全不变。
  • 在四个基座模型(Qwen3-1.7B/4B/8B-Base、Llama3.2-3B-Instruct)和七个竞赛级数学基准上,RIPO 相对 GRPO 平均提升 37.2%、34.4%、17.1%、35.1%,并且在更难的基准(AIME24、BRUMO25)上持续超过四个更复杂的 GRPO 变体(DAPO、GSPO、GMPO、DCPO)。
  • 训练动态诊断(论文 Fig. 1)显示 RIPO 只用 40 步就达到了 GRPO 训练 200 步的水平(5 倍 token 效率),策略熵维持在适中、不坍缩的水平(不同于 GRPO 的熵坍缩或 DAPO 的熵爆炸),整个训练过程梯度范数几乎没有波动。
  • δ\delta 的消融实验(Table 2)显示 RIPO 在很宽的范围内(δ[0.02,0.08]\delta\in[0.02,0.08])都很稳健,但一旦上下界的 δ\delta 预算被设置得高度不对称,性能会突然崩溃——奖励骤降、熵爆炸——说明裁剪的两个方向必须被同时、匹配地约束住。
  • RIC 这套裁剪机制干净地迁移到了 GRPO 之外:把它套用到带学习型 critic 的原版 PPO 目标上,在 GSM8K 上从 0.5B 到 14B 各个模型规模,RIPO-Clip 都优于 PPO-Clip、DAPO-Clip、DCPO-Clip——说明这个修正针对的是裁剪的几何形状本身,而不是 GRPO 优势估计器特有的什么东西。
  • 长程代码任务(Codeforces、CodeContest、TACO、APPS)和多跳搜索任务(TriviaQA、PopQA、HotpotQA、WikiMultiHopQA)上的泛化实验都显示 RIPO 相对 GRPO 的优势延续到了数学之外,说明这篇论文抓住的几何失配是长尾 token 分布的普遍性质,不是某一类任务的特例。

前置知识:读懂这篇论文之前需要知道什么

这篇论文站在三个东西的交汇处:(1)经典的信任域策略优化故事(TRPO → PPO → GRPO),(2)理解”黎曼流形”和”等距(isometric)更新”在这里到底是什么意思所需要的一点微分几何词汇,(3)促成整篇论文的具体经验现象——LLM RL 里的”探索坍缩”。下面按顺序把这些铺垫补齐;如果你已经很熟悉 PPO/GRPO 的故事,可以直接跳到”黎曼几何这一课”,那部分才是相对于标准 LLM-RL 背景知识真正新的内容。

从 MDP 到信任域:经典故事

马尔可夫决策过程是一个元组 (S,A,P,r,ρ0,γ)(\mathcal{S},\mathcal{A},P,r,\rho_0,\gamma):状态空间、动作空间、转移动态、奖励函数、初始状态分布、折扣因子。策略 π(as)\pi(a|s) 通过采样动作并遵循转移动态来生成轨迹;RL 的目标是最大化期望折扣回报。优势函数 Aπ(s,a)=Qπ(s,a)Vπ(s)A^\pi(s,a)=Q^\pi(s,a)-V^\pi(s) 衡量动作 aa 比状态 ss 下策略的平均行为好多少:正值意味着”多做这个”,负值意味着”少做这个”。

信任域策略优化(TRPO),Schulman 等人(2015)证明:如果你在约束”旧策略与新策略之间的 KL 散度不超过某个阈值 δ\delta“的前提下,最大化一个重要性加权的替代目标 Lπold(π)=Esρold,aπold[π(as)πold(as)Aπold(s,a)]L_{\pi_{old}}(\pi)=\mathbb{E}_{s\sim\rho_{old},a\sim\pi_{old}}\left[\frac{\pi(a|s)}{\pi_{old}(a|s)}A^{\pi_{old}}(s,a)\right],就能得到单调改进保证:真实回报 η(π)\eta(\pi) 永远不会下降。这个约束问题,

maxπ Lπold(π)s.t.Esρold[DKL(πold(s)π(s))]δ,(1)\max_\pi\ L_{\pi_{old}}(\pi)\quad\text{s.t.}\quad \mathbb{E}_{s\sim\rho_{old}}\big[D_{KL}(\pi_{old}(\cdot|s)\,\|\,\pi(\cdot|s))\big]\le\delta, \tag{1}

就是”信任域”这个词在形式上的含义:一个硬性的散度预算,而不是一个软性的启发式规则。但精确求解 Eq. 1 需要二阶(自然梯度)优化步骤,代价很高,难以扩展到十亿参数级别的网络。

近端策略优化(PPO),Schulman 等人(2017)用便宜得多的方式替代了这个昂贵的约束优化:直接裁剪重要性比率本身,

JPPO(θ)=E[min(r(θ)A^, clip(r(θ),1ϵ,1+ϵ)A^)],(2)J_{PPO}(\theta) = \mathbb{E}\left[\min\big(r(\theta)\hat{A},\ \operatorname{clip}(r(\theta), 1-\epsilon, 1+\epsilon)\,\hat{A}\big)\right], \tag{2}

其中 r(θ)=πθ(as)/πθold(as)r(\theta)=\pi_\theta(a|s)/\pi_{\theta_{old}}(a|s) 是概率比率,ϵ\epsilon(通常取 0.20.2)是一个对整个词表所有动作、所有状态都完全一样的固定裁剪宽度。当年的直觉是:只要比率没有偏离 1 太远,策略就没有变化太多,所以这是 Eq. 1 里 KL 约束的一个便宜代理。这篇论文的整个论点就是:“比率偏差是 KL 散度的好代理”这个直觉,在 RL 被套用到拥有 10 万+ token、长尾分布词表的 LLM 上之后,已经悄悄不再成立了——尽管它在 PPO 最初验证时所处的小型、往往接近均匀分布的动作空间(Atari、MuJoCo)里,曾经是一个合理的近似。

GRPO:为 LLM 微调去掉 critic

为 LLM 训练一个完整的价值网络 Vπ(s)V^\pi(s) 代价高昂,而且在稀疏、序列级奖励下往往很嘈杂。组相对策略优化(GRPO)(Shao 等人,2024;Guo 等人,2025 / DeepSeek-R1)绕开了这个问题:对给定 prompt qq,采样一组 GG 个回答 {oi}i=1G\{o_i\}_{i=1}^G,给每个打分 RiR_i,计算一个组内归一化优势,

A^i,t=Rimean({Rj}j=1G)std({Rj}j=1G),(3)\hat{A}_{i,t} = \frac{R_i - \operatorname{mean}(\{R_j\}_{j=1}^G)}{\operatorname{std}(\{R_j\}_{j=1}^G)}, \tag{3}

然后逐 token 优化同样的 PPO-Clip 目标(Eq. 2),其中 ri,t(θ)=πθ(oi,tq,oi,<t)/πθold(oi,tq,oi,<t)r_{i,t}(\theta)=\pi_\theta(o_{i,t}|q,o_{i,<t})/\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})。GRPO 把 PPO 的裁剪机制原封不动地保留了下来——它只改变了优势的估计方式,没有改变信任域的执行方式。这一点对本篇论文很重要,因为这意味着 RIPO 的修正(针对的是裁剪,而不是优势估计器)与 GRPO 的优势估计器是正交、兼容的——论文正是把 RIPO 直接建在 GRPO 的优势公式之上,只改动裁剪边界。

Eq. 3 的具体数值例子。 假设 G=4G=4 个回答对同一道数学题的奖励是 R=(1,0,1,0)R=(1,0,1,0)(两对两错,二元可验证奖励)。均值是 0.50.5;假设标准差是 0.5770.577(两个 1、两个 0 的总体标准差)。那么 A^=(0.87,0.87,0.87,0.87)\hat{A}=(0.87,-0.87,0.87,-0.87)。注意一个正确回答里的每一个 token,不管它是关键的推理步骤还是普通的连接词,拿到的优势都是同样的 +0.87+0.87——GRPO 的优势在 token 层面是粗粒度的。这正是为什么叠加在 A^\hat{A} 之上的掩码机制(PPO 的比率裁剪,或者 RIPO 的几何裁剪)承担了这么大的责任,去决定哪些 token 真正能高效学到东西:既然优势信号本身无法区分同一个回答内部的差异,裁剪就是唯一剩下的杠杆。

简史:从”打补丁式”的比率裁剪到几何式重新设计

  • 2015 —— TRPO:为经典的、通常是中小规模动作空间证明了 KL 约束的信任域模板(Eq. 1)。
  • 2017 —— PPO:用便宜的比率裁剪(Eq. 2)替代 TRPO 昂贵的约束优化——在 PPO 当时验证所处的小动作空间场景下,这是一个合理的近似。
  • 2024 —— GRPO:几乎原封不动地采用了 PPO 的裁剪,现在套用在 10 万+ token 的 LLM 词表上,却没有重新验证比率偏差在这个尺度下是否依然是 KL 的好代理。
  • 2025 —— 各种”打补丁”式修正出现:DAPO 的 Clip-Higher 拓宽了裁剪的上界(ϵhigh=0.28>ϵlow=0.2\epsilon_{high}=0.28>\epsilon_{low}=0.2),让更多”探索型” token 通过;GSPOGMPO 转向序列级或几何平均比率裁剪以降低梯度方差;DCPO 动态调整裁剪阈值,但方式仍是启发式的;CISPOGPPO 尝试在被裁剪的 token 上保留梯度信息而不是直接截断。这些方法都在处理”症状”(稀有 token 被裁剪得太狠),却没有诊断出比率本身为什么是一个糟糕的 KL 代理。
  • 2026 —— 这篇论文:从第一性原理出发,重新推导出比率偏差裁剪本来就应该衡量的那个几何量(KL 诱导的黎曼距离),用代数(Eq. 3–8)展示出这个失配,然后直接替换掉这个被量错的量,而不是在它的症状上打补丁。

这样理解的话,RIPO 的贡献与其说是”又一个裁剪变体”,不如说是”有人回过头去检查了 PPO 裁剪背后那个承重的几何假设,在 LLM 词表规模下究竟还成不成立——结果发现它在结构上根本不成立”。

五个基线方法,逐一列出公式

由于实验部分把 RIPO 和五种此前的裁剪机制做了比较,值得在看结果之前先把每一个的实际数学定义摆出来,而不是把它们当作一个个黑箱缩写来读。这五种方法都共享同一个 GRPO 骨架(组相对优势,Eq. 3),差别只在于如何计算裁剪边界,或者裁剪的是哪个量。

DAPO(Clip-Higher)。 完全保留 PPO 基于比率的裁剪结构,但把上下界解耦:

clipDAPO(r,ϵlow,ϵhigh)=clip(r, 1ϵlow, 1+ϵhigh),ϵhigh=0.28>ϵlow=0.2.(B1)\operatorname{clip}_{DAPO}(r,\epsilon_{low},\epsilon_{high}) = \operatorname{clip}(r,\ 1-\epsilon_{low},\ 1+\epsilon_{high}),\quad \epsilon_{high}=0.28 > \epsilon_{low}=0.2. \tag{B1}

设计直觉是:既然 PPO 对称的裁剪不成比例地压制了低概率 token 的比率上涨(回想前面的数值例子:一个稀有 token 的比率很容易冲破 1.21.2),那就干脆放宽比率上涨这一侧的裁剪触发点。为什么这只是个启发式,而不是真正的修正: Eq. B1 依然对词表里的每个 token 使用同一个、与 πold\pi_{old} 无关的固定边界——它只是挪动了边界的位置。一个 πold=0.01\pi_{old}=0.01 的 token,如果比率飙到 100100,在 DAPO 的 ϵhigh=0.28\epsilon_{high}=0.28 下和在 PPO 的 ϵ=0.2\epsilon=0.2 下会被裁剪得一样狠,因为 100100 无论如何都远超这两个边界。DAPO 只帮到了那些比率恰好落在 1.21.21.281.28 之间的”边缘” token——对于这篇论文真正关心的极端长尾,这是一个很窄、帮助有限的区间。

GSPO(序列级裁剪)。 不逐 token 单独裁剪比率,而是为整条序列计算一个比率(各 token 比率的几何平均),再在序列级别做一次裁剪:

rseq(θ)=(t=1oπθ(otq,o<t)πθold(otq,o<t))1/o,clip(rseq(θ),1ϵ,1+ϵ).(B2)r_{seq}(\theta) = \left(\prod_{t=1}^{|o|}\frac{\pi_\theta(o_t|q,o_{<t})}{\pi_{\theta_{old}}(o_t|q,o_{<t})}\right)^{1/|o|},\qquad \operatorname{clip}(r_{seq}(\theta),\,1-\epsilon,\,1+\epsilon). \tag{B2}

设计直觉是:单个 token 的比率个体噪声很大(一个倒霉的稀有 token 就可能触发裁剪,丢掉整条本来不错的序列的梯度);先在对数空间做平均再裁剪,可以抹平这种逐 token 的噪声。为什么从 RIPO 的视角看这仍不完整: GSPO 改变的是裁剪的对象(序列而不是 token),而不是决定裁剪边界所用的度量——它依然是比率的无权重平均,没有引入任何 πold\pi_{old} 依赖性。它降低了 token 级噪声,但完全没有解决几何失配(Eq. 8);一条充满稀有、有信息量 token 的序列,其聚合比率依然可能以本文批评的那种欧氏方式被量错。

GMPO(几何平均比率裁剪)。 精神上和 GSPO 类似,但把几何平均聚合放在了裁剪的自变量内部而不是先聚合一整条序列的比率,目的是降低单个极端比率 token 带来的梯度方差。共同的局限: 和 GSPO 一样,这改变的是聚合/平滑策略,而不是底层的逐 token 度量——它是叠加在同一个欧氏假设之上的方差削减技巧,而这个欧氏假设正是 RIPO 要针对的东西。

DCPO(动态自适应裁剪)。 基于对训练动态的某种度量(比如最近一段时间比率分布的统计量)动态调整裁剪阈值,而不是在整个训练过程中用一个常数。为什么它在精神上和 RIPO 最接近,却依然不同: DCPO 的自适应性通常是训练进度或聚合统计量的函数(一个全局的、随时间变化的调整),而不是*每个 token 自身当下的 πold(as)\pi_{old}(a|s)*的函数(像 Eq. 10 的 RIC 那样,每次更新都重新计算)。DCPO 可以调整”今天的裁剪应该比上周松一点”,但对”同一个 batch 里,这个稀有 token 和那个常见 token 现在就应该有不同的裁剪”给不出一个原则性的答案——而这正是 Table 1 和 Table 3 里逐基准的 RIPO 优势差距背后的原因。

GPPO 和 Clip-Cov(Table 3 比较集)。 GPPO 保留被裁剪 token 的梯度而不是直接清零(解决的是裁剪带来的信息损失,这是与”校准”不同的关注点)。Clip-Cov 按 token 与优势的协方差来裁剪,而不是按比率大小(直接解决熵调节问题)。这两者回答的都是与 RIPO 相关但不同的问题;Table 3 的结果(在下方实验部分复现)显示这两个方法在每个基准上都明显落后于 RIPO,论文将其解读为:一个校准正确的信任域(RIPO 的做法)本身就已经捕获了信息保留(GPPO)和熵调节(Clip-Cov)分别、部分追求的大部分收益。

方法相对 PPO-Clip 改变了什么裁剪阈值是否逐 token 依赖 πold\pi_{old}?
PPO / GRPO基线否(固定常数 ϵ\epsilon)
DAPO不对称常数 ϵlowϵhigh\epsilon_{low}\ne\epsilon_{high}
GSPO裁剪前先做序列级聚合
GMPO裁剪内部用几何平均比率
DCPO阈值随训练时间/batch 统计量调整否(全局调整,非逐 token)
GPPO被裁剪 token 保留梯度
Clip-Cov按优势协方差裁剪,而非按比率否(判据完全不同)
RIPO(RIC)**阈值为 $\sqrt{\delta/\pi_{old}(as)}$,逐 token 重新计算**

图 4b(设计选择对比,表格即图):在八种共享同一套 GRPO/PPO 骨架的方法中,RIPO 是唯一一个裁剪阈值真正是该 token 自身旧策略概率的函数的方法——其余每一种调整要么是全局常数、全局调度,要么是叠加在一个依然是平的阈值之上的聚合策略。

黎曼几何这一课:“等距”在这里到底是什么意思

这是背景知识里对大多数 LLM-RL 读者来说真正陌生的部分,所以值得认真搭建,而不是含糊地提一句”微分几何”就带过去。

第一步——度量只是一种衡量距离的规则。 Rn\mathbb{R}^n 上的欧氏度量说两点之间的距离是 xy\|x-y\|。但并不是每一个对优化重要的空间都天然具有欧氏结构。词表上的概率分布空间——称之为统计流形——就不是:两个在原始参数上”接近”的分布,行为上可能天差地别;两个在参数空间上”远离”的分布,行为上却可能几乎一样。你需要一种尊重分布实际行为的距离度量,而不是它们原始数字上的差异。

第二步——KL 散度在局部恰好提供了这种行为距离。 对于邻近的策略 πold\pi_{old}π=πold+Δ\pi=\pi_{old}+\Delta,KL 散度的二阶泰勒展开给出

DKL(πoldπ)12ΔθF(θ)Δθ,(4)D_{KL}(\pi_{old}\|\pi) \approx \frac{1}{2}\Delta\theta^\top F(\theta)\Delta\theta, \tag{4}

其中 F(θ)F(\theta)Fisher 信息矩阵。这恰好就是黎曼度量的定义:一个依赖于位置的二次型,告诉你在参数空间这个特定点上,如何为一个小步长 Δθ\Delta\theta 计算平方距离。与欧氏度量(处处都是常数单位矩阵)不同,F(θ)F(\theta)随着你在空间中移动而变化——这正是这个几何被称为”黎曼”而非”欧氏”的原因,也是这篇论文整个论点有分量的根本原因:“策略到底移动了多远”这个正确概念,取决于你从哪里出发,而不只是取决于参数变化的原始大小。

第三步——把它映射到逐 token 的概率空间。 通过链式法则(论文中的 Eq. 5–7;下面”核心诊断”部分会逐步推导),单个状态-动作对的局部 KL 散度可以化简为

DKL(πold(s)π(s))12aπold(as)(rs,a1)2,(5)D_{KL}(\pi_{old}(\cdot|s)\|\pi(\cdot|s)) \approx \frac{1}{2}\sum_a \pi_{old}(a|s)\,(r_{s,a}-1)^2, \tag{5}

其中 rs,a=π(as)/πold(as)r_{s,a}=\pi(a|s)/\pi_{old}(a|s)。仔细看等式右边:它不是简单的”比率偏差平方求和”——每一项都被 πold(as)\pi_{old}(a|s)——也就是旧策略自己赋予该动作的概率——加权了。这个加权就是黎曼度量的具体体现:它说,给定的比率偏差,在低概率区域几何”代价”会缩小,在高概率区域则会放大。Eq. 5 是这篇论文背景知识里最重要的一个公式,因为后面的一切——对 PPO 缺陷的诊断,以及 RIPO 修正方案的设计——都是这一个加权因子的直接推论。

第四步——“等距”意味着几何距离相等,而不是比率偏差相等。 等距(isometry)是一种保持用正确度量衡量的距离的变换。RIPO 之所以被称为”等距”,是因为它的裁剪规则被设计成能保证:每一次单 token 更新消耗的黎曼距离(Eq. 5 右边,逐 token 版本)恰好相同 dgeom=δd_{geom}=\delta,不管这个 token 起始概率是 0.00010.0001 还是 0.990.99。相比之下,PPO 的裁剪保证的是相等的比率偏差(r1ϵ|r-1|\le\epsilon)——根据 Eq. 5,这对应的是根据 πold\pi_{old} 而高度不均等的几何距离。这就是论文标题背后精确的技术内涵:“超越欧氏裁剪”意味着从一个对 πold\pi_{old} 视而不见的度量(欧氏)转向一个不会视而不见的度量(黎曼),“等距”意味着裁剪被重新设计成:在正确的度量下效果是均匀的,而不是在错误的度量下均匀。

flowchart TB
    subgraph EUC["欧氏视角(PPO-Clip 的隐含假设)"]
        E1["distance(pi_old, pi) := (r - 1)^2"]
        E2["相同的比率偏差 = 相同的策略变化,无论 pi_old 是多少"]
        E1 --> E2
    end
    subgraph RIEM["黎曼视角(本文的推导)"]
        R1["distance(pi_old, pi) := pi_old * (r - 1)^2  (Eq. 5)"]
        R2["相同的比率偏差 = 不同的策略变化,取决于 pi_old"]
        R1 --> R2
    end
    EUC -.->|"PPO-Clip 对每个 token 强制相同的 |r-1|"| MISMATCH["几何失配:\n稀有 token 更新不足,\n主导 token 更新过度"]
    RIEM -.->|"RIC 对每个 token 强制相同的 pi_old*(r-1)^2"| FIX["等距修正:\n稀有 token 裁剪边界变宽,\n主导 token 裁剪边界收紧"]

图 1(架构 / 概念总览图):从欧氏距离到黎曼距离的核心概念转变。PPO-Clip 单一固定的 ϵ\epsilon 隐含地采用了上方的欧氏视角;RIPO 动态的 ϵs,a(πold)\epsilon_{s,a}(\pi_{old}) 则直接从下方的黎曼视角推导而来。

一个完整推导的数值例子:Fisher 信息矩阵这一步

Eq. 4–8 里的代数,最容易让人信服的方式是在一个具体的小例子上把它走一遍,而不是只停留在抽象层面。考虑一个只有三个 token 的玩具词表 {a1,a2,a3}\{a_1,a_2,a_3\},在单个状态 ss 上,旧策略 πold(s)=(0.7,0.2,0.1)\pi_{old}(s)=(0.7,\,0.2,\,0.1),新策略 π(s)=(0.6,0.25,0.15)\pi(s)=(0.6,\,0.25,\,0.15)(一个小而合理的单步变化)。

第一步——直接计算精确 KL 散度,作为检验近似的基准真值:DKL(πoldπ)=aπold(a)logπold(a)π(a)=0.7log0.70.6+0.2log0.20.25+0.1log0.10.15D_{KL}(\pi_{old}\|\pi)=\sum_a \pi_{old}(a)\log\frac{\pi_{old}(a)}{\pi(a)} = 0.7\log\frac{0.7}{0.6}+0.2\log\frac{0.2}{0.25}+0.1\log\frac{0.1}{0.15}。逐项计算:0.7log(1.16)0.7×0.1542=0.10800.7\log(1.1\overline{6})\approx0.7\times0.1542=0.1080;0.2log(0.8)0.2×(0.2231)=0.04460.2\log(0.8)\approx0.2\times(-0.2231)=-0.0446;0.1log(0.66)0.1×(0.4055)=0.04050.1\log(0.6\overline{6})\approx0.1\times(-0.4055)=-0.0405。求和:DKL0.10800.04460.0405=0.0228D_{KL}\approx0.1080-0.0446-0.0405=0.0228

第二步——用同样的数字计算二阶(Eq. 5)近似:12aπold(a)(ra1)2\frac{1}{2}\sum_a\pi_{old}(a)(r_a-1)^2,其中 ra=π(a)/πold(a)r_a=\pi(a)/\pi_{old}(a)。比率:r1=0.6/0.70.857r_1=0.6/0.7\approx0.857,r2=0.25/0.2=1.25r_2=0.25/0.2=1.25,r3=0.15/0.1=1.5r_3=0.15/0.1=1.5。各项:0.7×(0.8571)2=0.7×0.0204=0.014290.7\times(0.857-1)^2=0.7\times0.0204=0.01429;0.2×(1.251)2=0.2×0.0625=0.01250.2\times(1.25-1)^2=0.2\times0.0625=0.0125;0.1×(1.51)2=0.1×0.25=0.0250.1\times(1.5-1)^2=0.1\times0.25=0.025。求和 =0.01429+0.0125+0.025=0.05179=0.01429+0.0125+0.025=0.05179;取一半得 DKLapprox0.0259D_{KL}^{approx}\approx0.0259

第三步——对比。 精确值 DKL0.0228D_{KL}\approx0.0228 对比近似值 0.0259\approx0.0259——对于这样大小的变化,相对误差约 14%14\%(部分 token 移动了 1010-17%17\% 的相对概率,属于中等偏大的单步变化)。这直接印证了前面提到的一条限制:二阶近似对的策略变化很准(正如经典信任域理论里始终假设的那样,也正如 LLM RL 里学习率 10610^{-6} 量级的微小更新那样),但对于这种更明显幅度的变化,误差就开始显现——这是一个很具体的直观感受,让你知道这个”局部”近似到底有多”局部”。

第四步——读出这个例子里逐 token 的几何距离(Eq. 8),这才是 RIC 实际会对每个 token 分别使用的量,而不是状态层面的求和:dgeom(a1)=0.5×0.7×(0.8571)20.00714d_{geom}(a_1)=0.5\times0.7\times(0.857-1)^2\approx0.00714;dgeom(a2)=0.5×0.2×(1.251)2=0.00625d_{geom}(a_2)=0.5\times0.2\times(1.25-1)^2=0.00625;dgeom(a3)=0.5×0.1×(1.51)2=0.0125d_{geom}(a_3)=0.5\times0.1\times(1.5-1)^2=0.0125。注意 token a3a_3——尽管三者中旧概率最小(0.10.1)——在这个具体例子里几何距离却最大,因为它的比率移动幅度最大(1.51.5 倍)。这是一个重要的细微之处:RIC 的公式并不是简单地说”稀有 token 总是获得更大的允许量”——它说的是允许量(裁剪宽度 ϵs,a\epsilon_{s,a})对稀有 token 会放大,但任何具体观测到的更新实际消耗掉的距离,依然取决于这次更新把比率实际移动了多远,这正是 Eq. 8 乘积结构所隐含的意思。

关于”黎曼”是营销包装还是真实机制的一点说明

有必要精确说明一下这篇论文到底用了多少真正的微分几何,因为”黎曼”这个词很容易把机械装置的复杂程度说得过头。论文没有用到测地线、平行移动、曲率张量,或者完整黎曼几何那套更重的工具——如果你想沿着流形上弯曲的路径去推理有限、较大的策略更新,那才需要这些工具。它用到的是 KL 散度的局部、二阶(二次)近似(Eq. 4),也就是把 Fisher 信息矩阵当作局部黎曼度量,只在策略更新的情形下成立——这和 TRPO 自己在 2015 年所处的情形、所用的近似完全一样。这是信息几何里一个合法且标准的部分(它字面上就是统计流形上 Fisher-Rao 度量的定义),不是装饰性的引用。但值得提醒刚接触这个领域的读者:论文从这套理论里真正需要用到的计算内容,只是一个标量加权因子(Eq. 5 里的 πold(as)\pi_{old}(a|s)),而不是一整套几何工具箱——精巧之处在于推导过程,而不是最终公式,后者其实简单到几行代码就能实现。

核心诊断:探索坍缩及其几何根源

经验症状:探索坍缩

已有工作(本文引用为 Yu 等人,2025——DAPO)记录到,PPO-Clip 用在 LLM RL 上时,往往会让策略迅速把概率质量集中到一小撮高概率的”利用型”动作上,而稀有但可能有价值的”探索型”动作的概率却始终得不到有意义的提升。随着训练推进,这会让回答的多样性坍缩——策略的输出变得越来越单一、确定,这限制了 RL 能进一步提升推理能力的空间,尤其是在正确推理路径在初始策略下本就稀有的难题上。

走一遍数值例子

论文用 ϵ=0.2\epsilon=0.2(PPO 的典型默认值)下两个对比 token 例子来引出诊断:

| Token | πold(as)\pi_{old}(a|s) | PPO-Clip 下允许的最大 π(as)\pi(a|s) | 允许的绝对概率增量 | |---|---|---|---| | 高概率”利用型” token | 0.80.8 | 0.8×1.2=0.960.8\times1.2=0.96 | 0.160.16 | | 低概率”探索型” token | 0.010.01 | 0.01×1.2=0.0120.01\times1.2=0.012 | 0.0020.002 |

图2数学可视化

图 2(数学可视化,论文 3.1 节数值例子):PPO 固定的比率边界 ϵ=0.2\epsilon=0.2 允许高概率 token 在一次更新中获得 0.160.16 的绝对概率增量,但低概率 token 只能获得 0.0020.002——相同的相对裁剪宽度下,绝对更新幅度相差 80 倍。

即使是 DAPO 的 Clip-Higher 修正,把 ϵhigh\epsilon_{high}0.20.2 提到 0.280.28,也只是把低概率 token 的上限从 0.0120.012 挪到 0.01280.0128——仍然只有微不足道的 0.00080.0008 绝对增量——与此同时,却让高概率 token 的上限一路涨到 1.01.0(0.8×1.280.8\times1.28 被概率单纯形边界截断),这反而加剧了行为多样性的减少,而不是修好它。这是论文的证据,说明 Clip-Higher(以及类似的单侧补丁)在错误的方向上处理了症状:它们让本来就过于宽松的一侧变得更宽松,却几乎没有触碰本来就过于苛刻的另一侧。

逐步推导几何失配

以下是从 Eq. 4 到论文关键不等式(Eq. 8)的完整推导链,拆成一步步单独的代数操作,确保没有任何跳步。

第一步——从二阶 KL 展开出发(上文 Eq. 4)。 用链式法则把这个从参数空间 θ\theta 映射到概率分布诱导出的空间上:对 logπθ(as)\log \pi_\theta(a|s) 关于 θ\theta 求导时会出现 θπθ(as)\nabla_\theta \pi_\theta(a|s),给出 Fisher 信息矩阵的标准形式,

F(θ)=Ea[θlogπθ(as)θlogπθ(as)]=aπθ(as)θπθ(as)πθ(as)θπθ(as)πθ(as).(6)F(\theta) = \mathbb{E}_a\left[\nabla_\theta\log\pi_\theta(a|s)\,\nabla_\theta\log\pi_\theta(a|s)^\top\right] = \sum_a \pi_\theta(a|s)\,\frac{\nabla_\theta\pi_\theta(a|s)}{\pi_\theta(a|s)}\frac{\nabla_\theta\pi_\theta(a|s)^\top}{\pi_\theta(a|s)}. \tag{6}

第二步——代入二次型并化简。 把 Eq. 6 代入 ΔθF(θ)Δθ\Delta\theta^\top F(\theta)\Delta\theta,再利用 θπθ(as)Δθπθ(as)πold(as)\nabla_\theta\pi_\theta(a|s)^\top\Delta\theta \approx \pi_\theta(a|s) - \pi_{old}(a|s)(围绕 θold\theta_{old}πθ(as)\pi_\theta(a|s) 本身做一阶泰勒展开,对应论文里的 Eq. 6)给出

2DKL(πoldπ)a1πold(as)(π(as)πold(as))2.(7)2\,D_{KL}(\pi_{old}\|\pi) \approx \sum_a \frac{1}{\pi_{old}(a|s)}\big(\pi(a|s)-\pi_{old}(a|s)\big)^2. \tag{7}

为什么这一步代换是合法的: 一阶泰勒展开 πθ(as)πold(as)+θπθ(as)θoldΔθ\pi_\theta(a|s)\approx\pi_{old}(a|s)+\nabla_\theta\pi_\theta(a|s)^\top|_{\theta_{old}}\Delta\theta 和经典策略梯度理论里贯穿始终使用的线性化完全一样(它正是策略梯度定理本身成立所依赖的那个近似)——这里没有引入任何新奇的东西,只是把标准一阶微积分一以贯之地应用了一遍。

第三步——提出 πold(as)\pi_{old}(a|s),暴露出比率。πold(as)2\pi_{old}(a|s)^2 对平方项做乘除:(π(as)πold(as))2πold(as)=πold(as)(π(as)πold(as)1)2=πold(as)(rs,a1)2\frac{(\pi(a|s)-\pi_{old}(a|s))^2}{\pi_{old}(a|s)} = \pi_{old}(a|s)\left(\frac{\pi(a|s)}{\pi_{old}(a|s)}-1\right)^2 = \pi_{old}(a|s)(r_{s,a}-1)^2。代回去正好得到上面的 Eq. 5(去掉因子 2,论文把它吸收进重新定义的常数里):DKL12aπold(as)(rs,a1)2D_{KL}\approx\frac{1}{2}\sum_a \pi_{old}(a|s)(r_{s,a}-1)^2

第四步——读出逐 token 的几何距离。 把注意力限制在实际被采样到的单个 token aa 上(而不是对整个词表求和——这个限制正是让逐 token 裁剪变得可行的”Binary”式简化),这次更新移动的几何距离是

dgeom(πold,π)πold(as)(rs,a(θ)1)2.(8)d_{geom}(\pi_{old},\pi) \propto \pi_{old}(a|s)\cdot(r_{s,a}(\theta)-1)^2. \tag{8}

为什么这一个方程是整篇论文的核心。 把 Eq. 8 和 PPO-Clip 隐含衡量的量做对比:dclip=(r(θ)1)2d_{clip}=(r(\theta)-1)^2——和 Eq. 8 是同一个公式,只是少了 πold(as)\pi_{old}(a|s) 这个因子。PPO-Clip 不是”对 Eq. 8 有一些误差的近似”;它就是 Eq. 8 把整个 πold\pi_{old} 依赖性悄悄丢掉之后的样子,这正是为什么论文把它称为几何失配,而不仅仅是”一些噪声”或”一个本来就正确的界上的一点松弛”。一个稀有 token(πold\pi_{old} 很小)的真实几何距离,被这个微小因子压缩了,而 PPO-Clip 假设的却没有被压缩;一个主导 token(πold\pi_{old} 接近 1)的真实几何距离基本没被压缩,也就是说 PPO-Clip 低估了主导 token 更新实际移动策略的幅度,同时高估了稀有 token 更新移动策略的幅度。

在数值例子上量化这个失配

把前面两个例子 token 代入 Eq. 8,两者的比率都取 r=1.2r=1.2(PPO 裁剪边界处的比率):

  • 高概率 token,πold=0.8\pi_{old}=0.8:dgeom=0.5×0.8×0.22=0.016d_{geom}=0.5\times0.8\times0.2^2=0.016
  • 低概率 token,πold=0.01\pi_{old}=0.01:dgeom=0.5×0.01×0.22=0.0002d_{geom}=0.5\times0.01\times0.2^2=0.0002

图3对比图

图 3(对比图,复现论文 3.2 节的说明性数字):在 PPO-Clip 认为对两个 token”策略变化量相同”的同一个比率偏差 r1=0.2|r-1|=0.2 下,真实的黎曼距离相差 80 倍——高概率 token 是 0.0160.016,而低概率 token 只有 0.00020.0002

论文把这一点形式化为它的核心负面结果:

命题 3.1。 PPO-Clip 错误地使用欧氏度量来衡量策略之间的差异,与策略黎曼流形的几何不吻合。这导致低概率区域的更新过于保守,而高概率区域的更新过于激进,最终引发探索坍缩。

这句话值得用大白话再说一遍,因为很容易读过去就忘:PPO-Clip 出问题,不是因为 ϵ=0.2\epsilon=0.2 这个”数字选错了”——没有任何单一固定数字能选对,因为诚实衡量之下,正确的信任域半径根本不是一个常数;它是一个随 πold(as)\pi_{old}(a|s) 缩放的量。任何单一固定的 ϵ\epsilon,不管调得多精细,相对于一个真正均匀的 KL 预算,永远会对高概率 token 约束不足、对低概率 token 约束过度。像 DAPO 那样拓宽或收紧 ϵ\epsilon,只是在同一条本就校准错误的曲线上换了个点——它无法修正错误校准本身的形状,只能挪动它。

flowchart LR
    A["两个 token,PPO-Clip 规则下比率偏差都是 r=1.2"] --> B1["高概率 token pi_old=0.8"]
    A --> B2["低概率 token pi_old=0.01"]
    B1 --> C1["真实几何距离:0.016(大)"]
    B2 --> C2["真实几何距离:0.0002(极小,小80倍)"]
    C1 -.->|"PPO-Clip 对两者一视同仁 -> 对这个约束不足"| D["探索坍缩:\n高概率 token 摆动过度自由,\n低概率 token 几乎不动"]
    C2 -.->|"PPO-Clip 对两者一视同仁 -> 对这个约束过度"| D

图 4(数据流 / 诊断图):追踪同一个共享裁剪边界,如何仅仅因为 token 起始概率不同,就产生方向相反的两种错误校准——这一个机制,是论文对众多独立报告中观察到的探索坍缩现象给出的解释。

Riemannian Isometric Clip(RIC):修正方案,逐步推导

建立等距约束

如果单 token 更新的真实几何距离是 Eq. 8,那么自然的修正就是要求每次更新都消耗相同的几何距离,而不是相同的比率偏差:

dgeom(πold(as),π(as))12πold(as)(rs,a(θ)1)2δ.(9)d_{geom}(\pi_{old}(a|s), \pi(a|s)) \triangleq \frac{1}{2}\pi_{old}(a|s)\,(r_{s,a}(\theta)-1)^2 \le \delta. \tag{9}

这对应论文里的 Eq. 9(本文编号与论文保持一致)。可以这样理解:“不管这是哪个 token,都不要让更新在真实(黎曼)信任域单位下移动超过 δ\delta。“

求解比率上界

把 Eq. 9 对 rs,a(θ)r_{s,a}(\theta) 求解,只是两行代数变形,但值得完整地写出来,因为最终公式的形状正是整个实践贡献所在:

第一步。12πold(as)(rs,a(θ)1)2δ\frac{1}{2}\pi_{old}(a|s)(r_{s,a}(\theta)-1)^2\le\delta 出发。

第二步。 两边同除以 12πold(as)\frac{1}{2}\pi_{old}(a|s)(正数,不等号方向不变):(rs,a(θ)1)22δπold(as)(r_{s,a}(\theta)-1)^2 \le \frac{2\delta}{\pi_{old}(a|s)}

第三步。 两边开平方(两边都非负,合法):rs,a(θ)12δπold(as)|r_{s,a}(\theta)-1|\le\sqrt{\frac{2\delta}{\pi_{old}(a|s)}}

第四步。 把常数因子 2 吸收进重新定义的 δ\delta(论文明确这样做,所以最终公式和论文所有实验里出现的"δ\delta"都已经把这个因子吸收进去了),得到最终可实现的形式:

rs,a(θ)1ϵs,a(πold)=δπold(as).(10)|r_{s,a}(\theta)-1| \le \epsilon_{s,a}(\pi_{old}) = \sqrt{\frac{\delta}{\pi_{old}(a|s)}}. \tag{10}

这一个闭式表达式,Eq. 10,就 Riemannian Isometric Clip(RIC)。留意它的形状:当 πold(as)0\pi_{old}(a|s)\to 0(一个非常稀有的 token)时,ϵs,a\epsilon_{s,a}\to\infty——裁剪基本上消失了,让更新几乎不受约束地通过(因为移动一个概率接近零的 token 的真实几何代价本身就接近零,不管比率表面上看起来有多大)。当 πold(as)1\pi_{old}(a|s)\to 1(一个几乎确定的 token)时,ϵs,aδ\epsilon_{s,a}\to\sqrt{\delta}——一个小而紧的上界(因为对一个接近确定的 token,任何比率变动都对应着一次大的绝对概率摆动,而这正是一个真正的信任域应该限制的东西)。

为什么恰好是平方根?再用一种方式建立直觉

值得停下来想一想,为什么这个修正恰好是 ϵs,a=δ/πold(as)\epsilon_{s,a}=\sqrt{\delta/\pi_{old}(a|s)} 这个形状——一个倒数的平方根——而不是某种其他随 πold\pi_{old} 单调递减的函数,因为这个形状不是随意选的,理解它能让这个公式变得容易记住,而不只是可以推导出来。

原因一:Eq. 9 里的二次型在求解 rr 时必然产生平方根。 这是纯代数上的原因(上面已经逐步展示过了),但值得再说一遍为什么 dgeomd_{geom}(r1)(r-1) 之间是二次(而不是线性)关系:这直接来自 KL 散度的二阶泰勒展开(Eq. 4)——KL 散度在 π=πold\pi=\pi_{old} 处梯度为零(一个分布相对自身的散度为零,这是一个局部最小值),所以它在这一点附近展开的主导阶项必然是二次的,而不是线性的。任何从函数在其自身最小值处的二阶泰勒展开构造出来的量,都会产生二次关系,而对一个上界求解二次关系自然会产生平方根——这和标准差归一化的量的置信区间按 n\sqrt{n} 而不是按 nn 缩放,是同一个道理。

原因二:与”距离”概念的量纲一致性。 可以把 δ/πold\sqrt{\delta/\pi_{old}} 想象成扮演类似标准差的角色。如果你把 πold(as)(r1)2\pi_{old}(a|s)(r-1)^2 想成结构上类似一个平方 z-分数——(观测偏差)2^2 / (一个尺度因子)——那么求解偏差本身自然会产生平方根,和把目标方差换算成目标标准差完全一样。这不是巧合:底层的量 1πold(as)\frac{1}{\pi_{old}(a|s)} 扮演的正是逆方差的角色(回想 Eq. 12 的方差分析:重要性采样估计量对稀有样本的方差按 1/πold1/\pi_{old} 缩放)——让 Eq. 12 里稀有样本方差爆炸的正是同一个 1/πold1/\pi_{old} 因子,开根号之后,恰好就是 RIC 用来放宽稀有样本裁剪边界(Eq. 10)的那个因子。这不是 1/πold1/\pi_{old} 两次不相关地出现;这是同一个统计事实(稀有事件每次观测携带更多”意外性”)在两个相关的地方分别显现——一次是作为方差惩罚(如果不处理就是坏事),一次是作为修正后的裁剪边界(修正方案本身)。

原因三:两个极限行为恰好是一个真正的信任域应该有的样子。 作为两个极端的合理性检验:一个 πold1\pi_{old}\to1 的 token(策略已经很确定)应该几乎没有空间可以移动而不产生大的绝对概率变化,所以真实的信任域应该很紧——确实,ϵs,aδ\epsilon_{s,a}\to\sqrt{\delta},一个小常数。一个 πold0\pi_{old}\to0 的 token(基本从未被采样过的动作)即便概率翻很多倍,移动的绝对概率质量依然几乎为零,所以真实的信任域应该很松——确实,ϵs,a\epsilon_{s,a}\to\infty。两个极限都符合直觉;相比之下,一个线性(而不是平方根)关系,在这两个极端里至少会有一个矫枉过正或矫枉不足。

重新审视数值例子:套用 RIC 之后

δ=0.02\delta=0.02(论文对这个例子给出的说明性数值):

  • 高概率 token,πold=0.8\pi_{old}=0.8:ϵs,a=0.02/0.8=0.0250.158\epsilon_{s,a}=\sqrt{0.02/0.8}=\sqrt{0.025}\approx0.158,最大更新后概率为 0.8×1.1580.9260.8\times1.158\approx0.926——比 PPO-Clip 的 0.960.96 更紧
  • 低概率 token,πold=0.01\pi_{old}=0.01:ϵs,a=0.02/0.01=21.414\epsilon_{s,a}=\sqrt{0.02/0.01}=\sqrt{2}\approx1.414,最大更新后概率为 0.01×2.4140.0240.01\times2.414\approx0.024——超过 PPO-Clip 的 0.0120.012 两倍。

关键在于,两次更新现在都恰好消耗 dgeom=δ=0.01d_{geom}=\delta=0.01(把吸收进 δ\delta 的因子 2 考虑进去之后)的几何信任域预算——代回 Eq. 8 直接验证:0.5×0.8×0.15820.010.5\times0.8\times0.158^2\approx0.01,0.5×0.01×1.41420.010.5\times0.01\times1.414^2\approx0.01。这就是”等距”的字面含义:不是说比率边界相同(显然不是——0.1580.1581.4141.414),而是说每次更新被允许移动的几何距离相同。

flowchart TB
    IN["逐 token 更新:pi_old(a|s),提议比率 r"] --> CALC["计算动态裁剪宽度:\nepsilon_s,a = sqrt(delta / pi_old(a|s))  Eq.10"]
    CALC --> CHECK{"|r - 1| <= epsilon_s,a 吗?"}
    CHECK -- "是" --> PASS["梯度原样通过\n(更新消耗 <= delta 的几何距离)"]
    CHECK -- "否" --> CLIP["把 r 裁剪到 [1-epsilon_s,a, 1+epsilon_s,a]\n(更新被限制在恰好 delta 的几何距离)"]
    PASS --> OUT["把 r * A_hat 计入 RIPO 目标函数,Eq.11"]
    CLIP --> OUT

图 5(数据流 / 流程图):Riemannian Isometric Clip 完整的逐 token 决策过程。和 PPO 单一的全局 ϵ\epsilon 不同,这里的裁剪宽度是根据每个 token 自身的 πold(as)\pi_{old}(a|s) 重新计算的——唯一的新计算只是对两个已有标量做一次平方根。

RIPO 完整目标函数

把 RIC(Eq. 10)代入 GRPO 目标函数(替换掉 GRPO 固定的 ϵ\epsilon),得到完整的 RIPO 训练目标:

JRIPO(θ)=EqD,{oi}i=1Gπθold(q)[1i=1Goii=1Gt=1oimin(ri,t(θ)A^i,t, clip(ri,t(θ),1ϵi,t(πθold),1+ϵi,t(πθold))A^i,t)].(11)J_{RIPO}(\theta) = \mathbb{E}_{q\sim D,\{o_i\}_{i=1}^G\sim\pi_{\theta_{old}}(\cdot|q)}\left[\frac{1}{\sum_{i=1}^G|o_i|}\sum_{i=1}^G\sum_{t=1}^{|o_i|}\min\Big(r_{i,t}(\theta)\hat{A}_{i,t},\ \operatorname{clip}\big(r_{i,t}(\theta),\,1-\epsilon_{i,t}(\pi_{\theta_{old}}),\,1+\epsilon_{i,t}(\pi_{\theta_{old}})\big)\hat{A}_{i,t}\Big)\right]. \tag{11}

注意相对于 GRPO 原始目标(前置知识部分的 Eq. 2)没有改变的部分:组相对优势 A^i,t\hat{A}_{i,t}(Eq. 3)、token 级损失聚合、min-裁剪-未裁剪的结构。唯一的改变是单一标量 ϵ\epsilon 变成了逐 token 函数 ϵi,t(πθold)=δ/πθold(oi,tq,oi,<t)\epsilon_{i,t}(\pi_{\theta_{old}})=\sqrt{\delta/\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})}。这正是为什么论文能把 RIPO 呈现为一个近乎”即插即用”的替换:训练循环的其余部分——rollout 采集、奖励打分、优势计算、梯度聚合——完全没有变化。

伪代码(在 GRPO/PPO 训练步骤内做逐 token RIC 掩码):

for each response o_i sampled from behavior policy pi_theta_old:
    for t in 1..|o_i|:
        pi_old_t   = pi_theta_old(o_i[t] | q, o_i[:t])       # 反正算比率也要用到
        pi_new_t   = pi_theta(o_i[t] | q, o_i[:t])           # 反正算比率也要用到
        r_t        = pi_new_t / pi_old_t
        eps_t      = sqrt(delta / pi_old_t)                  # 唯一新增的计算:一次开方,一次除法
        r_clipped  = clip(r_t, 1 - eps_t, 1 + eps_t)
        term_t     = min(r_t * A_hat_i, r_clipped * A_hat_i)  # 和原版 PPO/GRPO 一样的 min 结构
    loss += -mean_t(term_t) over all tokens in this response
loss = mean over all responses in the group (token-mean aggregation, as in DAPO)

实现的改动量真的很小:eps_t = sqrt(delta / pi_old_t) 替换掉现有 PPO/GRPO 代码里的一个常数 eps = 0.2——其余一切(数据采集、奖励打分、优势估计、min/clip 结构本身)与基线完全一样。这一点值得强调,因为它直接解释了为什么论文的实验部分能跑这么多配置(四个模型家族、七个基准、PPO 迁移、代码/搜索泛化)——被测试的改动确实和流程里的其他一切正交,所以每个实验都是对同一行代码的一次干净、受控的替换。

为什么”双重裁剪”这个实现细节很重要

论文从此前工作(Ye 等人,2020;DAPO、DCPO 沿用,现在 RIPO 也沿用)继承的一个实现细节是双重裁剪(dual clipping):除了 Eq. 10 给出的上下界之外,比率还会被进一步硬性限制在一个绝对范围内,这里是 [0.5,10][0.5, 10]。即便有了 RIC 的动态边界,为什么这还是必要的?考虑一个 πold(as)=106\pi_{old}(a|s)=10^{-6} 的 token(在一个 15 万 token 的词表、一条长序列里,这是完全可能出现的极端稀有 token):Eq. 10 给出 ϵs,a=δ/106\epsilon_{s,a}=\sqrt{\delta/10^{-6}},当 δ=0.05\delta=0.05 时,ϵs,a224\epsilon_{s,a}\approx 224——一个巨大、实际上没有边界的裁剪宽度。如果没有一个绝对上限,一个极端稀有的 token,一旦比率碰巧飙升,原则上就可能获得天文数字般巨大的梯度权重,这会重新引入一种不同类型的不稳定性(数值上的,而不是几何上的),而 Eq. 10 本身并不能防范这一点。[0.5,10][0.5,10] 的双重裁剪是叠加在几何驱动的边界之上的一道务实的安全护栏——对于任何旧概率不是趋近于零的 token,它不改变 RIC 的核心逻辑,但它能防止极端尾部出现病态的梯度尖峰。

一份可以直接跑的参考实现

上面的伪代码故意写得像自然语言一样直白,但更值得把这个改动摆成一段真实的 PyTorch 训练代码来看——这样”这是一行代码的补丁”这个说法就能对照代码直接核实,而不是听凭一句断言。下面的片段假设 log_pi_oldlog_pi_new 是已经算好的逐 token 对数概率(任何 PPO/GRPO 实现算比率时本来就要算这个),advantagesdelta(信任域预算,一个标量超参数)已给定:

import torch

def ppo_clip_loss(log_pi_new, log_pi_old, advantages, eps=0.2, dual_clip=10.0):
    """基线 PPO/GRPO 裁剪:每个 token 用同一个固定 eps。"""
    ratio = torch.exp(log_pi_new - log_pi_old)
    unclipped = ratio * advantages
    clipped = torch.clamp(ratio, 1 - eps, 1 + eps) * advantages
    surrogate = torch.min(unclipped, clipped)
    # 双重裁剪:在此基础上再叠加一个对比率本身的绝对硬上限
    surrogate = torch.where(ratio > dual_clip, torch.min(surrogate, advantages), surrogate)
    return -surrogate.mean()


def ripo_clip_loss(log_pi_new, log_pi_old, advantages, delta=0.05, dual_clip=(0.5, 10.0)):
    """RIPO / RIC 裁剪:eps_t 现在是 pi_old 的逐 token 函数。"""
    pi_old = torch.exp(log_pi_old)                          # 唯一新增的张量
    ratio = torch.exp(log_pi_new - log_pi_old)
    eps_t = torch.sqrt(delta / pi_old.clamp_min(1e-12))      # Eq. 10,逐 token 计算
    lower, upper = 1 - eps_t, 1 + eps_t
    unclipped = ratio * advantages
    clipped = torch.clamp(ratio, lower, upper) * advantages
    surrogate = torch.min(unclipped, clipped)
    # 双重裁剪依然是对原始比率的绝对上下限,和 PPO-Clip 完全一样
    lo, hi = dual_clip
    surrogate = torch.where((ratio < lo) | (ratio > hi), torch.min(surrogate, advantages), surrogate)
    return -surrogate.mean()

逐行对比这两个函数:ppo_clip_lossripo_clip_loss 除了恰好三处不同之外完全一致——新增的 pi_old 张量、把常数 eps 换成 eps_t = torch.sqrt(...) 那一行,以及 torch.clamp 里用 lower, upper(现在是张量,批次里每个 token 各有一个值)取代 1 - eps, 1 + eps(标量,原样广播给每个 token)。其余每一行——比率计算、unclipped/clipped 的替代目标构造、两者取 min 的结构、双重裁剪安全护栏、最后的求均值取负——都是逐字节相同的函数体。这是对论文”RIC 是修正公式而非新算法”这一说法最直观的演示:代码审查者比对这两个函数的 diff,看到的是三行改动,而不是重写。

一次完整的小批量手算追踪

为了把逐 token 的机制彻底讲清楚(而不是只停留在上面的一般性描述),下面给出 ppo_clip_lossripo_clip_loss 在一个精心挑选的四 token 小批量上的一次完整前向计算,这四个 token 特意跨过了论文自己给出的 δ=0.02\delta=0.02 交叉点(RIC 的边界恰好等于 PPO 固定 ϵ=0.2\epsilon=0.2 时的旧策略概率,代数上是 πold=δ/ϵ2=0.02/0.04=0.5\pi_{old}=\delta/\epsilon^2=0.02/0.04=0.5——低于这个概率 RIC 比 PPO 更宽,高于这个概率 RIC 比 PPO 更窄)。假设这四个 token 恰好都有比率 r=πnew/πold=1.1r=\pi_{new}/\pi_{old}=1.1(相对旧策略增加 10% 的概率——每个 token 的比率都相同,这样结果的任何差异就完全来自裁剪边界本身,而不是比率),优势 A^=+1\hat{A}=+1(正优势动作,替代目标函数希望提高这个 token 的概率),PPO 固定 ϵ=0.2\epsilon=0.2,RIPO 用论文自己给出的示例值 δ=0.02\delta=0.02:

Tokenπold\pi_{old}rrPPO-Clip [,][\text{下},\text{上}]PPO 会裁剪吗?RIPO ϵs,a=δ/πold\epsilon_{s,a}=\sqrt{\delta/\pi_{old}}RIPO [,][\text{下},\text{上}]RIPO 会裁剪吗?
A(极稀有)0.0011.1[0.8,1.2][0.8, 1.2]不会(1.1 在区间内)204.472\sqrt{20}\approx4.472[3.472,5.472][-3.472, 5.472]不会
B(稀有)0.021.1[0.8,1.2][0.8, 1.2]不会(1.1 在区间内)1=1.000\sqrt{1}=1.000[0.000,2.000][0.000, 2.000]不会
C(过了交叉点)0.61.1[0.8,1.2][0.8, 1.2]不会(1.1 在区间内)0.03330.183\sqrt{0.0333}\approx0.183[0.817,1.183][0.817, 1.183]不会
D(主导)0.91.1[0.8,1.2][0.8, 1.2]不会(1.1 在区间内)0.02220.149\sqrt{0.0222}\approx0.149[0.851,1.149][0.851, 1.149]不会

乍一看这次追踪毫无亮点——r=1.1r=1.1 舒舒服服地落在 PPO 的 [0.8,1.2][0.8,1.2] 区间以及每个 token 各自的 RIC 区间之内,四个 token 在两种方案下都没被裁剪,所以四个 token 的梯度步长(未裁剪的 rA^=1.1r\hat{A}=1.1)在两种方法下完全一样。对于这个特定比率来说,这个观察是正确且重要的:RIC 对已经安全地落在两种边界之内的中等比率偏移不会带来任何改变——它的效果集中在边界附近。 现在把同样的追踪重复一遍,但把每个 token 的比率都推到更大的 r=1.3r=1.3(增加 30%,足以超出 PPO 对所有四个 token 的边界,足以超出 RIC 对 C、D 两个 token 的边界,但仍然在 RIC 对 A、B 两个 token 那宽得多的边界之内),看两种方法到底在哪里分道扬镳:

Tokenπold\pi_{old}rrPPO 在 1.21.2 处裁剪吗?PPO 保留的替代目标值RIPO 在哪里裁剪?RIPO 保留的替代目标值
A(极稀有)0.0011.3min(1.3,1.2)=1.2\min(1.3,1.2)=1.2不会——RIPO 上界是 5.4725.472,远高于 1.31.3min(1.3,5.472)=1.3\min(1.3,5.472)=1.3(未裁剪——完整梯度)
B(稀有)0.021.31.21.2不会——RIPO 上界是 2.0002.0001.31.3(未裁剪)
C(过了交叉点)0.61.31.21.2会——RIPO 上界是 1.1831.183min(1.3,1.183)=1.183\min(1.3,1.183)=1.183
D(主导)0.91.31.21.2会——RIPO 上界是 1.1491.149min(1.3,1.149)=1.149\min(1.3,1.149)=1.149

第二次追踪正是论文的数值例子(3.1 节)在摘要里描述的机制,现在以带完整算式核对的显式前向计算展示出来:PPO-Clip 对四个 token 一视同仁——每一个都在同样的 1+ϵ=1.21+\epsilon=1.2 处被裁剪,贡献完全相同的 1.2×A^=1.21.2\times\hat{A}=1.2 替代目标值,不管这个 token 是千分之一概率的稀有事件(A)还是已经 90% 的时候都是主导选择的常见 token(D)。RIPO-Clip 对四个 token 区别对待,而且区别的方向恰好是论文认为正确的方向,分界点恰好落在上面推出的 πold=0.5\pi_{old}=0.5 交叉点上:token A 和 B(两者 πold<0.5\pi_{old}<0.5)——稀有的、对探索有意义的 token——完全不受阻碍地通过,保留了完整的替代目标值(1.31.3,比 PPO 会保留的值大约多 8.3%8.3\%),而 token C 和 D(两者 πold>0.5\pi_{old}>0.5)——已经很常见的 token——依然被裁剪,而且裁剪边界(1.1831.1831.1491.149)比 PPO 统一的 1.21.2 更紧,而不是更松。这个批次上的净效果:RIPO 在 PPO 曾经悄悄截断梯度的两个稀有 token 上保留了 100% 的梯度大小,同时对两个常见 token 收得比 PPO 那套一刀切的边界严——同一个公式(Eq. 10)同时产生了这两种修正,因为它们其实是同一个几何事实在交叉点两侧的两种表现。

理论:为什么等距更新也顺带修好了一个方差问题

这一节解释 RIC 一个不那么显眼的第二个好处,论文把它推导为同一套几何论证的推论:底层重要性采样估计量在偏差-方差权衡上变得更有利。

离策略估计里的方差问题

对于一个通过重要性采样估计的离策略目标,Exπ[A(x)]=Exπold[r(x)A(x)]\mathbb{E}_{x\sim\pi}[A(x)]=\mathbb{E}_{x\sim\pi_{old}}[r(x)A(x)]——这个恒等式是无偏的,但可能有巨大的方差。方差由二阶矩项主导(平方均值项相对可以忽略,这是重要性采样理论里的一个标准结果):

Vxπold[r(x)A(x)]Exπold[r(x)2A(x)2]=xπold(x)r(x)2A(x)2.(12)\mathbb{V}_{x\sim\pi_{old}}[r(x)A(x)] \approx \mathbb{E}_{x\sim\pi_{old}}\big[r(x)^2A(x)^2\big] = \sum_x \pi_{old}(x)\,r(x)^2 A(x)^2. \tag{12}

为什么方差会爆炸: 定义每个样本的方差贡献 v(x)=πold(x)r(x)2=πold(x)(π(x)/πold(x))2=π(x)2/πold(x)v(x)=\pi_{old}(x)r(x)^2=\pi_{old}(x)\cdot\big(\pi(x)/\pi_{old}(x)\big)^2=\pi(x)^2/\pi_{old}(x)。当稀有样本 xxπold(x)0\pi_{old}(x)\to0 时,这个量会爆炸——这是重要性采样的经典长尾病态,稀有事件伴随着大比率,主导(并破坏)了方差。

PPO-Clip 如何处理这个问题——用偏差换方差

PPO-Clip 的截断 r(x)1+ϵr(x)\le1+\epsilon 免费缓解了这个方差爆炸问题:对于一个接近裁剪边界的样本,v(x)=πold(x)(1+ϵ)20v(x')=\pi_{old}(x')(1+\epsilon)^2\to0,当 πold(x)0\pi_{old}(x')\to0 时,因为比率被限定了上限,而不是允许它无限增长。但论文明确指出这是有代价的:裁剪把这些样本对目标函数的贡献完全丢弃了,用偏差换取了方差降低。这是一个真实的权衡,不是免费的午餐——PPO-Clip 是在选择用较低方差,来换取对那些恰恰对探索最重要的稀有、有信息量样本更高的偏差。

RIC 如何同时实现更低的方差更低的偏差

RIC 依分布而定的阈值 r(x)1+δ/πold(x)r(x)\le1+\sqrt{\delta/\pi_{old}(x)} 改变了这个计算。一个接近这个裁剪边界的样本的方差贡献是:

v(x)=πold(x)(1+δπold(x))2πold(x)δπold(x)=O(δ),(13)v(x') = \pi_{old}(x')\left(1+\sqrt{\frac{\delta}{\pi_{old}(x')}}\right)^2 \approx \pi_{old}(x')\cdot\frac{\delta}{\pi_{old}(x')} = O(\delta), \tag{13}

明确地把这个近似过程走一遍: 展开平方,(1+δ/πold(x))2=1+2δ/πold(x)+δ/πold(x)\left(1+\sqrt{\delta/\pi_{old}(x')}\right)^2 = 1 + 2\sqrt{\delta/\pi_{old}(x')} + \delta/\pi_{old}(x')。当 πold(x)\pi_{old}(x') 很小时,最后一项占主导(当 πold(x)0\pi_{old}(x')\to0 时它会爆炸,而另外两项保持有界),所以 v(x)πold(x)δ/πold(x)=δv(x')\approx\pi_{old}(x')\cdot\delta/\pi_{old}(x') = \delta——πold(x)\pi_{old}(x') 这个因子恰好抵消了主导项里的爆炸,留下一个恒定的方差贡献(O(δ)O(\delta)),不管样本有多稀有。这个恒定方差的性质叫同方差性(homoscedasticity)——方差在整个 πold\pi_{old} 取值范围内都一样,相对于 PPO-Clip 的异方差(依赖概率大小)方差而言。

为什么这在实践中很重要: 因为 RIC 的方差被一个常数 O(δ)O(\delta) 界定住了,不需要像 PPO-Clip 那样为了固定阈值而丢弃稀有样本——RIC 依然约束着稀有 token 的更新,但阈值是按 1/πold1/\sqrt{\pi_{old}} 缩放的,而不是固定的,所以更多稀有但有信息量的样本能在方差受控的同时不被裁剪掉。这就是为什么 RIC 能同时降低探索坍缩的偏差问题方差爆炸问题的形式化论证——它们其实是同一个底层欧氏-黎曼失配的两个症状,修正几何就能同时修好两者。

图6方差推导数学可视化

图 6(方差推导的数学可视化):PPO-Clip 在其裁剪边界附近的方差贡献是 πold(x)(1+ϵ)2\pi_{old}(x')(1+\epsilon)^2,它随 πold(x)0\pi_{old}(x')\to0 而消失,仅仅是因为固定阈值 ϵ\epsilon 最终把整个稀有样本的贡献都裁剪掉了。RIC 的方差贡献按构造在所有 πold(x)\pi_{old}(x') 上都保持在 O(δ)O(\delta)——这就是”几何等距意味着统计同方差”(论文 4.2 节)的代数内容。

同方差性论断的一个数值表格

为了让 Eq. 13 里”恒定 O(δ)O(\delta)“的论断不只是符号层面的,下面是几个 πold(x)\pi_{old}(x') 取值下裁剪边界处实际的方差贡献数值,取 δ=0.05\delta=0.05,和 PPO-Clip 的 ϵ=0.2\epsilon=0.2 做对比:

πold(x)\pi_{old}(x')PPO-Clip 的 ϵs,a\epsilon_{s,a}(固定)PPO-Clip 的 v(x)=πold(1+ϵ)2v(x')=\pi_{old}(1+\epsilon)^2RIC 的 ϵs,a=δ/πold\epsilon_{s,a}=\sqrt{\delta/\pi_{old}}RIC 的 v(x)δv(x')\approx\delta
0.50.50.20.20.5×1.44=0.720.5\times1.44=0.720.10.316\sqrt{0.1}\approx0.3160.05\approx0.05
0.10.10.20.20.1×1.44=0.1440.1\times1.44=0.1440.50.707\sqrt{0.5}\approx0.7070.05\approx0.05
0.010.010.20.20.01×1.44=0.01440.01\times1.44=0.014452.236\sqrt{5}\approx2.2360.05\approx0.05
0.0010.0010.20.20.001×1.44=0.001440.001\times1.44=0.00144507.07\sqrt{50}\approx7.070.05\approx0.05
0.00010.00010.20.20.0001×1.44=0.0001440.0001\times1.44=0.00014450022.4\sqrt{500}\approx22.40.05\approx0.05

把最后两列放在一起看:RIC 的裁剪宽度对于极稀有 token 确实会爆炸式增长(必然如此,正如前面讨论过为什么依然需要 [0.5,10][0.5,10] 的双重绝对裁剪作为安全护栏)——但它的方差贡献πold\pi_{old} 跨越四个数量级的范围内基本钉死在 δ=0.05\delta=0.05 附近。相比之下,PPO-Clip 的方差贡献在同样的范围内缩小了四个数量级(从 0.720.72 降到 0.0001440.000144)——这听起来像好事(方差更低!),直到你想起主推导里提到的,这种表面上的方差降低完全是靠丢弃稀有样本对目标函数的贡献换来的(权衡的偏差那一侧),而不是估计质量真正有什么提升。

实验:剖析 RIPO 的收益到底从哪里来

论文跑了一套确实很宽的实验组合,从旗舰级数学推理对比,到定位”RIPO 到底为什么赢”的针对性诊断,再到检验数学之外的泛化性。下面逐一走一遍。

实验设置

  • 模型: Qwen3-1.7B-Base、Qwen3-4B-Base、Qwen3-8B-Base、Llama3.2-3B-Instruct——横跨两个模型家族,参数量范围约 5 倍。
  • 基线: GRPO(原版 PPO-Clip)、DAPO(Clip-Higher)、GSPO(序列级裁剪)、GMPO(几何平均比率裁剪)、DCPO(动态自适应裁剪)——五种不同的此前裁剪机制,都共享 GRPO 的组相对优势估计器。
  • 训练数据: DAPO-Math-17k(17,917 道题),每题 8 次 rollout,最大回答长度 16,384 token,每轮 RL 迭代 1,024 次 rollout(训练 batch size 128,每个 batch 做 8 次梯度更新,mini-batch size 16),300 步收敛,AdamW,恒定学习率 10610^{-6},基于 VeRL,8×A100 GPU。所有方法都去掉了 KL 惩罚项(遵循 DAPO/DCPO 的标准做法),GRPO/DAPO/DCPO/RIPO 都套用了双重裁剪 [0.5,10][0.5,10]
  • 评估: 七个去污染的竞赛级数学基准——AIME24、AIME25、AMC23、HMMT25、BRUMO25、CMIMC25、SMT25——用 Avg@8(每题 8 个样本取平均)来保证稳定性。
  • RIPO 唯一的超参数: 默认 δ=0.05\delta=0.05(对称的上下预算)。

主结果:复现 Table 1

方法Qwen3-1.7B-BaseLlama3.2-3B-InstructQwen3-4B-BaseQwen3-8B-Base
Base(无 RL)6.93.513.811.5
GRPO11.26.425.728.5
DAPO12.4(+10.7%)7.4(+15.6%)27.1(+5.4%)30.6(+7.4%)
GSPO13.3(+19.0%)7.2(+12.5%)26.8(+4.3%)32.1(+12.6%)
GMPO13.9(+24.1%)7.4(+15.6%)28.4(+10.5%)35.3(+23.9%)
DCPO14.8(+32.1%)6.9(+7.8%)27.8(+8.2%)34.5(+21.1%)
RIPO15.4(+37.2%)8.6(+34.4%)30.1(+17.1%)38.5(+35.1%)

图 7(论文 Table 1 复现为柱状图):七个数学基准上的平均 Avg@8,按基座模型和 RL 算法分组

图 7(论文 Table 1,复现为上方柱状图):七个数学基准上的平均 Avg@8,按基座模型和 RL 算法分组。百分比是相对同一基座模型上 GRPO 的相对提升。RIPO 在每一个基座模型上都是最好的方法,而且它相对次优基线的差距在更大的模型上(Qwen3-4B/8B)进一步扩大,说明几何失配随着模型规模增大,只会更重要,而不是更不重要。

值得停下来体会的一个规律是:RIPO 相对 GRPO 的优势随模型规模增大(37.2% → 34.4% → 17.1% → 35.1%,跨模型家族不是单调的,但从不小),而且尤其在最难的基准上(AIME24、BRUMO25)相对更容易的基准(AMC23)进一步拉大差距。这正是论文诊断所预测的:更难的题目需要更真实地探索稀有但正确的推理路径,而这恰恰是比率-vs-几何距离失配在绝对量级上最大的场景。

RQ:训练动态实际上是什么样子?

论文没有只报告最终数字,而是为 Qwen3-8B-Base 在全部六种方法下可视化了四个训练动态信号:

图 8(论文 Fig. 1,训练动态,从原始 PDF 截取):六种 RL 算法在 DAPO-Math-17k 上训练 Qwen3-8B-Base 的评估准确率、策略熵、梯度范数、裁剪比例曲线

图 8(论文 Fig. 1,训练动态——复现自原始 PDF):(a)训练步数上的 AIME24 评估准确率;(b)策略熵;(c)梯度范数;(d)被裁剪 token 的比例。

逐个面板解读:

(a)评估准确率。 RIPO(红色)只用 40 步就达到了 GRPO 训练 200 步的准确率——论文称之为”五倍的 token 效率”——而且它的曲线平滑上升,没有其他一些方法曲线里可见的骤降,意味着 RIPO 没有出现”中途坍缩再恢复”的模式。

(b)策略熵。 这是对探索坍缩诊断最直接的视觉印证。GRPO 的熵(蓝色)迅速坍缩到接近零——策略变得几乎确定,也就是停止了探索。DAPO 的熵(橙色)则相反,几乎不受控制地增长,论文将其解读为过度的、破坏稳定性的探索(Clip-Higher 矫枉过正)。RIPO 的熵先下降(正常,训练早期利用容易获得的收益)然后稳定在一个适中、非零的水平——既不坍缩也不爆炸,正是几何论证所预测的”持续但有界的探索”。

(c)梯度范数。 其他每种方法都表现出明显的震荡和偶发的尖峰(DAPO 视觉上最极端,和面板(b)的熵爆炸相符)。RIPO 的梯度范数在整个训练过程中几乎是平的——这是对同方差方差论证(Eq. 13)的直接经验支持:如果每个被裁剪样本的方差贡献确实是恒定的,那么聚合梯度范数确实应该比异方差估计量更稳定。

(d)被裁剪 token 的比例。 DCPO 和 GMPO 几乎从不触发裁剪(裁剪比例很低);GSPO 和 DAPO 裁剪的 token 数量级要高得多。RIPO 落在这两个极端之间——论文将其解读为 RIPO 的信任域”校准得当”的证据:既不会松到几乎不介入(冒着信任域最初想防止的那种不稳定性的风险),也不会紧到不停触发(冒着重蹈探索坍缩问题的风险)。

消融实验:RIPO 对它唯一的新超参数有多敏感?

δlow\delta_{low}0.020.050.050.080.050.080.08
δhigh\delta_{high}0.020.040.050.080.020.020.04
Avg@8(AIME24)40.841.743.842.128.827.527.9

图 9(论文 Fig. 2,从原始 PDF 截取):RIPO 在七种不同 delta_low/delta_high 配置下的奖励和策略熵训练曲线

图 9(论文 Table 2 + Figure 2,复现自原始 PDF):RIPO 在七种不同 {δlow,δhigh}\{\delta_{low},\delta_{high}\} 配置下的奖励和熵训练曲线。

结果清晰地分成了两种情形。对称或轻微不对称δ\delta 取值(0.020.020.080.08,δlowδhigh\delta_{low}\approx\delta_{high})全都落在一个狭窄的 40.840.843.843.8 Avg@8 区间内——对具体选取的数值确实很稳健,这在实践中很重要,因为意味着 δ\delta 不需要针对每个任务做昂贵的调参。高度不对称的配置(δlow=0.02,δhigh=0.08\delta_{low}=0.02,\delta_{high}=0.08 或类似)坍缩到 27272929 Avg@8——一次巨大、突然的下降。论文的解释,可以直接从奖励/熵曲线(图 9 面板(b))看出来:不对称裁剪”让动作概率变得更容易上升、更难下降”,于是一个本应该下降的 token 概率反而不受控制地持续上升,产生熵爆炸和随之而来的奖励崩溃。设计上的教训: 一个校准良好的信任域必须以匹配的方式同时约束概率移动的两个方向——过度放松一侧、同时保持另一侧收紧,会重新引入一个新的、不对称版本的、RIPO 本来就是为了消除的那种失配问题。

与其他裁剪动机的对比(Table 3)

基准GRPOGPPOClip-CovRIPO
AIME2431.731.7(+0.0%)36.3(+4.6%)43.8(+12.1%)
AIME2520.823.8(+3.0%)22.9(+2.1%)29.2(+8.4%)
AMC2366.673.4(+6.8%)66.6(+0.0%)79.7(+13.1%)
HMMT2512.914.2(+1.3%)11.7(−1.2%)16.7(+3.8%)
BRUMO2533.338.3(+5.0%)36.3(+3.0%)47.5(+14.2%)
SMT2521.925.0(+3.1%)30.2(+8.3%)34.2(+14.2%)

GPPO(保留被裁剪 token 的梯度,而不是清零)和 Clip-Cov(裁剪高协方差 token 以调节熵)各自代表了一种和 RIC 的几何论证真正不同的修改裁剪的动机。两者相对 GRPO 都有适度、但不一致的增益(Clip-Cov 在 HMMT25 上甚至略有倒退)。RIPO 相对两者的差距要大得多,而且在每个基准上都一致——这是”针对同一个底层错误校准,一个有原则的几何重新推导,胜过针对相关但不同症状(梯度信息损失、熵调节)的启发式方法”的证据。

迁移到 PPO 目标(Table 4)

为了检验 RIC 的收益是不是 GRPO 组相对优势特有的,还是裁剪本身的性质,论文把 RIC 套用到了原版 PPO(带学习型价值模型和 GAE,Qwen2.5-Instruct,GSM8K,Avg@1)上:

模型规模PPO-ClipDAPO-ClipDCPO-ClipRIPO-Clip
0.5B58.058.7(+0.7)58.4(+0.4)61.1(+3.1)
1.5B79.280.9(+1.7)79.6(+0.4)81.6(+2.4)
7B91.790.8(−0.9)91.4(−0.3)93.5(+1.8)
14B93.293.6(+0.4)93.9(+0.7)94.4(+1.2)

图 10(论文 Fig. 3,从原始 PDF 截取):Qwen2.5-1.5B-Instruct 在 PPO-Clip、DAPO-Clip、DCPO-Clip、RIPO-Clip 下,GSM8K 上的训练动态

图 10(论文 Table 4 + Figure 3,复现自原始 PDF):Qwen2.5-1.5B-Instruct 在不同裁剪机制下,GSM8K 上的训练动态,展示了 PPO-Clip 严重的熵坍缩到接近零,对比 RIPO-Clip 持续维持的适中熵水平,以及 PPO/DAPO/DCPO 不断增长的梯度范数震荡,对比 RIPO-Clip 相对平滑的梯度范数。

注意 DAPO-Clip 和 DCPO-Clip 在 7B 规模上实际上弱于原版 PPO-Clip(负的增量)——提醒我们启发式裁剪修改并非普遍有益,可能因模型规模和目标函数不同而倒退。RIPO-Clip 在从 0.5B 到 14B 测试的每一个规模上都是正的,这是论文最有力的证据,说明收益来自裁剪几何形状本身被修正,而不是 GRPO 优势估计器或主实验所用特定模型家族特有的什么东西。

Pass@k:RIPO 是真的提高了能力上限,还是只是更快挑出赢家?

对任何 RL 方法都有一个自然的怀疑性问题:它究竟是真的拓展了模型能做的事情,还是只是让一个已经潜在存在的能力更容易被采样到(也就是说,从未调优的模型/GRPO 模型里采样足够多次,最终是不是也能追上)?论文用一次深入的 Pass@k 扫描(一直到 k=128k=128)在两个最难的基准上检验了这一点:

图 11(论文 Table 5 复现为折线图):AIME-25 和 HMMT-25 上 Base、GRPO、DAPO、DCPO、RIPO 在 Qwen3-8B-Base 上的 Pass@k 曲线,一直到 k=128

图 11(论文 Table 5,复现为上方折线图):AIME-25 和 HMMT-25 的 Pass@k 曲线,k{1,8,16,32,64,128}k\in\{1,8,16,32,64,128\},对比 Base、GRPO、DAPO、DCPO、RIPO。

基座模型的 Pass@k 曲线在大约 k=16k=16趋于平台——在两个基准上都是如此——从未调优的模型里采样更多,根本找不到更多正确解,说明这是一个真实的能力上限,而不只是采样预算的问题。GRPO、DAPO、DCPO 都在一定程度上抬高了这个上限,但到 k=64k=64128128 依然表现出边际递减。RIPO 的曲线一路爬升k=128k=128(在 AIME-25 上达到 60.0%,在 HMMT-25 上达到 45.3%,在每一个 kk 值上都是所有方法中最高的)——这是直接证据,说明 RIPO 不只是更高效地对已有能力重新排序,它真的在拓展策略能够抵达的正确推理路径集合,而这正是”修好探索坍缩”应该预测的结果:一个在训练中探索更广泛的策略,最终应该能在高采样预算下产生一个更多样化——因而也更大——的有效解集合。

数学之外的泛化:代码和多跳搜索

图 12(论文 Table 6 复现为分组柱状图):四个代码基准和四个多跳搜索基准上,Base、GRPO、RIPO 在 Qwen3-8B-Base 上的 Avg@8

图 12(论文 Table 6,复现为上方分组柱状图):四个代码基准(Codeforces、CodeContest、TACO、APPS;在 Eurus-Code 上训练)和四个多跳搜索基准(TriviaQA、PopQA、HotpotQA、WikiMultiHopQA;在 Search-R1 上训练)上,Base、GRPO、RIPO 在 Qwen3-8B-Base 上的 Avg@8。

RIPO 在代码平均上比 GRPO 相对提升 13.2%,在搜索平均上相对提升 15.1%——量级上和数学推理的增益相当,而且这些是性质上完全不同的任务家族(用测试用例通过/失败判分的竞赛编程;带外部搜索工具在环的多跳问答)。这种跨数学、代码、搜索的一致增益,是论文的证据,说明它抓住的机制——长尾 token 分布使得比率成为真实分布变化的一个糟糕代理——是 LLM 生成的一个普遍性质,而不是数学思维链特有的产物。

为什么一个由数学动机推导出的修复能迁移到代码和搜索?

值得停下来想一想为什么这种迁移并不是一件显而易见的事,因为论文的核心诊断例子(3.1 节)完全是用数学推理 token 来表述的。使这种迁移变得合理的论证,在于先找出论文的机制到底依赖于数学 token 分布的哪个具体性质,然后检查代码和搜索是否共享这个性质:

  • 这个机制依赖的是长尾、偏斜的 token 概率分布——而不是数学内容本身。 Eq. 8 的几何错配 dgeomπold(as)(r1)2d_{geom}\propto\pi_{old}(a|s)\cdot(r-1)^2 是关于任何旧策略概率很小的 token 的说法;它从未提及 token 在语义上代表什么。使数学推理成为一个好测试场的原因是,思维链数学生成恰好有一个特别长尾的词表:稀有 token 对应具体的数值、不常见的推导步骤、或不常用的符号操作,这些 token 单独看都很稀有,但合起来却占了区分正确与错误证明路径的很大一部分。
  • 代码生成也有类似——甚至更锐利的长尾。 一段正确的程序很多时候取决于选对一个特定、很少用的 API 调用、一个不常见的标准库函数,或一个不常见但必要的边界情况分支(例如特定的异常类型、一个很少被调用的辅助函数)。这正是 PPO-Clip 固定 ϵ=0.2\epsilon=0.2 会欠探索的那类 token:它们在旧策略下单独看很不可能,但很多时候对生成的程序能否通过测试套件起着决定性作用(Codeforces、CodeContest、TACO、APPS 都是通过/失败式评判,一个错误的稀有 token 选择就能把整个生成样本从正确翻转为错误)。
  • 多跳搜索有一种不同但同样长尾的结构:稀有实体。 TriviaQA、PopQA、HotpotQA 和 WikiMultiHopQA 都需要模型正确生成或检索特定的命名实体(人、地、日期),这些实体单独看在基础策略下无条件概率很低,但嵌入在其余流畅、高概率的文本中。一个因为 PPO-Clip 固定裁剪压制稀有实体 token 梯度而欠探索的策略,会系统性地在需要经过一个不常见中间实体的多跳步骤上失败——这恰恰就是 Table 6 中 RIPO 相对增益最大的地方(HotpotQA 和 WikiMultiHopQA 这两个真正的多跳基准,而不是单跳的 TriviaQA/PopQA)。

这个可以推广的说法,精确地表述就是:RIPO 的优势应该随一个任务的正确性有多依赖于稀有但具有决定性的 token 而缩放,而不是取决于任务是否属于数学。数学、代码、搜索因为不同的表面原因(稀有推导步骤、稀有 API 调用、稀有实体)都满足这个前提,这就是为什么论文在看似不相关的任务家族上都观察到了一致的两位数相对增益。这也预测了 RIPO 优势应该在哪里变小:那些正确性主要取决于常见、高概率 token 的任务(例如答案简短、常见的简单事实回忆)会让几何错配(对稀有 token 最大)没有多少发挥空间——这是一个论文并未明确检验的边界条件(见下面的批判性分析)。

符号对照表

符号含义
πθ\pi_\theta, π\pi当前/目标策略,由 θ\theta 参数化
πθold\pi_{\theta_{old}}, πold\pi_{old}生成数据的行为/rollout 策略(本次更新中参数冻结)
st=(q,o<t)s_t=(q,o_{<t})生成第 tt 步时的”状态”:prompt 加上此前已生成的 token
aa, oto_t一个动作 / 第 tt 个生成的 token
r(θ)r(\theta), rs,a(θ)r_{s,a}(\theta)重要性比率 $\pi_\theta(a
A^\hat{A}, A^i,t\hat{A}_{i,t}估计的优势(所有主实验里都是组相对优势,Eq. 3)
ϵ\epsilonPPO 固定、恒定的裁剪半宽(通常取 0.20.2)
ϵs,a(πold)\epsilon_{s,a}(\pi_{old})RIC 动态的、逐 token 的裁剪半宽,Eq. 10
δ\deltaRIPO 唯一的新超参数:每个 token 的目标几何(黎曼)距离预算
DKLD_{KL}Kullback-Leibler 散度
F(θ)F(\theta)Fisher 信息矩阵——参数空间上的局部黎曼度量
dgeomd_{geom}一次更新移动的真实几何(黎曼)距离,Eq. 8
dclipd_{clip}PPO-Clip 的比率偏差隐含假设的距离,(r1)2(r-1)^2
GGGRPO 一组内为每个 prompt 采样的 rollout 数量
ρπ\rho^\pi策略 π\pi 诱导的折扣状态访问分布(仅经典 RL 背景部分用到)

公式索引

方便在阅读上面的推导时快速查阅:

#说的是什么在哪里用到
Eq. 1TRPO 的 KL 约束信任域优化问题前置知识;RIPO 最终重新推导出的逐 token 版本所本的经典模板
Eq. 2固定 ϵ\epsilon 的 PPO-Clip 替代目标前置知识;后面每个公式都在修改的基线
Eq. 3GRPO 的组相对优势估计器前置知识;RIPO 未改动,全文都在用
Eq. 4KL 散度的二阶泰勒展开 \to Fisher 信息矩阵黎曼几何这一课;定义局部度量
Eq. 5逐状态 KL 散度写成 πold\pi_{old} 加权的比率偏差平方和黎曼几何这一课;背景知识里最重要的单个公式
Eq. 6Fisher 信息矩阵,用分数函数形式展开核心诊断推导,第一步
Eq. 7用原始概率差表示的 KL 散度核心诊断推导,第二步
Eq. 8逐 token 几何距离 dgeomπold(r1)2d_{geom}\propto\pi_{old}(r-1)^2核心方程——PPO-Clip 缺失的东西
Eq. 9等距约束:每个 token 都保持 dgeomδd_{geom}\le\deltaRIC 推导,建立约束
Eq. 10RIC 的最终公式:$\epsilon_{s,a}(\pi_{old})=\sqrt{\delta/\pi_{old}(as)}$
Eq. 11完整的 RIPO 训练目标(RIC 代入 GRPO)方法部分;实际优化的目标
Eq. 12重要性采样方差,由二阶矩项主导偏差-方差理论
Eq. 13RIC 的方差贡献化简为恒定 O(δ)O(\delta)(同方差性)偏差-方差理论;解释了图 8(c) 平坦的梯度范数

术语表:本文用到的所有缩写

  • RIPO —— Riemannian Isometric Policy Optimization,本文完整的训练算法(GRPO 目标 + RIC 裁剪)。
  • RIC —— Riemannian Isometric Clip,裁剪边界公式本身(Eq. 10);RIPO = GRPO + RIC。
  • TRPO —— 信任域策略优化(Schulman 等人,2015):证明了 KL 约束的单调改进界。
  • PPO —— 近端策略优化(Schulman 等人,2017):用比率裁剪近似 TRPO 的约束。
  • GRPO —— 组相对策略优化:用于 LLM RL 的无 critic 变体,保留 PPO 的裁剪,用组内归一化奖励替代价值函数。
  • DAPO —— 一个开源 GRPO 变体,引入了解耦的 Clip-Higher 和其他稳定性技巧。
  • GSPO —— Group Sequence Policy Optimization:通过几何平均比率聚合在序列级别做裁剪。
  • GMPO —— Geometric-Mean Policy Optimization:一个相关的几何平均比率裁剪变体。
  • DCPO —— Dynamic Clipping Policy Optimization:基于训练时统计量自适应调整裁剪阈值。
  • GPPO —— 一种保留被裁剪 token 梯度信息(而非清零)的裁剪变体。
  • Clip-Cov —— 按 token 与优势的协方差裁剪,而非按比率大小,用于调节熵。
  • GAE —— Generalized Advantage Estimation:PPO 迁移实验(Table 4)里用到的经典、基于 critic 的优势估计器。
  • KL —— Kullback-Leibler 散度,信任域文献核心的经典非对称分布距离度量。
  • MDP —— 马尔可夫决策过程。
  • Avg@kk —— 每题 kk 个独立样本的平均准确率(一种方差削减的准确率指标)。
  • Pass@kk —— kk 个独立样本中至少一个正确的概率(一种能力上限指标,不同于 Avg@kk)。
  • AIME、AMC、HMMT、BRUMO、CMIMC、SMT —— 用于评估的七个竞赛数学基准(美国数学邀请赛、美国数学竞赛、哈佛-MIT数学锦标赛、布朗大学数学奥赛、卡内基梅隆信息学与数学竞赛、斯坦福数学锦标赛)。
  • TACO、APPS —— 代码泛化检测中用到的竞赛编程基准数据集。
  • HotpotQA、WikiMultiHopQA —— 搜索泛化检测中用到的多跳问答基准。

相关工作地图:论文引用里的”谁是谁”

  • Schulman 等人(2015、2016、2017) —— 分别对应 TRPO、GAE、PPO;本文重新推导出修正版本所依赖的整个经典基础。
  • Shao 等人(2024) / Guo 等人(2025,DeepSeek-R1) —— GRPO 的起源及其最具影响力的大规模验证;RIPO 正是直接建立在这个目标之上。
  • Yu 等人(2025,DAPO) —— 用实验记录了探索坍缩,并提出 Clip-Higher 作为第一个启发式补丁;本文的诊断直接回应并超越了 DAPO 的修正。
  • Zheng 等人(2025,GSPO) / Zhao 等人(2025,GMPO) —— 序列级和几何平均裁剪变体;是 Table 1 的基线,也在上文”五个基线方法”中讨论过。
  • Yang 等人(2025b,DCPO) —— 动态自适应裁剪;精神上最接近的前序工作(自适应性),但是基于训练时间/统计量调整,而不是逐 token 的 πold\pi_{old}
  • Chen 等人(2025,CISPO)、Su 等人(2025,GPPO)、Gao 等人(2025,SAPO) —— 以梯度保留为动机的裁剪变体;GPPO 直接出现在 Table 3 中。
  • Cui 等人(2025b,Clip-Cov / 熵机制) —— 以熵调节为动机的 token 裁剪;直接出现在 Table 3 中。
  • Cobbe 等人(2021,GSM8K) —— PPO 迁移实验(Table 4)所用的小学数学基准。
  • Balunović 等人(2025,MathArena) —— 主对比实验所用的去污染竞赛数学基准套件(AIME/AMC/HMMT/BRUMO/CMIMC/SMT)的来源。
  • Sheng 等人(2025,HybridFlow/VeRL) —— 所有主实验使用的 RL 训练框架。
  • Jin 等人(2025,Search-R1) —— 泛化检测中多跳搜索训练数据和任务家族的来源。
  • Cui 等人(2025a,Eurus-Code / 过程强化学习) —— 泛化检测中代码训练数据的来源。

常见的误读

  • “RIPO 只是给稀有 token 放宽了裁剪。” 不完全对——它在放宽稀有 token 裁剪的同时收紧了常见 token 的裁剪,两者都是同一个公式(Eq. 10)的推论。只读到”放宽稀有 token”这一半,会让人错过 RIPO 消融实验(Table 2)里为什么不对称配置会灾难性失败:收紧的那一半同样承重。
  • “这和 DAPO 的 Clip-Higher 是同一个想法,只是用公式代替了猜测。” Clip-Higher 对每个 token 都统一改变一个常数。RIC 的边界是每个 token 自身概率的真正函数——同一个训练 batch 里,一个稀有 token 和一个常见 token 会得到不同的边界,而不只是这周的 DAPO 跑法和上周不一样。参见上文”五个基线方法,逐一列出公式”里的精确区分。
  • “黎曼几何意味着这篇论文用了测地线/曲率/沉重的微分几何工具。” 并没有——参见上文”关于’黎曼’是营销包装还是真实机制的一点说明”。论文只用了 KL 散度的局部、二阶(Fisher 信息)近似,和 TRPO 自己在 2015 年所处的情形完全一样。
  • “RIPO 通过增加探索奖励来修好探索坍缩。” 完全没有增加任何新的奖励或奖励项。修正完全通过重新校准现有裁剪允许哪些更新通过来实现——探索的改善是移除一个人为约束的副作用,而不是来自任何新的探索激励。
  • “方差/同方差性结果(Eq. 13)是一个独立的、第二个贡献。” 更好的理解方式是:这是同一个修正从另一个角度看到的样子——修好探索坍缩偏差问题的那个 πold\pi_{old} 依赖性,恰好也顺带拉平了重要性采样的方差。论文不是在叠加两个不相关的技巧;一个公式同时产生了两种效果。
  • “RIC 总是给稀有 token 比 PPO 更宽的裁剪边界。” 只有在交叉概率 πold=δ/ϵ2\pi_{old}=\delta/\epsilon^2 以下才成立(上面的小批量追踪已经明确算过这个数)——对于论文示例值 δ=0.02\delta=0.02 和 PPO 的 ϵ=0.2\epsilon=0.2,这个交叉点在 πold=0.5\pi_{old}=0.5。一个 πold=0.6\pi_{old}=0.6 的 token 从直观上看仍然算相当”稀有”,但 Eq. 10 在这个点上已经给它一个比 PPO 固定 0.20.2 更窄的边界了(就像工作追踪中的 token C 和 D 所展示的那样)——“稀有”和”在交叉点以下”并不是同一个阈值,把二者混为一谈,会让 RIC 在中等概率上的行为看起来仿佛自相矛盾,实则不然。

设计决策一览

决策RIPO 的做法显而易见的替代方案为什么替代方案有欠缺
裁剪边界用什么度量黎曼/KL 诱导的,依赖 πold\pi_{old}(Eq. 10)欧氏,固定常数 ϵ\epsilon(PPO 原本的选择)忽略了同样的比率偏差根据 πold\pi_{old} 不同,对应的真实分布变化可能天差地别(Eq. 8)
对称还是不对称 δ\delta默认对称 δlow=δhigh\delta_{low}=\delta_{high}不对称预算(像 DAPO 那样 ϵlowϵhigh\epsilon_{low}\ne\epsilon_{high})Table 2 的消融显示不对称 δ\delta 会导致熵爆炸和奖励崩溃——移动的两个方向必须一起被约束
散度约束用在哪个粒度逐 token(匹配 Eq. 5 的逐 token 加权)逐序列(像 GSPO 那样)序列级聚合抹平了 token 级噪声,但在序列层面重新引入了同样对 πold\pi_{old} 视而不见的欧氏假设
是否保留绝对双重裁剪 [0.5,10][0.5,10]保留,叠加在 RIC 之上完全依赖 RIC 的动态边界对于极小的 πold\pi_{old}(比如 10610^{-6}),RIC 的边界单独会变得数值上巨大——绝对裁剪是应对这种边界情况的廉价安全护栏
是否连带改变优势估计器不改——GRPO 的组相对优势(或 PPO 迁移里的 GAE)保持不变连同优势估计器一起重新设计保持优势估计器不变,能干净地隔离出裁剪的贡献,这正是 Table 4 的 PPO 迁移实验能够证明 RIC 泛化到 GRPO 之外的原因

一个值得随手备用的推导事实:交叉点本身在什么 δ\delta 上会碰到合法概率范围的边缘?δ/ϵ2=1\delta/\epsilon^2=1δ=ϵ2\delta=\epsilon^2,对 PPO 标准的 ϵ=0.2\epsilon=0.2 来说就是 δ=0.04\delta=0.04。这一个数把论文自己的 δ\delta 消融范围(Table 2:δ[0.02,0.08]\delta\in[0.02,0.08])分成了两个性质不同的区间:

Table 2 测试的 δ\delta交叉点 πold=δ/0.04\pi_{old}=\delta/0.04区间
0.020.020.50.5双向:πold>0.5\pi_{old}>0.5 时比 PPO 窄,πold<0.5\pi_{old}<0.5 时比 PPO 宽
0.030.030.750.75双向,交叉点向更高概率方向移动
0.040.041.01.0临界情况:RIC 的边界只有在 πold=1\pi_{old}=1 时才等于 PPO(对任何真正存在不确定性的 token 永远不会达到)
0.050.05(主实验默认值)1.251.25单向:对所有合法 πold(0,1]\pi_{old}\in(0,1] 都比 PPO 宽
0.080.082.02.0单向,宽度更均匀

这意味着论文自己测试的 δ\delta 范围大致的上半部分(从 0.040.04 往上,包括用于 Table 1 头条结果的 0.050.05 默认值)都工作在单向更宽的区间里,而只有下四分之一(δ0.04\delta\le0.04)真正产生了常用来直观描述 RIC 的”对常见 token 收紧、对稀有 token 放宽”这种双向行为。两种区间都是同一个等距公式(Eq. 10)的合法应用,也都被 Table 2 的鲁棒性论断所覆盖,但它们对应着 RIC 在训练动态上实际做了什么这件事的两幅不同图景。

方便想对照原文一起读的读者,以下是论文自己的章节编号和本文标题的对应关系:

论文章节内容本文对应位置
Abstract诊断和修正的一段话摘要一句话总结
§1 Introduction动机、三段式贡献总结一句话总结;核心要点
§2.1 Trust Region Policy OptimizationTRPO 背景前置知识 → “从 MDP 到信任域”
§2.2 Proximal Policy Optimization and ClipPPO 背景前置知识 → “从 MDP 到信任域”
§2.3 Group Relative Policy Optimization and VariantsGRPO + DAPO/DCPO/GSPO/GMPO/CISPO/GPPO/SAPO 背景前置知识 → “GRPO”;“五个基线方法”
§3.1 Exploration Collapse of PPO-Clip经验症状、数值例子核心诊断 → “经验症状”;“走一遍数值例子”
§3.2 Geometric Mismatch in Policy Divergence欧氏 vs 黎曼推导(Eq. 3–8)黎曼几何这一课;“逐步推导几何失配”
§4.1 Riemannian Isometric ClipRIC 的推导(Eq. 9–11)“Riemannian Isometric Clip:修正方案,逐步推导”
§4.2 Geometric Isometry Implies Homoscedasticity偏差-方差理论(Eq. 12–14)“理论:为什么等距更新也顺带修好了一个方差问题”
§4.3 Riemannian Isometric Policy Optimization完整 RIPO 目标”RIPO 完整目标函数”
§5.1 Experimental Setup模型、基线、训练/评估协议”实验设置”
§5.2 Main ResultsTable 1”主结果:复现 Table 1”
§5.3 Training Dynamics and AnalysisFigure 1”RQ:训练动态实际上是什么样子?”
§5.4 Ablation StudyTable 2、Figure 2”消融实验”
§5.5 Comparison with Other ClippingsTable 3(GPPO、Clip-Cov)“与其他裁剪动机的对比”
§5.6 Transfer to PPO ObjectiveTable 4、Figure 3”迁移到 PPO 目标”
§5.7 RIPO Breaks through the Capacity BoundariesTable 5,Pass@k”Pass@k:…更快挑出赢家?”
§5.8 Generalization to Coding and Search TasksTable 6”数学之外的泛化”
§6 Conclusion总结总结

前后对比:这篇论文如何改变了默认的 RL 配方

方面之前(PPO/GRPO 默认)之后(RIPO)
裁剪边界固定常数 ϵ\epsilon(如 0.20.2),对词表里每个 token 都一样逐 token $\epsilon_{s,a}(\pi_{old})=\sqrt{\delta/\pi_{old}(a
策略空间上的隐含度量欧氏(比率偏差),和信任域本该遵循的 KL 诱导几何悄悄失配黎曼(KL/Fisher信息诱导),匹配信任域最初想要近似的理论
对稀有低概率 token 的行为系统性更新不足——比率大,裁剪狠,允许的绝对概率变化极小允许更大的绝对概率变化,因为它们真实的几何”代价”很小
对主导高概率 token 的行为相对其真实几何代价约束不足——比率看起来不大,却能摆动大量概率质量约束得更紧,与给定比率变化实际代表多少概率质量成比例
重要性采样方差异方差——方差贡献依赖 πold\pi_{old},除非裁剪掉(引入偏差)否则会对稀有样本爆炸同方差——不管 πold\pi_{old} 是多少,方差贡献恒为 O(δ)O(\delta)(Eq. 13)
引入的新超参数——一个:δ\delta,在 [0.02,0.08][0.02,0.08] 对称范围内被证明稳健
与现有优势估计器的兼容性——不变——同时用 GRPO 的组相对优势(主实验)和经典 GAE(PPO 迁移实验)验证过
承压下的典型失效模式探索不足则探索坍缩(熵 → 0),补丁打得太猛(如 DAPO 的不对称拓宽)则不稳定仅当 δlowδhigh\delta_{low}\ne\delta_{high} 差距很大时才出现熵爆炸和奖励崩溃(Table 2)——一个新的,但已被充分刻画的失效边界

实践建议:把 RIC 套进现有的 PPO/GRPO 流程

对于已经有 GRPO 或 PPO 训练循环的团队,论文的证据建议了以下低风险的采纳路径:

  1. 找到代码库里计算 eps = 0.2(或从配置读取)并套用 clip(ratio, 1-eps, 1+eps) 的那一行。
  2. 把常数换成逐 token 的函数:eps_t = sqrt(delta / pi_old_t),其中 pi_old_t 就是同一个已经在计算比率时使用的旧策略概率——不需要新的前向传播,不需要新记录任何量。
  3. 从论文的默认值附近开始试 δ\delta(数学数据上 GRPO 式训练默认 0.050.05),先检查消融范围(0.020.020.080.08 对称)而不是先去尝试不对称配置,因为论文 Table 2 显示不对称 δ\delta 恰恰是可能灾难性失败的那种情形。
  4. 保留双重裁剪的绝对安全护栏(比如 [0.5,10][0.5, 10])和 RIC 一起用——这是针对极端稀有 token 上数值病态比率的廉价保险,对任何正常出现的 token 概率都不会和 RIC 的动态边界产生不良交互。
  5. 在一次短的试跑中观察熵和梯度范数曲线,而不只是最终准确率——图 8 的面板(b)和(c)是最快能看出 RIC 是否按预期工作的早期信号(适中、稳定的熵;低震荡的梯度范数),而不是配置错误。

关于主实验里 δ\delta 实际工作区间的一个微妙之处

本文前面的小批量手算追踪用的是论文自己 3.1 节的示例值 δ=0.02\delta=0.02,这个值产生的交叉概率是 πold=δ/ϵ2=0.5\pi_{old}=\delta/\epsilon^2=0.5——舒服地落在合法的 (0,1](0,1] 概率范围之内,所以那个例子确实展示了 RIC 对常见 token(πold>0.5\pi_{old}>0.5)收紧边界、对稀有 token(πold<0.5\pi_{old}<0.5)放宽边界。但论文主实验的实际默认值是 δ=0.05\delta=0.05(前面复现性笔记里写明了),这会改变算式:用 δ=0.05\delta=0.05 和 PPO 标准的 ϵ=0.2\epsilon=0.2,交叉点是 πold=0.05/0.22=1.25\pi_{old}=0.05/0.2^2=1.25——一个超出合法概率范围 (0,1](0,1] 的值。实际后果是:对于任何真实能出现的 token 概率(πold(0,1]\pi_{old}\in(0,1]),0.05/πold>0.2\sqrt{0.05/\pi_{old}}>0.2 始终成立(检验极端情况 πold=1\pi_{old}=1:0.050.224>0.2\sqrt{0.05}\approx0.224>0.2),也就是说在论文实际的默认超参数下,RIC 的裁剪对主实验里的每一个 token 都比 PPO 固定边界更宽,没有哪个 token 会更窄。 这并不与论文的论点矛盾——RIC 是等距的(每个 token 的几何距离恒定,Eq. 8)而 PPO 不是,这个定性论断无论 δ\delta 取什么值都成立,因为等距性质(Eq. 8 在 πold\pi_{old} 上保持平坦)说的是边界的形状,而不是它相对某个特定基线常数是更宽还是更窄。一个整体更宽的裁剪依然和 Table 1 的准确率增益、图 8 持续的熵水平结果相容:这只是意味着,在这个特定的(δ\delta, ϵ\epsilon)工作点上,论文的主实验测的是 RIC 在整个概率范围内普遍放松探索、而不是在任何地方收紧的一种情形——上面的交叉点分析和小批量追踪依然是推理任何其他(δ,ϵ\delta,\epsilon)组合的正确方法,但读者不应该假设”有些 token 变紧、有些变松”这种说法字面上就是论文自己报告数字的写照,除非先检查自己用的 δ\delta 落在哪个区间。

论文承认的局限与边界条件(以及一些论文没有完全展开的)

  • 核心推导是一个局部(二阶)近似。 Eq. 4 对 KL 散度的泰勒展开只在策略与 πold\pi_{old}接近时才准确——这本就是信任域方法设计上运作的场景,但这意味着 RIC 的保证严格来说是局部保证,而不是全局保证。论文没有探讨在非常大的单步更新下(比如异常高的学习率)会发生什么,这种情况下二阶近似本身就会开始失效。
  • 对单 token 的”Binary 式”限制(从 Eq. 7 的整个词表求和,简化到 Eq. 8 的单一动作公式,是隐含使用了这种限制)忽略了分布其余部分的变化。 正如本博客同期审读的 DPPO 论文(一篇密切相关的同期工作)发现,Binary 散度估计可能错过采样 token 自身概率几乎不变、但周围分布重新洗牌了很多的情形,RIPO 的逐 token RIC 公式原则上有着同样的盲点——它不检查其他 token 的概率是否发生了变化,只检查被采样到的那一个。
  • δ\delta 依然是一个单一的全局超参数,尽管论文的贡献恰恰是让逐 token 的裁剪宽度变得自适应。信任域的”半径” δ\delta 本身没有针对任务、模型规模,或者训练过程本身(比如随训练推进退火)做自适应——消融实验(Table 2)只在训练的某一个固定时间点探索了一个固定范围,而没有探讨随着策略逐渐成熟,最优的 δ\delta 本身是否也会变化。
  • 所有主实验都是在带规则式可验证奖励的数学数据上训练的。 更接近 RLHF、奖励噪声更大的场景(学习型奖励模型、人类偏好数据)在这篇论文里完全没有测试——密切相关的 DPPO 论文明确包含了 RLHF 对齐实验(HH-RLHF、UltraFeedback),而本文没有,所以 RIPO 在更嘈杂、不可验证奖励下的表现,这篇论文本身并没有验证过。
  • 训练-推理不匹配(rollout 引擎和训练引擎对完全相同参数给出的概率之间的差距)在本文中完全没有讨论,尽管这在密切相关的 DPPO 论文和实际的大规模 RL 系统里是一个明确存在的问题。如果 rollout 引擎测得的 πold\pi_{old} 和用来计算 ϵs,a=δ/πold\epsilon_{s,a}=\sqrt{\delta/\pi_{old}} 的值之间哪怕有轻微差异,等距性保证的推导隐含假设了这个量是被一致测量的——论文没有测试对这种常见的实际失效模式的鲁棒性。
  • 测试过的最大模型是 8B(稠密)或 30B-A3B(MoE,论文可见部分中只是一带而过,没有完整实验细节)——没有在 70B+ 或前沿规模下做实验,而这篇论文的一些论断(比如”RIPO 随模型规模有效地扩展”,基于 1.7B→4B→8B 这个范围内的规律)就需要检验这个趋势到底是持续、饱和还是逆转。

批判性分析:不足与可改进之处

这篇论文证据里具体的不足与缺陷。 首先,摘要里那句”在 AIME24 上比 GRPO 最高提升 60%“是对 Table 1 中单个最大比基准、比模型增量的有选择性引用(Qwen3-1.7B-Base:GRPO 11.3 → RIPO 18.3 接近 +62%,而该模型真正的跨基准平均提升是更温和的 +37.2%)——论文自己 Table 1 的平均列才是更公平的汇总统计量,而只浏览摘要的读者很容易得到一个被抬高了的典型增益印象。其次,展示 δ\delta 鲁棒性的消融实验(Table 2)只在单一模型(Qwen3-8B-Base)、单一基准(AIME24)上跑了——一个更有说服力的鲁棒性论断,至少应该在两个模型规模、两个基准上展示同样的 δ\delta 不敏感模式,因为完全有可能”安全”的对称 δ\delta 区域会随着模型规模或任务难度而移动,而这个单一消融实验无法揭示这一点。第三,论文从未报告计算 δ/πold(as)\sqrt{\delta/\pi_{old}(a|s)} 相对于基线 PPO/GRPO 中固定常数 ϵ\epsilon实际耗时或 FLOP 开销——虽然每个 token 一次开方和除法相对于穿过十亿参数模型的前/后向传播几乎肯定微不足道,但论文声称自己是”便宜”的、即插即用的替换,如果能给出实测的吞吐量对比而不是隐式地假设开销微不足道,说服力会更强。

论文低估或避而不谈的局限。 基线集(GRPO、DAPO、GSPO、GMPO、DCPO、GPPO、Clip-Cov)对于裁剪机制变体来说已经相当全面,但论文从未与那些通过完全不同机制处理探索崩塌的 RL 算法做对比——比如显式的熵奖励正则化,或基于 KL 惩罚项的方法(论文明确地为所有方法去掉了 KL 惩罚项,遵循 DAPO/DCPO 的先例,这是标准做法,但也意味着对比集完全没有回答:一个调得好的 KL 惩罚项能不能通过完全不同、更简单的机制实现相似的探索收益)。考虑到这篇论文整个理论框架都建立在 KL 散度之上,实验部分居然没有任何一个直接的 KL 惩罚基线(而不是通过基于比率裁剪的代理来间接体现它),这是一个真实且有些意外的缺口——读者只能自己揣想,重新加回一个恰当缩放的 KL 惩罚项(而不是替换掉裁剪)是否能以远低于本文方法的概念新颖度代价,获得意义上相似的效果,而论文对这个显而易见的替代方案完全没有提及。

论文自己的实验设计无法揭示的一个边界条件。 上面关于”为什么一个由数学动机推导出的修复能迁移到代码和搜索”的论证暗示了一个可测试的预测,但论文从未陈述或检验它:RIPO 的优势应该是一个任务正确性对稀有 token 依赖程度的函数,这意味着它应该在以常见、高概率 token 为主的任务上可预测地变小。论文的四个任务家族(数学、竞赛代码、多跳搜索,乃至数学内部相对”较简单”的 AMC23 基准)都是特意选来考察推理密集、依赖稀有 token 的场景;论文里没有一个刻意选来做负面或近乎中性对照的任务——即在这个任务上应该预期有大增益。这就使读者无法区分”RIPO 在正确性依赖长尾稀有 token 的任务上有帮助”(论文隐含的说法)和”RIPO 不管 token 稀有度结构如何都总是有帮助”(一个更强、缺乏支撑的说法,而摘要的措辞在某种程度上因为省略而邀请了这种误读)。哪怕只增加一个刻意选来稀有-token 依赖度的额外基准——比如常见词汇的简单事实问答,预期 RIPO 增益应相应较小——也能让这个机制的边界条件变得可证伪,而不只是看起来说得通。

具体的改进建议。 (1)在至少两个模型规模上报告 δ\delta 消融实验(Table 2)(比如除了已经展示的 8B 模型之外,在 Qwen3-1.7B-Base 上重复一遍),以更充分地支撑”在很宽范围内都鲁棒”这个论断。(2)增加一个直接的 KL 惩罚基线(标准 PPO/GRPO 加上一个显式、单独调参的 βDKL(πoldπ)\beta\cdot D_{KL}(\pi_{old}\|\pi) 项加入损失,而不只是通过基于比率的裁剪来间接实现),以区分 RIPO 的收益到底有多少来自”在抽象意义上使用 KL 散度作为引导量”,多少来自论文这种”具体地在逐 token 裁剪边界内使用它”。(3)测量并报告 RIPO 相对 GRPO 在相同硬件下的训练吞吐量(tokens/sec 或 steps/hour),让”便宜、即插即用”这个说法在实证上无懈可击,而不只是从公式的简单性中推断出可信度。(4)至少测试一种带学习型、不完美奖励模型的设置(RLHF 风格),而不只是基于规则的可验证奖励,因为嘅声奖励信号可能会以某种干净的 0/1 可验证奖励设置无法揭示的方式,与 RIC 现在对稀有 token 更宽容的处理方式产生交互——例如,一个因奖励模型噪声而被虚假奖励的稀有 token,在 RIC 下现在会比在 PPO-Clip 下得到一个更大、更不受约束的更新,这取决于奖励模型的错误特性,可能是优点(从真实有信息量的稀有信号中更快学习),也可能是风险(放大噪声),而论文全部使用可验证奖励的实验设计无法区分这两种可能性。(5)明确测试对训练-推理不匹配的鲁棒性(故意在 rollout 概率和”真实”训练时概率之间引入一个可控的差异,正如同期的 DPPO 论文所做的那样),以检验等距性保证在其隐含假设被破坏时,是会优雅退化还是灾难性失效。

这项工作可能打开的后续研究方向

  • 自适应或退火式的 δ\delta 由于消融实验(Table 2)只在训练的某一个固定时间点测试了固定的 δ\delta,一个自然的扩展是在训练过程中对 δ\delta 做退火(比如早期放松以鼓励探索,随着策略成熟逐渐收紧)——类似学习率调度,但针对的是信任域半径本身。
  • 逐层或逐位置的 δ\delta 论文对哪些 token 被 PPO 错误裁剪的定性分析(相关的 DPPO 论文附录 D 中提到,这些 token 不成比例地是数值符号和话语连接词)暗示 δ\delta 本身或许应该在不同 token 类型之间是非均匀的,而不只是被 πold\pi_{old} 自动调整——这是本文没有探讨的开放问题。
  • 把 RIC 的校准和 DPPO 的显式散度估计结合起来。 正如下文对比部分所讨论的,一个自然的混合方案是计算一个显式的 Binary 或 Top-K 散度估计(DPPO 的做法),但用 RIC 的 πold\pi_{old} 感知公式来校准阈值,而不是用一个平坦的 δ\delta——这有可能同时捕获 DPPO 对未采样 token 分布变化的敏感性,和 RIC 有原则的逐 token 校准。
  • 在训练-推理不匹配下测试。 正如局限部分提到的,本文没有测试 RIC 对 rollout 引擎和训练引擎概率差异的鲁棒性(这在大规模 RL 系统中是一个实际存在的问题,同期的 DPPO 论文明确做了测试)——这是一个自然且实际重要的后续方向。
  • RLHF / 学习型奖励模型场景。 这里的所有实验都用规则式可验证奖励;测试 RIC 在更嘈杂、学习型奖励模型下的表现(如同期 DPPO 论文用 HH-RLHF 和 UltraFeedback 所做的那样)将澄清 RIC 对稀有 token 更宽容的处理方式,和奖励模型噪声之间是相容还是冲突。
  • 扩展到 8B/30B-A3B 之外的规模。 鉴于论文自己观察到 RIPO 相对 GRPO 的优势在 1.7B→4B→8B 这个测试范围内随模型规模增大而扩大,一个显而易见的开放问题是:这个趋势在前沿规模(70B+ 稠密或更大的 MoE)下会持续、趋于饱和,还是反转。

与同期工作的关系(DPPO)

本博客的读者可能会注意到这篇论文与 DPPO(Rethinking the Trust Region in LLM Reinforcement Learning,2026-07-11 已在本博客审读过)在主题上有相当重合——一篇几乎同时发布的论文,提出了结构上相似的论点:PPO 基于比率的裁剪,是一个对信任域真正应该衡量的东西而言嘅声、校准错误的代理,修正方法是用对分布式变化更直接的衡量,取代原始比率。值得精确区分一下两篇论文修正方案到底有何不同,因为表面上的说法(“比率裁剪坏了,用散度代替”)听起来几乎一模一样:

方面DPPO(2602.04879)RIPO(本文,2607.10169)
诊断出的根本原因比率是 TV 散度的单样本蒙卡罗估计——在巨大动作空间上是一个点估计,因此嘅声很大比率偏差用错误的(欧式)度量方式来衡量——校准错误是因为它完全无视 πold\pi_{old},而不是因为它嘅声
用什么取代比率阈值一个显式、单独计算的散度估计 D(μπ)D(\mu\|\pi)(Binary 或 Top-K 近似),与阈值 δ\delta 比较一个闭式重新推导,重新推导出比率阈值本身应该是什么,作为 $\pi_{old}(a
相对基线的额外计算每个 token 额外一小段散度计算(Binary:复用已有标量;Top-K:需要 top-K 查找)每个 token 一次开方、一次除法,用的是计算比率时已有的量
掩码行为二元通过/阻断决策(Mt{0,1}M_t\in\{0,1\})连续裁剪(与原版 PPO 相同的 min/clip 结构,只是边界是动态的)
理论基础针对序列级终止奖励重新推导的有限模型、无折扣 Kakade–Langford 性能差识定理token 级策略单形单体的黎曼尼/Fisher 信息几何,与地平线/折扣问题大体正交

这两篇论文与其说是竞争,不如说是互补:DPPO 的论点主要关于应该用什么量来决定是否掩码(一个真实的散度估计,而不是一个嘅声的比率代理),而 RIPO 的论点主要关于这个量应该如何校准(考虑一个平坦阈值忽略掉的、依赖于 πold\pi_{old} 的几何拉伸)。一个自然、目前尚未有人探索过的组合是:用 DPPO 式的显式散度估计,但用 RIPO 的 πold\pi_{old}-感知等距校准来计算和阈值化,而不是用一个平坦的 δ\delta——两篇论文都没有测试过这种混合方案,对于同时建立在两者之上的任何人来说,这是一个自然的下一步实验。

常见问题

RIPO 需要新的网络或损失项吗? 不需要。只需要改一行代码:裁剪边界的计算,从一个常数变成一个 πold(as)\pi_{old}(a|s) 的函数,而这个量在计算比率的地方已经现成可用。

RIC 的边界在哪个旧策略概率上,从”比 PPO 更宽”翻转成”比 PPO 更窄”? 恰好在 δ/πold=ϵ\sqrt{\delta/\pi_{old}}=\epsilon 处,即 πold=δ/ϵ2\pi_{old}=\delta/\epsilon^2。用论文示例值 δ=0.02\delta=0.02 和 PPO 标准的 ϵ=0.2\epsilon=0.2,交叉点在 πold=0.02/0.04=0.5\pi_{old}=0.02/0.04=0.5——比抛硬币还稀有的 token 得到比 PPO 更宽的裁剪,比抛硬币更常见的 token 得到更窄的裁剪。但要注意,论文主实验的实际默认值是 δ=0.05\delta=0.05 而不是 0.020.02——代入后交叉点是 πold=1.25\pi_{old}=1.25,完全超出合法的 (0,1](0,1] 范围(详见前面”关于 δ\delta 实际工作区间的一个微妙之处”一节),所以这个”一边变宽、一边变窄”的图景描述的是通用公式的行为,不一定是论文 headline 结果实际用的那组数字所对应的情形。

RIPO 会改变优势估计器吗? 不会。所有主实验都使用 GRPO 标准的组相对优势(Eq. 3)保持不变;PPO 迁移实验(Table 4)使用标准 GAE 保持不变。RIC 只触及裁剪边界。

δ\delta 难调吗? 论文的证据(Table 2)表明,在合理的对称范围内(0.020.020.080.08 已测试)并不难,但参见上面批判性分析中关于消融实验模型/基准覆盖面过窄的讨论。

RIC 只能在 GRPO 式训练中用吗? 不会——Table 4 显示 RIPO-Clip 干净地迁移到带学习型 critic 的原版 PPO 上,从 0.5B 到 14B 各个模型规模都成立。

“黎曼尼”只是为一个简单公式做包装吗? 最终公式(Eq. 10)确实很简单很容易实现,但推导过程确实依赖于标准的信息几何事实(Fisher-Rao 度量作为 KL 散度的局部二阶近似)——具体机制载入多少,参见上面”关于’黎曼尼’是营销包装还是真实机制的一点说明”。

这和 DAPO 的 Clip-Higher 有什么关系? Clip-Higher 对每个 token 都一律地拓宽裁剪上界;RIC 根据 token 自己的概率改变逐 token 的裁剪宽度,宽度可能比 PPO 基线更宽也可能更窄,具体取决于 token 是稀有还是常见。两者不是同一类修正——Clip-Higher 是对一个数字的全局重新调优,RIC 是对这个数字应该依赖什么的重新推导。

复现性笔记

  • 训练框架: VeRL(Sheng 等人,2025——HybridFlow),8×A100 GPU,所有主数学推理实验。
  • 训练数据: DAPO-Math-17k(17,917 道题)用于主数学推理对比;Eurus-Code 用于代码泛化检测;Search-R1 的训练集用于多跳搜索泛化检测。
  • 超参数(主对比): 每题 8 次 rollout,最大回答长度 16,384 token,每轮迭代 1,024 次 rollout,训练 batch size 128,每轮 8 次梯度更新,mini-batch size 16,AdamW 恒定学习率 1×1061\times10^{-6},300 步,无 KL 惩罚,双重裁剪 [0.5,10][0.5,10],RIPO 的 δ=0.05\delta=0.05
  • PPO 迁移实验超参数: GSM8K(7K 训练 / 1K 留出),Qwen2.5-Instruct 四个规模,最大回答长度 8,192,每轮迭代 256 次 rollout,训练 batch size 512,每轮 2 次更新,mini-batch size 256,AdamW 学习率 1×1061\times10^{-6},15 个 epoch(435 步)。
  • 评估协议: 主数学推理对比的七个基准——AIME24、AIME25、AMC23、HMMT25、BRUMO25、CMIMC25、SMT25——用 Avg@8(每题 8 个样本);GSM8K PPO 迁移检测用 Avg@1;代码/搜索泛化检测用 Avg@8。
  • 本文审阅范围内,论文未引用任何公开代码仓库——实现 RIC 只需要把 Eq. 10 这一个公式代入现有的 PPO/GRPO 裁剪中;论文的附录(本文未完整复现)可能包含泛化实验更多的超参数表格。
  • 本文自绘的图表(裁剪边界数学可视化、几何距离对比、Table 1/5/6 的图表化复现)直接从论文表格中的数字用标准绘图工具生成,以便比原始密集表格更容易浏览到定量规律;原始论文图片(训练动态、δ-消融动态、PPO 迁移动态)以从源 PDF 截图的形式复现,并注明了原始图号。

总结

RIPO 的贡献最好的理解方式是:一个尖锐的观察,一路追问到底,最后得到一个实用的修正。PPO 的比率裁剪一直感觉有点临时拼凑——为什么 ϵ=0.2\epsilon=0.2 在某些场景下还算管用,在另一些场景下又需要人工调参的补丁(Clip-Higher、动态裁剪、序列级裁剪)——原因在于它从来没有真正衡量它本来应该近似的那个量。一旦你显式地写下 KL 散度诱导的黎曼尼几何说真正的逐 token 信任域代价应该是什么(Eq. 8),修正方案就不再是一个新算法,而只是一个修正后的公式:把一个常数换成一个涉及 token 自身概率的平方根比值。这个方法在四个模型家族、数学与非数学任务上都胜过了五种更精巧、更启发式的方案——而且仍然是一个几乎即插即用、只改一行代码的改动——在这个 LLM RL 配方日益繁琐的时代,提醒着我们:回到第一性原理,修正真正的失配,往往能胜过在一个有缺陷的基础上叠加层层启发式补丁。