CPO:当熵不再可信,token 级"对比"如何重塑 RLVR 的优势信号

arXiv: 2607.14614 Beyond Entropy: Correctness-Aware Advantage Shaping via Contrastive Policy Optimization 作者:Weiwen Xu (CUHK), Jia Liu (SCUT), Hou Pong Chan (CUHK), Long Li, Deng Cai (CUHK), Min Chen (SCUT), Hao Zhang (NTU) 时间:2026.07.16


核心摘要

RLVR 训练 LLM 做数学题这两年火得不行,但主流方法几乎都在用当「探索信号」——熵高就奖励、熵低就压制。问题在于这件事:熵衡量的只是「模型自己有多不确定」,根本看不出来这个不确定是「在尝试新思路」还是「已经算错了」。一个正在做「殊途同归」探索的 token 和一个正在「南辕北辙」发散的 token,熵可能一模一样。

这篇论文干了一件事:扔掉熵,让模型在有参考答案的提示和没有参考答案的提示下分别跑一遍,对比同一个 token 在两边的概率差异——这个差异天然指向"对/错",而不是"确定/不确定"两件事。把这个差异加到 GRPO 的 advantage 上,就是 CPO(Contrastive Policy Optimization)。

效果比较能打:Qwen2.5-Math-7B 平均 70.2%,比 GRPO(62.5%)高 7.7 个点;Qwen3-Base-4B 上平均 77.0%,比 GRPO(68.5%)高 8.5 个点。最离谱的是在 AIME2025 上从 30.0% 干到 43.3%——这可是高难度奥赛题。

更让人拍案的地方是:作者用一套贝叶斯推导证明了 On-Policy Distillation(OPD)其实就是 CPO 的一种特例 ——只要你用某个"更懂正确性"的分布当后验,无论是更强的教师模型、还是参考条件化的自身、还是 critic 引导,说到底都是同一个框架。这把目前 RLVR 和 KD 两条原本独立的研究线,缝合到了一张图里。

值不值得读?我的判断是:值得。它不是换个激活函数那种细枝末节的微创新,而是"RLVR 的 advantage 信号到底应该度量什么"这个根本问题的重新思考。代价也很诚实——训练时要多一次前向,吞吐量会掉一点。


一、那个让我一直别扭的事

做 RL 的人都知道 entropy bonus 的尴尬。论文里画了张很传神的图(Figure 1):

图1:左图——学生没参考答案时一脸懵;右图——有了参考答案立刻发现自己把"周六"和"周日"算混了;下方——LLM 在 vanilla 提示和 reference-guided 提示下,同一序列的 token 概率分布确实会偏移

图 1 上:学生没参考答案是这个状态,下:有了参考答案是这个状态——其实 LLM 内部在做一模一样的事

我之前调 GRPO 的时候也试过 Entropy-Adv 这类加熵 bonus 的方法,遇到的尴尬是:训练 reward 一直在涨,但生成质量肉眼可见在变差,模型要么变得过度自信(熵塌缩到接近 0),要么在某些边界 case 上抽风

论文里把这件事说得很透:熵和正确性是两个相互独立的事。论文里有个图,GRPO 训练到 80 步之后,熵已经掉到 0.05 附近(Figure 5(e))——模型变成"只会背答案的复读机",探索能力直接报废。

为什么会这样?因为熵回答的是"模型此刻有多不自信",而不是"此刻的自信对不对"。

那什么信号天然指向正确性?

作者给了一个直觉:你做完作业,光靠自己复盘很难看出错在哪;但有了参考答案再回头看,错的地方会立刻跳出来。LLM 也是这样——同一个问题,给它看参考答案让它再"自检"一遍,原本不自信的 token,概率分布会出现偏移:贴近答案的部分概率被推高,跑偏的部分被压低。这个偏移的方向是正确性方向,不是确定性方向

这个直觉很朴素,但很少有人真的用对——直到这篇论文。


二、Contrastive Disagreement:把"对比差异"变成 advantage 信号

