Paper Note · Rubric-based RL

CriPO:Rubric RL 缺的不只是探索,而是信号不被标量吞掉

这篇论文最有价值的贡献,是把 rubric-based GRPO 的失败拆成两类:模型从未采到某项行为,以及模型已经采到、却被总奖励的负 advantage 一并压掉。CriPO 用同一个模型构造带 criterion 的自教师,只在少数 token 上注入或纠正信号。发布方结果方向稳定,但“约 2×”只稳妥地指优化步数;完整训练每步更贵,四组 wall-clock 提前量从 2.56× 到几乎持平不等,且代码、随机种子、置信区间和 rubric 权重映射仍未公开闭环。

核心判断

CriPO 是一套有针对性的 credit-routing 方法,而不是“自蒸馏替代强化学习”。它保留 GRPO 作为全局优化骨架,再把 criterion 级信息路由到真正相关的 token:对从未满足的 criteria 做局部 forward-KL;对已经满足却被负总奖励压制的 criteria,只翻转被反事实教师定位到的 token advantage。这个组合比把整份 rubric 密集蒸馏到每个 token 更合理,也解释了为什么 standalone OPSD 在本文设置中会崩。

真正的新东西

“Suppressed Criteria”诊断,以及用反事实自教师做 token 定位后局部翻转 advantage;rubric-conditioned self-distillation 本身已有同期工作。

最强证据

两种 Qwen3 规模、五个医学/科学评测中,完整 CriPO 对 GRPO 为 10 胜 0 负,对 HeRL 也为 10 胜 0 负。

最大缺口

单次训练与 LLM judge 分数没有不确定性;主方法代码未公开,数据过滤、负权重映射和精确计算账本无法独立复现。

真实问题:多维标准被压成一个数以后,发生了什么

开放式医疗解释、科学问答和长文本没有唯一字符串答案。Rubrics as Rewards 的做法是:每道题带一组 criteria,judge 分别判断回答是否满足,再按权重聚合成标量奖励。GRPO 在同一 prompt 的一组 rollout 内标准化奖励,得到每条回答的 group-relative advantage,并把这个 advantage 广播到整条回答的所有 token。

这一步制造了两个不同问题。第一,某个 criterion 在当前八条 rollout 里一次都没出现,策略没有任何正样本可学;论文称为 Unexplored Criteria(UC)。第二,一条回答可能正确完成 criterion C3,却因为 C1、C2 做得差而拿到负 advantage;GRPO 会把 C3 对应的好片段和其他错误一起压低,论文称为 Suppressed Criteria(SC)

关键区别

UC 是“行为不存在”,需要注入新模式;SC 是“行为已经存在,但信用分配方向错了”,需要保护局部模式。用同一种全序列蒸馏同时处理两者,会把探索、归因和噪声混在一起。

在作者的一条 Qwen3-4B × RaR-Medicine 训练轨迹上,83.6%–85.6% 的样本含 UC,57.1%–57.7% 含 SC。摘要所写“平均 1.8 个 SC”只对应最早的 0–50 步;图中随后是 1.9、2.0、2.0,更准确的四阶段均值约为 1.93。这个现象值得重视,但它是特定模型、数据、judge 和训练轨迹上的发布方统计,不是 rubric RL 的普适常数。

先把两个失败模式写清楚

对 prompt (x),策略采样 (G) 条回答 (y_i)。criterion (c_j) 的二元得分为 (r_{ij}),权重为 (omega_j)。聚合奖励与组内 advantage 为:

\[ R_i=\frac{\sum_j \omega_j r_{ij}}{\sum_j\omega_j}, \qquad A_i=\frac{R_i-\mu_R}{\sigma_R+\epsilon}. \]

没有任何 rollout 满足的 criterion 构成 UC 集合:

\[ \mathcal C_u=\left\{c_j\;\middle|\;\forall i,\;r_{ij}=0\right\}. \]

