考试的时候没有标准答案,还能不能边考边学?测试时训练(Test-Time Training,TTT)想做的就是这个:模型拿到一批无标签的测试题,自己采样多个解答,用多数票造出"伪标签",再在推理阶段就地更新参数。坑也在这里——多数票一旦投错,错误的"老师"会带偏每一个 token。

浙江大学 ZJU-REAL 实验室与阿里巴巴的 11 人团队 8 月 27 日向 arXiv 提交了 TTPO(Test-Time Policy Optimization),次日开源代码,并登上 Hugging Face Daily Papers 热榜。

标签缺口,和一个不对称的观察

现有后训练主力——强化学习(RL)和在线策略自蒸馏(OPSD)——在数学推理上进步飞快,但都依赖真值标签,这让它们在测试时训练里直接失效。用多数票伪标签替代真值是自然想到的方案,却很脆:一次错误投票会污染 teacher,误导所有 token。

TTPO 论文给出的关键观察是,这个失败模式是不对称的:与伪标签不一致的 rollout,无论投票本身对错,通常自己就是错的。也就是说,不需要知道真值,也能把"少数派"判定为高置信错误。

一个目标,两条支路

顺着这个观察,TTPO 设计了非对称目标:

  • 同意伪标签的 rollout:走 OPSD 蒸馏,把多数派行为蒸馏回模型;
  • 不同意伪标签的 rollout:走分组 RL,只惩罚其中的"自信错误"。

token 级选择进一步细化两条支路:蒸馏分支给已经收敛的位置降权,RL 分支只盯高置信错误。作者强调,即使伪标签频繁出错,两个方向的更新依然有据可依;而模型变强之后,多数票路由本身会给出越来越紧的自监督信号。

数字:免标签追平有标签

在 AIME25/26、HMMT25/26、BRUMO25 五个竞赛级基准上,作者报告的结果:

  • OpenThoughts 训练后,免标签 TTPO 与用真值训练的 OPSD 基本打平:Qwen3-1.7B 平均 40.1 vs 39.7,4B 58.6 vs 58.4,8B 62.6 vs 61.7;
  • 直接在无标签测试题上做 TTT:Qwen3-1.7B 平均分从 38.0% 提到 45.2%,高于 TTRL(40.2)和 OPSD-TTT(41.9);8B 从 60.7 提到 65.3;
  • 非思考模式(non-thinking)收益最大:1.7B/4B/8B 分别 +25.2/+30.6/+36.4 分,8B 非思考平均到 56.7(其思考模式基线为 58.6)。

工程复现门槛不高:官方环境是 Python 3.10、PyTorch 2.8.0、vLLM 0.11.0,四卡 GPU 加 LoRA,仓库直接给了 1.7B/4B/8B 三档训练脚本和评测入口。

边界与"所以呢"

该留的界限也说清楚:实验主体集中在竞赛数学;摘要声称"强跨任务泛化",但这是作者自报数据,且对比方法(如 TTRL)本身仍在快速演进;伪标签路由在弱模型上的稳定性,依旧取决于多数票质量。

但方向是实打实的:当标注贵到不可得、题目分布又在漂移时,TTPO 把"模型自己教自己"从口号变成了带配方、带代码、可复现的工程选项。论文见 arXiv:2608.27448,代码在 ZJU-REAL/TTPO

如果训练不再需要答案,模型的下限就不再由标注预算决定——这大概是测试时训练这条线最值得盯住的一句话。