2.1 一个直观的实验

作者先在 Qwen2.5-7B-Math 上做了个验证实验(Figure 2):取一个 vanilla 采样序列 \(y\),算出每个 token 的 contrastive disagreement \(\delta_t\)(公式 7),然后挑出第一个 \(\delta_t\) 极端异常的位置 \(t^*\),从那个位置重新采样 16 次,看 Accuracy@16 怎么变。

图2:横轴是exp(δ)的阈值,纵轴是从分歧点重新采样的 Accuracy@16。exp(δ)从1(中性)往0.1走,准确率从57%掉到48%;往右(exp(δ) > 1,即"积极分歧")则保持稳定。中间那根粉色线就是均值趋势

图 2:负向 disagreement 越极端,Accuracy@16 越低——分歧确实在"指着"错误 token

这个实验很漂亮。负向的 \(\delta\) 越强,重新采样的正确率掉得越明显——exp(δ) 从 1(中性)往 0.1 走,准确率从 57% 掉到 48%。这说明 \(\delta < 0\) 的 token 真的在"指向"错误。

但正向的 \(\delta\)(exp(δ) > 1)效果很平——Accuracy 始终在 57% 上下。这其实也合理:模型本来上限就 57%,你拿一个已经做得对的 token 重新采,结果当然不会更高。作者管这叫非对称性——negative disagreement 测错误很准,positive disagreement 测正确没那么强。

但这就够用了。我们的目标是"识别错误 token 并降权",不是"识别正确 token 并加更多权"。

2.2 理论骨架:为什么 \(\delta\) 指向正确性

数学上其实很简洁。定义位置 \(t\) 的"正确性概率": $\(g(x, y_{<t}, y_t) = \mathbb{P}(C \mid X=x, Y_{<t}=y_{<t}, Y_t=y_t)\)$ 即"在这个前缀下选这个 token,未来最终答案正确的条件概率"。

我们希望 advantage 能反映 \(g\) 的高低,但 \(g\) 没法直接算。一个代理是"假设答案已经正确,token 分布应该长什么样"——即后验 \(\tilde{\pi}_{\text{post}}(y_t \mid x, y_{<t}, C)\)

按 Bayes 拆: $\(\tilde{\pi}_{\text{post}}(y_t \mid x, y_{<t}) = \frac{\pi(y_t \mid x, y_{<t}) \cdot g(x, y_{<t}, y_t)}{Z(x, y_{<t})}\)$

两边取对数比: $\(\log \frac{\tilde{\pi}_{\text{post}}}{\pi} = \log g - \log Z\)$

对一个固定的 prefix \(y_{<t}\)\(Z\) 是个常数。所以 \(\log(\tilde{\pi}_{\text{post}}/\pi)\) 关于 \(g\) 单调递增

\(g\) 高 → log-ratio 正 → 这个 token 在"如果答案正确"的分布下概率更高 → 这个 token 更可能属于正确答案。 \(g\) 低 → log-ratio 负 → 反之。

这就是为什么 \(\delta\) 是个好的"正确性代理"。

实操上我们没有 \(\tilde{\pi}_{\text{post}}\),但有个非常接近的代理:把 prompt 改成"已知答案 \(y^*\),请重新生成一个第一人称解法",让模型做一次前向,得到的 \(\pi_{\text{post}}(y_t \mid x, y^*, y_{<t})\) 就近似等于 \(\tilde{\pi}_{\text{post}}\)这个近似是好的,因为参考答案是确定的事实,且 prompt 让模型进入"自检"模式

2.3 把 \(\delta\) 接到 GRPO 上

CPO 的整体框架(Figure 3):

图3:CPO 流程图。输入是 (Q, Response) 走一遍 Policy Model 得到先验;输入是 (Q, A*, Response) 走一遍得到后验;两者按 token 算 disagreement δ_{i,t},加到 Group-Based Advantage 上