令 (mathcal S_j) 为满足 (c_j) 的 rollout 索引。若这些 rollout 的 advantage 总和为负,或总和恰为零且满足率低于一半,作者就把它归入 SC:

\[ \mathcal C_s=\left\{c_j\;\middle|\;\mathcal S_j\neq\varnothing,\; \sum_{i\in\mathcal S_j}A_i\lt0 \;\lor\; \left(\sum_{i\in\mathcal S_j}A_i=0\land |\mathcal S_j|\lt G/2\right) \right\}. \]
这是诊断代理,不是精确梯度定理

真实 PPO/GRPO 梯度还受响应长度、token mean、importance ratio 与 clipping 影响;单看 (sum A_i) 不能完全等价于该 criterion 对参数的净梯度。尤其“恰好等于零”没有容差定义。SC 更适合被理解为一个实用筛选规则,而不是严格证明某项行为必然被优化器抹去。

机制拆解:两条局部修复路径

路径一:给 UC 注入模型从未采到的行为

选最好 rollout只处理组内最高 advantage 回答,尽量减少需要修改的内容。
构造 criterion 教师同一个模型额外看到完整旧回答与未满足 criteria,被要求最小改写。
按 KL 选 token计算 teacher→student forward KL,只保留累计贡献达到 95% 的最小 token 集。
局部蒸馏在学生自己的 rollout 前缀上更新,不把带 rubric 的改写当作新 rollout 直接训练。

对 token (t),student 分布为 (p_t^S),带 UC 的 self-teacher 分布为 (p_t^T)。CriPO 使用 forward KL,因为它更倾向让学生覆盖教师支持的模式:

\[ d_t=D_{\mathrm{KL}}\!\left(\operatorname{sg}(p_t^T)\,\|\,p_t^S\right), \qquad \mathcal T^u=\operatorname{TopCum}(\{d_t\};0.95). \]

作者只在第一批 RaR-Medicine 数据上展示:34.6% 的 token 承担 95% 的 KL。这个观察为稀疏更新提供动机,但不是跨训练阶段、跨模型的稳定统计;论文也没有给出 (gamma) 敏感性。

路径二:保护 SC 中已经出现的好片段

找负 rollout只看 advantage 为负、但仍满足某个 SC 的回答。
构造反事实教师要求同一模型删除或修改满足该 criterion 的部分,其他内容尽量不变。
定位差异 token原 token 在反事实下被显著降权,且教师明确偏好替代 token 时才选中。
翻转局部 advantage选中 token 统一设为 +0.1,其余 token 保留原负 advantage。
\[ \mathcal T_i^s=\left\{t\;\middle|\; \log p_{i,t}^S(y_{i,t})-\log p_{i,t}^T(y_{i,t})\gt0, \;p_{i,t}^T(y_{i,t})\lt0.1\max_v p_{i,t}^T(v) \right\}. \]
\[ \widetilde A_{i,t}=\begin{cases} 0.1,&t\in\mathcal T_i^s,\\ A_i,&\text{otherwise.} \end{cases} \qquad \mathcal L_{\mathrm{CriPO}}=\mathcal L_{\mathrm{GRPO}}+\beta\mathcal L_{\mathrm{OPSD}}. \]

这个设计的优点是克制:它不奖励整条错误回答,只保护被教师判定为 criterion-bearing 的局部 token。代价是 +0.1 与 criterion 权重、教师置信度、原负 advantage 大小都无关;若 token 定位错了,翻转就会把归因误差直接写入策略。

最容易被忽略的机制边界:它是后见 attribution,不是因果 attribution

两个 self-teacher prompt 都包含完整的旧回答,随后才要求“最小修改”。但论文公式把 teacher 简写成额外看到 criterion 与当前前缀 (y_{lt t}),容易让人误以为教师只基于因果前缀工作。实际提示意味着教师在给早期 token 分布时,已经从 privileged context 看过整条回答,包括未来后缀。

