竞赛题伪标签错 85% 仍能学,无标签 TTPO 把 1.7B 从 38.0% 拉到 45.2%

TTPO: Test-Time Policy Optimization

Aozhe Wang, Zhengxi Lu, Jianze Wang, Shangke Lv, Ying Liu, Weiming Lu, Jun Xiao, Yueting Zhuang, Hua Yang, Qianglong Chen, Yongliang Shen

cs.CL

2026-08-28

无标签用多数票伪标签:同意轨迹做 OPSD 蒸馏,反对轨迹做 GRPO 惩罚。Qwen3-1.7B 在三套竞赛题上从 38.0% 升到 45.2%,与有监督蒸馏持平。

这篇在解决什么

竞赛级数学上,RLVR 和 On-Policy Self-Distillation(OPSD,同一模型看到标准答案后,对学生自己的轨迹做 token 级蒸馏)都要靠标准答案:奖励靠它验对错,teacher 靠它当特权上下文。Test-time training(TTT,在待测题目上当场继续训)没有标签,两条路都走不通。

自然替代是每题采一组 rollout,拿多数票当伪标签。TTRL 已经用这个伪奖励做 GRPO。竞赛题上多数票经常是错的:Qwen3-1.7B 在 AIME 2026 上,伪标签平均错约 85%。错的奖励每条轨迹只误导一次;错的 teacher 会在每个 token 上误导。把伪标签直接塞进 OPSD,错误会被放大。

失败模式不对称。伪标签错了,跟它唱反调的 rollout 里约 79% 既不是伪标签也不是真答案。惩罚「不同意多数票」多数时候仍然正确,并不依赖伪标签写了什么。往伪标签上蒸馏没有这份容错。

方法

TTPO 把信号用在各自还可靠的地方。每题采 K=64 条轨迹,按数学等价聚成答案簇,最大簇当伪标签,再拆成同意集 P 和反对集 N。真正回传梯度的只有 Ktrain=8 条,正负各半,优先更短的完成,因为梯度只打前 1024 个 completion token。

两项加起来,GRPO 支路权 λ=0.1,把量级大约差一个数量级的两条梯度拉平。Teacher 只吃短答案、不喂完整轨迹:完整轨迹会把 teacher 变成续写前缀,AIME26 上从 46.5 掉到 41.1。

结果

两套设定。OpenThoughts 上 OPSD/GRPO 用真标签,TTPO 只用多数票。TTT 直接在测试题上训,谁都没有标签。指标是 Avg@12。

设定模型Base有监督 OPSDTTPO
OpenThoughtsQwen3-1.7B34.639.740.1
OpenThoughtsQwen3-4B56.058.458.6
OpenThoughtsQwen3-8B58.661.762.6

TTT(AIME 2026 / HMMT 2026 / BRUMO 2025 平均):

模型BaseTTRLOPSD-TTTTTPO
1.7B38.040.241.945.2
4B57.458.859.461.1
8B60.763.063.765.3

1.7B 无标签 TTT 绝对涨 7.2 点。4B 的 TTPO(61.1)已经超过 8B base(60.7)。关掉 thinking 再测,涨幅更大:1.7B 从 9.5 到 34.7(+25.2),4B +30.6,8B +36.4;同期有监督 OPSD 只有 +7.1 / +5.8 / +3.5。

消融对齐设计。拿掉正样本加权,AIME26 从 46.5 掉到 43.3;拿掉负样本 mask,BRUMO25 从 54.7 掉到 50.0。正样本 FKL、负样本 GRPO 在 TTT AIME26 上是 48.9,对调后只剩 37.2。难题上把多数票换成真标签,正样本过少,两条支路一起饿死,伪标签版反而更强。Maj@12 随训练一起上升,多数票质量会跟着模型变好。

为什么重要

没有答案的测试分布也能当场继续训,多数票终于能当稠密监督来用,不再只是一条 0/1 奖励。配方绑在 Qwen3 的 thinking / 非 thinking 双模式上:teacher 开思考,student 关思考,蒸馏的是「仔细想」到「直接答」。跨基准迁移成立,在 AIME、HMMT、BRUMO 任一集上训,另外两集也涨,更接近通用推理而不是背题。

想复现要准备每题 64 次采样、16k 生成长度、LoRA 打全线性层。这是小模型上的可跑配方,算力不便宜。

局限与存疑

报告的是 100 步里每 25 步存档的峰值,GRPO/TTRL 是 500 步里的峰值,不是固定步数的公平对照。只做了数学可验证题,多数票靠答案等价聚类;开放式生成没有这套脚手架。TTT 在测试题上更新权重,部署时要接受「看见考卷再学」。梯度只覆盖前 1024 token,长思维链后半段不进更新。论文没有把「多数票质量上升」和「蒸馏把 Maj@12 压进 Avg@12」拆开定量。

术语

原文与代码

相关论文

全部论文解读