图 3:CPO 框架——prior 一遍、reference-guided 后验一遍,disagreement 加到 advantage 上

具体怎么加:

\[\tilde{A}_{i,t} = \begin{cases} A_{i,t} + \max(\alpha^+ \delta_{i,t}, -\frac{1}{2} A_{i,t}), & A_{i,t} > 0, R_i = 1 \\ A_{i,t} + \min(\alpha^- \delta_{i,t}, -\frac{1}{2} A_{i,t}), & A_{i,t} < 0, R_i = -1 \\ \alpha^+ \delta_{i,t}, & A_{i,t} = 0, R_i = 1 \\ \alpha^- \delta_{i,t}, & A_{i,t} = 0, R_i = -1 \end{cases}\]

几个值得展开的设计点:

设计点 (1):为什么对 \(\delta\) 做 clip? 想象一个 \(A > 0\)(正确响应)的 response,里面某个 token 的 \(\delta \ll 0\)(这个 token 实际上是错的)。如果不 clip,shaped advantage 会被翻成负号,模型反而会被推去学这个错误 token。clip 保证了 shaped advantage 的方向不会和 trajectory 级 advantage 矛盾——下限锁在 \(-\frac{1}{2}A\)

设计点 (2):为什么对 zero-advantage 也用 \(\delta\) 这是 CPO 解决"全对/全错 group 浪费梯度"的杀手锏。GRPO 里,如果一个 prompt 采了 8 个 response 全对或全对不了,group 内归一化后所有 advantage 都是 0,整个 group 算白采。CPO 直接用 \(\delta\) 替代——给 zero group 提供了一个有意义的、token 级的学习信号。作者后面在 zero-advantage 隔离实验里专门验证了这点(CPO 对比 RL-ZVP,平均涨 3.2 个点)。

设计点 (3):\(\alpha^+\)\(\alpha^-\) 不一样。后续在 Figure 6 里调过比例——平衡(1:1)效果最好。这也和论文的另一个发现呼应:correct response 负责"探索"(增加熵),incorrect response 负责"利用"(降低熵)。所以两边的 shaping 强度最好相等,让探索和利用都发挥各自的作用。


三、主实验:把每个 baseline 都按在地上摩擦

3.1 Qwen2.5-Math-7B

训练数据是 MATH 数据集 7.5k 题。在 4 个数学 in-domain(MATH-500, AIME2024/2025, AMC2023)和 3 个 out-of-domain(GPQA, MMLU-PRO, KnowLogic)上测,指标 Pass@16。

方法 MATH-500 AIME2024 AIME2025 AMC2023 GPQA MMLU-PRO KnowLogic 平均
Original 87.8 43.3 30.0 85.0 70.5 63.4 55.8 62.3
GRPO 88.2 43.3 30.0 82.5 64.5 60.7 68.2 62.5
DAPO 88.2 43.3 33.3 90.0 66.3 64.6 61.1 63.8
Entropy-Tokens 85.0 53.3 26.7 77.5 58.5 54.8 66.2 60.3
Entropy-Adv 84.8 43.3 33.3 77.5 55.4 53.9 68.2 59.5
EM-RL-token 88.8 36.7 30.0 90.0 60.8 64.0 66.3 62.4
RL-ZVP 86.6 50.0 30.0 77.5 56.7 56.0 68.2 60.7
IB-reg 88.0 60.0 36.7 80.0 58.7 55.3 68.5 63.9
CPO 89.0 60.0 43.3 92.5 68.8 69.0 68.9 70.2

几个关键观察:

  • AIME2025 上 43.3% 对比 GRPO 30.0%——13.3 个点。高难度推理链路上的提升是 CPO 最核心的优势,因为越长的链路,token 级 credit assignment 越重要。
  • MMLU-PRO 上 69.0% 对比 Original 63.4%——不仅没掉 out-of-domain,反而涨了 5.6 个点。所有其他 RLVR baseline 在 out-of-domain 上几乎都是退化的。
  • 平均 70.2 对比 GRPO 62.5:涨 7.7 个点。在 RLVR 这个已经卷得不能再卷的赛道上,7.7 个点的提升是相当能打的。

