← 返回研究 方法 · 预印本,2026 年 4 月

ThinkTwice

在同一个二元正确性奖励下,联合优化推理与自我精修。

arXiv GitHub Hugging Face
+11.5 ptAIME pass@4(Qwen3-4B)
5数学评测集
2模型家族
1单一奖励信号

大多数用 RLVR 训练出来的推理模型,在被要求"再修一遍自己的答案"时往往原地踏步,甚至变差。ThinkTwice 直接把"修改"这件事训练进去:每一步先采样一个解,再让模型对自己的解做一次精修,两次都用同一个二元正确性奖励、同一份 GRPO 目标更新。没有额外的批评模型,没有人工写的批评意见,也没有过程奖励模型——只有一个信号:最终答案对不对,应用两次。

研究背景

"自我精修"提示在演示里很美好,落到生产里就崩。原因很朴素:模型从来没有被训练过让"第二次"比"第一次"更对。普通 RLVR 优化的是一次性正确率;最后得到的策略并没有动力把第二次答案变好,反而经常把第一次原本对的部分擦掉。

方法

ThinkTwice 把 GRPO(Group Relative Policy Optimization)扩成成对的训练步。阶段 A 是普通 RLVR:对一道数学题采样若干解,按二元正确性打分,用 GRPO 更新;阶段 B 把模型自己阶段 A 的输出再喂回去,让它精修一次,用同一个二元奖励和同一个 GRPO 目标更新。整个过程不用任何额外监督——没有教师批评、没有错误轨迹标注、没有学习出来的奖励模型。

所需要的标签只有一个:"对错"——应用两次。

训练动态上能观察到一种"先纠错、再加固"的隐式课程:训练早期,精修步骤主要在修正错误答案;随着基础准确率提升,精修步骤逐渐转向"守住已经对的"。作者认为这正是 ThinkTwice 比单遍 GRPO 拥有更干净奖励信号的原因——第二遍的奖励分布是被第一遍塑造过的。

主要结果

五个数学评测集(MATH500、AIME 2024、AMC、Minerva Math、OlympiadBench)× 两个模型家族(Qwen3-4B-Instruct-2507、OLMo-3-7B-Instruct),覆盖 pass@k(k = 1, 2, 4, 8, 16, 32+)。最具代表性的一行数字是 Qwen3-4B 在 AIME 2024 上:

设置 Δ pass@4
GRPO(单遍) 基线
ThinkTwice(不使用精修) +5.0
ThinkTwice(一次精修) +11.5

AIME 2024,pass@4,Qwen3-4B-Instruct-2507。+5.0 那一行是只用 ThinkTwice 训练、推理时不调用精修就能拿到的提升;+11.5 是同时用上精修后的总提升。

关键发现

  • 不调用精修,单遍推理也变好。训练目标本身就在锐化一次成型的能力。
  • 精修是叠加的。一次精修在此基础上再拿到约 6.5 个百分点。
  • 跨模型精修也成立。用 ThinkTwice 训练出来的模型可以精修另一个基模型的输出,说明这种能力不只局限于自己的输出分布。

意义

"再试一次"这个推理时的杠杆,不再被 RL 抹掉。 普通 RLVR 把"自我精修"训没了;ThinkTwice 把它训回来。这意味着部署时多走一遍精修就能稳定多拿一段精度,是非常具体的工程收益。
不需要任何额外监督。 不要 critic,不要 PRM,不要批评数据——只要可验证奖励。这对没有"奖励模型工厂"的团队特别重要:成本低、可复现。
一个目标,两种能力。 推理与精修一起进步,而不是此消彼长——这意味着它们共享底层的表征结构,只要联合训练就能把这种结构挖出来。把"自我精修"当作只在推理时使用的提示技巧,等于把这部分能力浪费掉。