这并不会产生部署时的额外输入:教师只在训练中存在,student rollout 仍是 on-policy。可是它改变了信号含义。某个 token 的大 KL 可能因为教师看过后文后决定整句重写,而不代表该 token 在真实生成时因果地承担 criterion。对于 SC,所谓“token localization”更准确地说是完整回答条件下的反事实编辑显著性

独立判断

CriPO 把 on-policy 与 causal 混在了同一叙事里:轨迹来自当前策略,所以数据分布是 on-policy;教师却拥有完整回答和 criterion 反事实,因此监督是 hindsight-conditioned。要证明真正的 token 因果归因,需要与只看前缀的教师、遮蔽后缀、span deletion、integrated-gradient 或人工标注 span 对照。

新贡献、已有组件与工程组合

组件定位准确理解
Rubric-based GRPO已有RaR 已把 prompt-specific checklist 评分聚合成标量奖励;CriPO 沿用同一数据和 judge 接口。
Rubric-conditioned OPSD已有 / 同期RGSD、RCSD 已让带 rubric 的同模型教师提供 token-level 分布;CriPO 不是第一个提出这条主线。
GRPO + self-distillation已有趋势多项 OPSD/RLVR 工作已采用混合目标;论文自己也显示 dense standalone OPSD 在本设置中严重退化。
UC 的 best-rollout + KL token filter本文方法贡献只对最接近目标的回答做最小补丁,并过滤 prompt 扰动带来的低贡献 token。
SC 定义 + 反事实 advantage flipping本文核心新意显式识别“已经做对却被总分压掉”的 criterion,并只翻转相关 token,而非整条回答。

所以 CriPO 的最强贡献不是一个全新的训练范式,而是把 rubric 信息从“第二个密集损失”升级成故障触发、局部路由的修复信号。它回答的是“什么时候蒸馏、蒸馏哪些 token、什么时候只改 policy gradient”,而不是泛泛地说“文字反馈比标量奖励丰富”。

主结果复算:平均增益成立,但小模型更明显

训练模型为 Qwen3-1.7B 与 Qwen3-4B;医学、科学分别在过滤后的 RaR-Medicine / RaR-Science 上训练 200 步,每个 prompt 采样 8 条、最大回答 4,096 token。训练 judge 是 Qwen3-32B,主评估 judge 是 GPT-4o-mini;评估时只采样 1 条回答,temperature 0.7。

模型RaR-Med.HealthBenchLLMEval-MedRaR-Sci.ResearchQA五项平均
1.7B:GRPO49.260.558.566.661.359.22
1.7B:CriPO51.665.662.268.164.762.44(+3.22)
4B:GRPO60.269.867.874.468.768.18
4B:CriPO62.170.969.975.070.169.60(+1.42)

独立复算与论文的 +3.2、+1.4 一致。逐项差值在 1.7B 上为 +2.4、+5.1、+3.7、+1.5、+3.4;在 4B 上为 +1.9、+1.1、+2.1、+0.6、+1.4。完整 CriPO 对 HeRL 也在十个单元全部更高。方向性很整齐,但模型越强,平均增益越小;4B 的 RaR-Science 只有 +0.6,而论文没有多 seed 或 paired judge 置信区间,不能判断小差值有多少超过训练与评审噪声。

使用 Qwen3-32B 替代 GPT-4o-mini 做评估时,CriPO 相对 GRPO 的平均增益为 1.7B +3.4、4B +2.1,说明方向不只绑定一个 evaluator。不过训练期间同一个 Qwen3-32B 已经负责 rubric 打分,这个替代评估不算完全独立的人类或异构裁判。

消融支持“局部定位有用”,但覆盖仍窄