3.2 Qwen3-Base-4B

方法 MATH-500 AIME2024 AIME2025 AMC2023 GPQA MMLU-PRO KnowLogic 平均
Original 87.2 23.3 30.0 90.0 76.8 79.8 94.1 68.7
GRPO 91.0 53.3 40.0 92.5 56.7 60.7 85.1 68.5
DAPO 87.2 43.3 36.6 92.5 75.6 79.0 86.7 71.6
CPO 91.6 53.3 53.3 92.5 78.3 82.6 87.6 77.0

涨 8.5 个点。General-purpose base model 上跑出这种效果,说明 CPO 不依赖预训练时就有的数学能力——它是给 RL 训练提供更好的"眼睛"。

注意 CPO 在 MMLU-PRO 上从 79.8 涨到 82.6,这是个 general knowledge benchmark——CPO 学的"找正确 token"的能力是泛化的,不只是数学上的。


四、统一的视角:OPD 也是 CPO

这是论文最让我佩服的洞察。

作者在 Figure 4 里实验了 4 种不同的 \(\pi_{\text{post}}\)

图4:不同 π_post 设计的对比。实心柱是 in-domain 平均,斜线柱是 out-of-domain。GRPO 61.0/64.5;OPD(外教师)63.6/67.8;CPO-π_teacher 66.7/67.2;CPO-π_self(·|ref) 71.2/68.9;CPO-π_teacher(·|ref) 71.5/70.1

图 4:5 种 posterior 设计——CPO-π_teacher(·|ref) 拿到最佳 in-domain + out-domain

具体意思:

  • OPD:用一个更强的 72B 教师当 \(\pi_{\text{post}}\),标准 reverse-KL distillation。in-domain 涨,但 out-domain 也涨了。
  • CPO-\(\pi_{\text{teacher}}\):把 OPD 的 reverse-KL 接到 advantage shaping 上(区别于直接当 loss)。效果反而不如后面的 reference 方案。
  • CPO-\(\pi_{\text{self}}(\cdot|\text{ref})\):用模型自己+参考答案当 \(\pi_{\text{post}}\)——不用外部教师,纯自蒸馏。in-domain 干到 71.2,out-domain 68.9。
  • CPO-\(\pi_{\text{teacher}}(\cdot|\text{ref})\):72B 教师+参考答案。in-domain 71.5,out-domain 70.1——两个都拿第一

几个反直觉但很有信息量的发现:

1. 用参考答案比用更强的教师更有效。CPO-\(\pi_{\text{self}}(\cdot|\text{ref})\) 71.2 vs OPD(外教师)63.6,自蒸馏干掉大教师 8 个点。原因是 reference 提供的是"题目级正确性",教师给的是"风格偏好"——前者直接对,后者还要多绕一道。

2. 教师 + 参考答案是互补的。CPO-\(\pi_{\text{teacher}}(\cdot|\text{ref})\) 拿到双优。外教师的泛化能力 + reference 的实例级正确性信号

3. 这把 OPD 统一进了 CPO。在贝叶斯公式里看,OPD 的 reverse-KL 就是让 \(\pi\) 去匹配某个"更接近正确性"的分布——这正是 \(\pi_{\text{post}}\) 的定义。OPD 是 CPO 的一种 posterior 选法。无论你选什么当 \(\pi_{\text{post}}\)(更强的教师、reference-conditioned 自己、critic 引导的、任意更"懂正确性"的信号),都是 CPO。

这是个相当漂亮的统一视角——把 RLVR 阵营(GRPO/DAPO 系列)和 KD 阵营(OPD/RFT/RAVR 系列)划进了同一张图。


五、训练动力学:为什么 CPO 真的能work

Figure 5 是我最喜欢的一张图,它把"为什么 CPO 比 GRPO 好"讲清楚了:

图5:6 个子图。(a)(b) CPO 和 GRPO 在 AIME2025 和 MMLU-PRO 上的 greedy 准确率(训练步数);(c)(d) Pass@K 曲线(K=1..16);(e) 训练熵;(f) 平均 response 长度

图 5:CPO vs GRPO 训练动力学。注:原图(a)子图坐标轴较窄,看起来是上下震荡,实际只是训练步数上的小幅波动

(c)(d)Pass@K 是关键。 GRPO 主要优化 Pass@1(从 base 的 ~10% 涨到 ~25%),但 K 越大,GRPO 的曲线越平——K=16 时 GRPO 甚至被 base 追平。这说明 GRPO 把模型的"多样采样"能力给磨平了,模型只会走最可能的那一条路。

CPO 完全不同——K 从 1 到 16,CPO 一直领先 GRPO,且 K=16 时 CPO 比 GRPO 高 13 个点左右。说明 CPO 训出来的模型既知道"哪条路最对",也知道"还可能走哪几条路"。

(e)熵曲线。 GRPO 的熵在 20 步内掉到 0.05 附近然后躺着不动——典型的熵塌缩。CPO 的熵停在 0.17 左右保持 plateau。这个 3 倍多的熵差直接对应了 (c)(d) 里 K 大时的多样性差距

(f)response 长度。 GRPO 训到 140 步平均长度掉到 680 tokens,CPO 保持在 800 tokens。更长的回答 = 更完整的推理链。CPO 不会"图省事"只给个简略答案。

为什么?因为 token 级的 advantage shaping 不会像 sequence 级那样"放大已经占主导的 token、压死其他 token"。CPO 是按 token 粒度选择性 reward/punish,保留了"虽然概率低但确实是对的"那些 token。这就是探索能力的来源。


六、消融实验:每个设计都有用

Table 3 我细读了几遍,几个有意思的发现:

1. 正例和负例不可互相替代。

  • 只在 incorrect response 上做 shaping(CPO_neg):in-domain 接近全 CPO,但 MMLU-PRO 掉 4.2 个点
  • 只在 correct response 上做 shaping(CPO_pos):MMLU-PRO 保住了,但 AIME2025 掉 10 个点

这跟 Figure 6 的发现一致——正例保泛化(探索),负例提数学能力(利用)单押任何一边都不行

2. Reference-guided prompt 设计有讲究。

  • 默认的单轮第一人称 prompt 最好。
  • 2-turn gold-shot(A4-Table 5 那种)次之。
  • 2-turn 1-shot(A4-Table 7)最差——用别的题当示例,引入的 reference 和当前题无关,contrastive 信号就被稀释了

3. Weighted disagreement(\(\pi_{\text{post}} \log(\pi_{\text{post}}/\pi)\))反而比纯 log-ratio 差

直觉上 weight 防止极端 case 爆炸,但实测降了几个点。作者说原因是这种 weight 反而把最有信息量的高-disagreement token 抑制了

4. 不用 clip 会崩。 w/o advantage clip 在 AIME2025 上从 43.3 掉到 26.6。clip 保证 advantage 方向一致性是必要的,尤其在长链推理上。

5. 当正则项加不如当 advantage 加。 把 contrastive disagreement 当 Lin et al. (2025) 那种额外正则项塞进 loss,平均从 70.2 掉到 62.5。改 advantage 是对的,乱加正则项是错的


七、CPO vs Entropy:到底抓的哪些 token

最后一张图(Figure 7)特别有意思,作者用词云展示了 CPO 和 entropy "盯"的 token 有啥不同:

图7:三个词云。(a) CPO - Entropy:CPO 单独盯的(python, output, substitute, hide, label, bf, circ, equiv, tau);(b) CPO ∩ Entropy:两个都盯的(frac, sqrt, sin, cos, First, This, Let, Given 等推理衔接词);(c) Entropy - CPO:entropy 单独盯的(Please, Human, Consider, What, How, When, Under)