UC 路径去掉 KL token filter,医学三项平均从 66.4 降到 65.5;不选 best rollout 降到 65.6。SC 路径把 token localization 换成随机位置,平均从 68.9 降到 64.9,说明收益不是简单“给更多 token 正 advantage”。但消融只在 Qwen3-4B 的医学域完成,没有 (gamma)、(alpha)、( au_{flip})、criterion 数上限 (K=3) 或 teacher prompt 的敏感性曲线。

一个表内不一致

主表把 CriPO-S 的 LLMEval-Med 写为 72.4,消融表写为 72.9;后者才会得到消融所列 68.9 平均。这个 0.5 分差异不改变完整 CriPO 的主结论,但说明当前预印本的数值表还需要勘误。

“约 2×”到底指什么:步数、总时长和单位成本不是一回事

论文效率图把 GRPO 延长到约 400 步,CriPO 在第 175 步超过这条 GRPO 曲线的最佳点,因此得到“约 2× 更少优化步”。但训练配置表又写总训练步数为 200,主表也统一取 200 步 checkpoint;扩展 GRPO run 的配置与数据顺序没有单独说明。

设置GRPO 完整训练CriPO 完整训练CriPO 超过 GRPO 的时刻提前倍率
1.7B · Medicine6h14m6h56m2h26m2.56×
4B · Medicine8h37m11h02m5h04m1.70×
1.7B · Science7h42m8h52m6h32m1.18×
4B · Science11h32m14h06m11h29m1.00×

按图中数字复算,完整 CriPO run 比 GRPO 分别多 11.2%、28.0%、15.2%、22.3% wall-clock,平均约 19.2%。它确实都在 GRPO 训练结束前达到更高分,但 4B Science 只提前 3 分钟。更准确的结论是:CriPO 提高样本/步数效率,并在四组发布方 wall-clock 中没有拖到比 GRPO 收尾更晚才见效;它没有稳定实现 2× 的端到端时间节省。

v1 还披露训练使用 8×A800-40G、Qwen3-32B judge 部署在 64×910B2 NPU;v2 删除了这段硬件说明。当前版本没有 GPU/NPU 利用率、judge 并行度、总 token、FLOPs 或成本,因此也无法把 wall-clock 转成可迁移的资源效率。

数据与奖励口径:难题过滤很重,权重映射又没有说清

公开 RaR-Medicine 有 17,926 条 train、2,242 条 test;论文删除 Qwen3-4B reward 高于 0.9 的样本后,剩 15,658 / 1,936,保留率为 87.35% / 86.35%。RaR-Science 从 18,333 / 2,292 变为 10,874 / 1,365,只保留 59.31% / 59.55%。这不是轻微清洗,而是用 Qwen3-4B 和同类 rubric judge 定义了一个明显偏难、与模型弱点相关的条件分布。

过滤有助于提高 200 步训练的数据效率,却让 headline 更难外推到完整 RaR 分布。尤其 1.7B 与 4B 共用由 4B 筛出的测试集;HealthBench 和 ResearchQA 又各随机抽 500 条,但没有公开抽样 seed。应同时报告完整 test、固定 hard split、不同基础模型定义的 hard split,才能区分方法收益与筛选策略收益。

还有一个复现歧义:公开 RaR 数据的 rubric 数字权重含 −1、−2 的 Pitfall 项,但 criterion 文本通常写成“不要犯某错误”,judge 把成功避免错误判为 PRESENT。RaR 原论文的实际训练说明会把 Pitfall 类别重新映射为正权重 0.9;CriPO 只写 (omega_j) 加权公式,没有说明是用公开原始数字、类别重映射,还是只传不带权重的 rubric 文本。不同选择会改变奖励、UC/SC 统计和 top-3 criterion 选择,必须由代码或配置澄清。

关键证据边界

术语与概念边界