图 7:上方 CPO 独有的是"执行型 token";中间是数学推理的骨架;下方 entropy 独有的是"客套话"

观察:

  • CPO 独有的(a 区域):python、output、substitute、hide、label、bf、circ、equiv、tau——全是执行/计算型 token。这说明 CPO 真的在看"这一步在算啥",而不是"这一步在说什么"。
  • 两者交集(b 区域):frac、sqrt、sin、cos、First、This、Let、Given——数学推理的连接词。这些确实是"高熵 + 高分歧"的关键 fork 点。
  • Entropy 独有(c 区域):Please、Human、Consider、What、How、When、Under——全是客套话和元话语。entropy 看到"模型在这里纠结要不要写 Please"就以为这是重要信号,但这跟对错没关系

76% 的 fork token 是两者共享的,但那 24% 的差异决定了方法的天花板——entropy 浪费在"说废话"上,CPO 集中在"算正事"上

这其实给了我们一个用 entropy 的方法论反思:entropy 高的 token 不一定重要,重要 token 不一定 entropy 高。CPO 的 \(\delta\) 跳出来解决了"重要性 vs 不确定性"的混淆。


八、\(\alpha^+ : \alpha^-\) 比例:探索与利用的辩证

Figure 6 调了正确/错误响应的 shaping 强度比:

图6:5 种 α+:α- 比例(5:0, 4:1, 1:1, 1:4, 0:5)。(a) 训练熵随步数;(b) AIME2025 Pass@K;(c) MMLU-PRO Pass@K

图 6:α+:α- 比例。1:1 时下游表现最好,且 5:0 时熵持续上升(探索过头),0:5 时熵持续下降(利用过头)

数据说话:

  • 5:0(只奖励正确响应的 contrastive):熵在 100 步后开始飙升——探索过头,模型开始"为多样性而多样"。
  • 0:5(只惩罚错误响应的 contrastive):熵持续下降,K 大时表现差——纯利用,模型死磕一条路。
  • 1:1:两个 benchmark 上 Pass@K 都第一。

配合得刚刚好。正例负责打开新方向、负例负责把这些方向里最有前途的硬化下来。这跟 RL 经典的 exploration-exploitation 平衡一脉相承,只是粒度做到 token 级


九、Zero-Advantage 问题:CPO 真正的工程价值

RLVR 一个长期被忽视但消耗巨大的问题:zero-advantage group。一个 prompt 采 8 个 response 全对或全错 → group 内归一化后所有 advantage 都为 0 → 整个 group 算白采。

在大规模训练中,这种"全军覆没"的 group 可能占 30%~50%(取决于任务难度)。浪费的不是算力,是数据——这些 prompt 明明有信息量,但没被有效利用。

CPO 的设计直接解决了这个问题:对 zero-advantage group,直接用 \(\delta\) 当 advantage。论文附录 F.2 做了隔离实验:

方法 MATH-500 AIME24 AIME25 AMC23 GPQA MMLU-PRO KnowLogic 平均
Qwen2.5-Math-7B base 87.8 43.3 30.0 85.0 70.5 63.4 55.8 62.3
+ RL-ZVP 87.2 43.3 30.0 85.0 67.1 63.1 53.2 61.3
+ CPO 88.8 50.0 33.3 87.5 69.6 64.3 58.0 64.5

CPO 在 zero-advantage only 的训练信号上,平均 64.5 vs RL-ZVP 61.3,+3.2 个点。这证明 CPO 提供的"找正确 token"信号比 entropy "找不确定 token" 信号更有效。

工程意义:如果你跑 RLVR 训练时发现自己训练数据里 30% 都是 zero-advantage group,CPO 能把这些数据"救活"——相当于免费多 30% 的训练数据


十、我的判断

亮点

  1. 理论干净。Bayes 推导的 contrastive disagreement 跟正确性概率的 monotone 关系,是看完整篇最让人信服的部分。熵从来没有这种理论保证。
  2. 统一视角。把 RLVR 和 OPD/RFT/RAVR 划进同一张图,未来 1-2 年这个框架会成新的 reference point
  3. 工程价值真实。zero-advantage 隔离实验 +3.2 个点是实打实的数据效率提升,不是 paper game。
  4. 不依赖外部强模型。CPO-\(\pi_{\text{self}}(\cdot|\text{ref})\) 自蒸馏干掉 72B 教师——这对工业界意义重大。

隐忧

  1. 算力开销:每个 token 要多一次 reference-guided 前向。吞吐量约掉 1.5-2x。AIME2025 上 13.3 个点的提升值得这个代价,但小团队可能跑不动。
  2. 需要 ground truth reference。CPO 的核心假设是训练数据有 ground truth answer。这在数学/代码题上成立,但在开放式生成(写作、对话)上用不了——没有 reference 就没法算后验。
  3. prompt 工程敏感。Table 3 里 reference-guided prompt 设计对结果影响不小,1-shot 那个变体直接掉了 3 个点。实际用的时候 prompt 需要仔细调
  4. entropy 不该全扔。论文里 word cloud 那个 76% 重叠说明 entropy 也不是完全没用。CPO + entropy bonus 的组合可能更好(论文没做这个实验,但可以试试)。

跟同期工作比

  • vs Entropy-Adv(Cheng et al., 2025):直接给 entropy 加 bonus 那种"快糙猛"做法,CPO 明显更精细。Entropy-Adv 在 AIME2025 上 33.3,CPO 43.3。
  • vs RL-ZVP(Le et al., 2025):同样解决 zero-advantage,RL-ZVP 用 entropy 补救,CPO 用 contrastive。CPO 在 zero-advantage 隔离设置上 +3.2
  • vs DAPO(Yu et al., 2025):DAPO 主要是工程改进(clip-higher、token-level loss、dynamic sampling),CPO 是信号本身的改进。两者正交,理论上可以组合。
  • vs RAVR(Lin et al., 2025):RAVR 把 reference 当正则项加,CPO 把 reference 当 advantage shape。后者在 Table 3 里完胜(70.2 vs 62.5)。

工程上值得做的 follow-up

  1. CPO + entropy regularization 组合。word cloud 那个 76% 重叠说明两者不互斥。
  2. 更便宜的 \(\pi_{\text{post}}\) 估计。现在要再做一次前向,能不能用 LoRA adapter 共享 backbone,只训练一个小 adapter?理论上可行。
  3. 把 CPO 用到代码任务。code 也有 ground truth,math 题上 work 的逻辑应该能迁移。
  4. reference-free 的近似 \(\pi_{\text{post}}\)。比如用 self-consistency 投票当后验,避免需要 ground truth 的硬限制。

收尾

这篇论文打动我的地方不在于它把 RLVR 推到了 SOTA 的某个新高度,而在于它质疑了"用熵做 advantage shaping"这个被广泛接受的做法本身。Entropy 是个 1990 年代 Williams & Peng 那波人就用过的老东西,很少有人追问"在 RLVR 这个新场景里把 entropy 继承下来"这件事到底对不对

这篇论文回答了:不对,熵是关于"自己有多不确定"的,不是关于"自己有多正确"的。把后者替换上去,效果立刻涨 7-8 个点。

更难得的是它给出了一个理论清晰、可扩展的框架,并且把 RLVR 和 OPD 这两条原本独立的研究线统一到了一起。这种"用一个数学工具把两个领域缝合"的工作,往往是后续一系列 follow-up 的种子

如果你在做 RLVR 训练,可以直接试——它对 GRPO 的改造是局部的,工程上能落地。

如果你在做 RL for code / for formal proof,CPO 的核心假设(ground truth answer 存在)天然满足。

如果你做开放式生成,CPO 不直接适用,但 contrastive disagreement 的思路(用某种 reference 当后验)可以借鉴。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新 AI 前沿,关注我。