Rubric针对单个 prompt 的检查清单;每项描述一种可观察质量,例如结论正确、解释理由、避免侵入性检查或不遗漏风险。
Group-relative advantage同题多条回答按组内均值和标准差归一化后的相对好坏;它表达“比同组平均强多少”,不是绝对质量。
Forward KL(D_{KL}(p_T\|p_S)) 倾向要求学生覆盖教师支持的模式,因此适合把当前 rollout 中完全缺失的行为注入学生。
On-policy self-distillation回答轨迹来自当前学生,教师与学生是同一模型的不同上下文视图;减少离线教师答案带来的状态分布错配。
Counterfactual teacher通过要求教师移除某个已满足 criterion,观察 token 分布哪里变化,用差异定位可能承载该 criterion 的片段。
Train–inference mismatch训练时模型生成依赖 rubric/修订提示,部署时却拿不到它;CriPO 不直接训练带提示生成的新 rollout,因此比 HeRL/RuscaRL 更少受这种前缀失配影响。

独立 Insight:把标量奖励旁边加一份“criterion 信用账本”

CriPO 揭示的更通用问题,不只属于 rubric RL。任何把多维目标先聚合成一个数、再把这个数广播到整条轨迹的算法,都会同时丢失两种信息:哪些目标从未被探索,以及当前轨迹的哪些局部决策已经做对。真正可扩展的后训练系统应维护两层账本:

全局 policy 账本

保留 scalar reward、KL 约束和组相对更新,保证总体方向稳定,避免自教师在噪声中自我强化。

criterion 信用账本

记录每项标准的覆盖率、净 advantage、相关 span、教师置信度、冲突 criterion 与历史稳定性,再决定注入、保护或忽略。

路由而非全量蒸馏

只有被诊断为 UC/SC 且归因可信的 criterion 才消耗 teacher forward;其余样本继续走普通 GRPO,控制噪声与成本。

把归因也纳入验收

除了最终分数,还要测 span 定位 precision、反事实删除后的 criterion 变化、单位 teacher FLOP 的增益与错误翻转率。

这比“保留所有 rubric 维度做向量奖励”更实际:向量最终仍要决定一个更新方向,criteria 之间还可能冲突。信用账本的作用不是拒绝聚合,而是让聚合之后仍能追溯局部信号,并在发现被吞掉的证据时做有限修正。

最能改变结论的五组实验

实验若机制成立,应看到什么失败意味着什么
因果前缀教师 vs 完整回答教师去掉未来后缀后,token span 仍能定位 criterion 且性能大体保留收益主要来自后见答案泄漏,而非局部 criterion 归因
人工 span 标注与反事实删除被选 token 的 precision/recall 高,删除后对应 criterion 得分定向下降KL 差异只是 prompt/style 扰动
等 teacher FLOPs 的 GRPO、HeRL、OPSD、CriPOCriPO 的单位总成本增益仍领先步数优势由额外 teacher 计算换来
完整数据 + 多种 hard split + 多 seed方向跨过滤器、模型规模与 seed 保持结果依赖 Qwen3-4B 定义的困难子集
置信度/权重感知 flip 与超参曲线软路由至少不弱于固定 +0.1,并降低错误翻转当前收益依赖偶然的离散阈值组合
工程建议

如果今天实现这条路线,应先把 CriPO 当作 GRPO 的可插拔诊断器:记录 UC/SC、teacher KL、选中 span 与成本,但默认只在高置信样本启用;同时保留未经 hard-filter 的验证集和异构 judge。等 span 因果性与多 seed 稳定后,再扩大 flip 覆盖率。

证据边界与资料索引

本文直接核对 arXiv v2 的 18 页正文、公式、全部表格、附录、图表与 v1→v2 修订;复算主表均值、十项逐格差值、数据保留率和四组 wall-clock 比例,并核对 RaR 公开数据字段、HeRL 论文与官方实现、SDPO 实现入口及三篇同期 self-distillation 工作。本文未重跑 200 步训练,也未获得 CriPO 未公开的代码、过滤后 split、checkpoint、逐样本 judge 输出或训练日志,因此模型性能与 token 定位效果仍属于发布方报告。