
先说一件让人有点摸不着头脑的事。
大语言模型做数学题这几年进步飞快,靠的是强化学习和一种叫"策略蒸馏"的训练方法。但这些方法有个共同的死穴:它们都需要标准答案。没有标准答案,模型就不知道自己做对了没有,训练信号从哪来都是个问题。
问题是,有一种场景标准答案压根不存在。这个场景叫"测试时训练"
测试时训练:模型在真正要解决的那批题目上直接进行训练和优化,而这批题目往往连出题人都没给答案,因为这本身就是考试。
如果一个模型要在考场上边做题边训练自己,它拿什么当老师?
一个自然的想法是投票。让模型对同一道题生成很多个答案,出现次数最多的那个当作"伪标签",就假装这是正确答案。TTRL这类方法就是这么做的,用投票结果当奖励信号去做强化学习。听起来挺聪明,但这里藏着一个致命缺陷:如果多数票本身就是错的呢?
在竞赛级别的数学题上,这不是小概率事件。论文里做了个统计,用Qwen3-1.7B模型在AIME 2026这套题上做测试时训练,发现投票选出来的"多数答案"竟然有85%左右的概率是错的。这不是异常,这是常态,因为竞赛题本来就是设计给人类高手都会犯难的题目。
如果多数票经常是错的,那用它当老师教模型,岂不是越训练越糟?
这就是这篇论文真正的起点。研究者们没有回避这个问题,而是往更深处挖了一层,发现了一个非常反直觉却极其关键的现象。
核心问题:错的标签里,藏着对的信号
先把这个"伪标签会不会误导训练"的问题想清楚。
假设一道题,模型跑了64次,得到64个答案。这些答案聚类之后,出现次数最多的那个被选为伪标签。研究者观察到一个规律:即便这个多数票是错的,那些不跟它站在同一边的少数答案里,大约79%其实也是错的。
换句话说,投反对票的样本,绝大多数时候不是因为它猜中了正确答案而跟多数派意见不合,它们只是单纯地错了,跟多数票是不是对的没什么关系。
这个发现值得琢磨一下,它揭示了两种训练信号完全不同的"抗噪性"。
如果你用惩罚的方式去纠正那些"跟主流意见不一样"的答案,即便主流意见本身是错的,你的惩罚大概率依然是对的,因为你惩罚的理由从来不是"你没选中真正的正确答案",而是"你和大多数人不一样",这个判断本身跟伪标签的内容无关。
但如果你反过来,想把所有跟多数票"一致"的答案都当作正确范本去教模型模仿细节,一旦这个多数票是错的,你教给模型的每一个字、每一步推理,都在往错误的方向拉。
这就像小区里两种不同的居委会工作方式。一种是有人在业主群里发了个明显错误的通知,居委会主任站出来说"这条通知内容有误,大家先别照做",这句纠错话,就算主任对细节记错了一两处,"先别照做"这个判断本身通常没问题,因为纠错不需要精确知道正确答案是什么,只需要判断这条通知不对劲。另一种是居委会直接把这条错误通知原文打印出来,一字不改地发给全体业主当作官方文件贴在公告栏上,这时候只要通知本身有一个字错了,所有业主看到的都是错的信息,错误被原样复制、放大、传播到每一个接收者手里。如果居委会选择后一种做法,代价就是错误信息被系统性地扩散,而选择前一种纠错式的做法,即便对细节判断有偏差,至少不会把错误当作正确答案四处散播。
论文把这个观察总结成一句很精炼的话:一个被污染的奖励信号,只会误导一整条轨迹一次;而一个被污染的老师,会在每一个字上都误导模型。
TTPO的设计:让每种信号只在它靠谱的地方发挥作用
搞清楚了"哪种信号更抗噪",接下来的设计思路就顺理成章了。
论文提出的方法叫TTPO
TTPO:全称Test-Time Policy Optimization,测试时策略优化,核心思路是把模型生成的一批答案分成"跟多数票一致"和"跟多数票不一致"两组,分别用不同的方式处理。
具体怎么分组处理?论文里的做法是:让模型针对同一道题采样K个答案(论文里用的是K=64个),把答案按数学意义上是否等价进行聚类,选出人数最多的那一类作为伪标签。跟伪标签一致的答案叫"正样本",不一致的叫"负样本"。
对正样本,用一种叫OPSD的策略去蒸馏
OPSD:全称On-Policy Self-Distillation,在策略自蒸馏,做法是让同一个模型"扮演"两个角色,一个是学生(正常做题),一个是老师(提前知道答案,站在答案的角度重新梳理这道题该怎么推理),然后让学生的每一步推理去逐字逼近老师的推理分布。
这里有个巧妙之处。既然正样本本身就是跟伪标签答案一致的,那给它当老师的那个"知道答案的模型",其实条件是学生自己算出来的那个答案,就算这个答案是错的,老师教给学生的东西也不是"某个凭空冒出来的错误答案",而是"用更细致、更谨慎的思考方式,重新走一遍你自己得出这个答案的路"。论文里管这个叫从"思考模式"到"非思考模式"的蒸馏,即便终点答案是错的,这一路上教的审慎推理习惯本身依然有价值。
对负样本,用GRPO做惩罚
GRPO:全称Group Relative Policy Optimization,分组相对策略优化,这里的用法很简单,就是给跟伪标签不一致的答案打上负分,让模型在训练中降低生成这类轨迹的概率。
这个负分的判断标准非常干净:只看"你是不是跟多数票不一样",完全不涉及伪标签具体是什么内容。这正好对应前面那个79%的观察,惩罚"不合群"这个行为本身,比惩罚"没说出正确答案"这个行为,抗噪能力强得多。
论文做了个对照实验,很能说明问题。如果反过来操作,把FKL用在负样本上、把GRPO用在正样本上,AIME26上的准确率只有37.2%,甚至比什么都不做还要糟糕(基线是37.8%)。而正确的组合方式(正样本用FKL,负样本用GRPO)能做到48.9%。中间反转一下角色,效果直接掉了11.7个百分点。这不是玄学,是设计逻辑本身决定的:把该稳健的信号用在脆弱的地方,把该脆弱的信号用在不设防的地方,代价立刻显现。
每个字都不是同等重要的:token级别的精细筛选
光是分组处理还不够,论文又往下细化了一层,细到"每一个字"这个粒度。
先看正样本这边。一段推理里,有些字词是死板的、几乎不需要学的,比如设好坐标系之后,写下"x=0"这种纯粹的代数替换,模型对这种位置早就很熟练了,教它教了也是白教。但另一些位置是真正决定推理走向的关键判断,比如"这条延长线应该往哪个方向延伸",这种位置学生往往还不确定,老师和学生的判断分歧也大,这才是真正值得花力气去教的地方。
论文设计了一个权重公式,同时看两个信号:学生此刻的不确定程度(熵)、老师和学生判断的分歧程度(KL散度)。只要这两个信号里有一个显示"这里还值得学",权重就高;只有两个信号都很低,也就是学生已经很自信而且跟老师意见一致时,权重才会趋近于零。
这就像给一份需要精读的会议纪要做重点标注。会议里大部分寒暄和程序性发言不需要划重点,但涉及关键决策、有争议的判断的那几句话,必须标出来反复读。如果不做这种区分,把整份纪要从头到尾同等力度地精读一遍,读完之后印象最深的可能反而是那些无关紧要的寒暄,真正的决策要点被稀释在大量低信息量的内容里,这跟直接对整段推理不加区分地做蒸馏是同一个问题,重要信号被平均掉了。
负样本这边,问题反过来了。既然是惩罚,那么一条错误的推理链里,是不是每个字都该被惩罚?答案是不。一条最终走向错误答案的推理里,大部分步骤其实是局部正确的算术和格式,真正的问题往往就出在一两个"自信地犯错"的关键节点上。论文设计了一个打分公式,专门找那种"模型给出的概率很高,但熵很低,同时这个词本身出现概率就低"的位置,直白说,就是模型自信满满地说了一句不该说的话。只保留分数最高的一半词参与惩罚。
这个思路可以类比给一份考卷判错。老师改卷子的时候,不会因为学生某一步推理最后导向了错误答案,就把整张卷子里所有的字都打红叉,那样做的代价是,学生连"平方根怎么算"这种他明明算对了的步骤都被否定了,下次遇到同类计算他反而会犯糊涂,因为他分不清哪一步真的错了。真正有效的批改,是精准圈出那个"想岔了"的关键转折点,其余步骤原样保留。这也是为什么论文里去掉这个精细筛选之后,效果掉得很明显:在HMMT26上从31.6%掉到29.5%,BRUMO25上更是从54.7%直接掉到50.0%。
实验结果:没有标签,也能打平甚至超过有标签的方法
这套设计到底管不管用?论文在Qwen3的1.7B、4B、8B三个规格上都做了测试。
先看一种叫"OpenThoughts设定"的场景,模型是在带标签的数据上训练的,只是TTPO刻意不去看那些标签,纯粹靠自己投票生成伪标签来训练。结果是,TTPO在三个规格上都超过了使用真实标签训练的OPSD:1.7B上40.1对39.7,4B上58.6对58.4,8B上62.6对61.7。这个结果说明一件挺让人意外的事:伪标签配合这套非对称设计,效果不比真标签差,甚至更好。
再看真正意义上"完全没有标签"的测试时训练场景,模型直接在测试题目上训练,全程没有任何人工标注。这才是最考验方法的地方。
方法 | AIME26 | HMMT26 | BRUMO25 | 平均
基础模型 | 37.8 | 28.8 | 47.5 | 38.0
TTRL | 39.2 | 30.6 | 50.9 | 40.2
OPSD-TTT | 44.7 | 30.3 | 50.8 | 41.9
TTPO | **48.9** | **33.6** | **53.1** | **45.2**
在1.7B模型上,TTPO把平均分从38.0提升到45.2,涨了7.2个百分点,比TTRL高出5个百分点,比另一种自蒸馏基线OPSD-TTT也高出3.3个百分点。更有意思的是一个跨规模对比:TTPO训练出的4B模型平均分达到61.1,已经超过了没经过任何训练的8B基础模型(60.7)。也就是说,靠着在测试题目上自我训练,一个更小的模型能追上甚至反超一个体量是它两倍多的大模型。
如果把模型的"思考模式"关掉(也就是不让它写长长的推理过程,直接给答案),效果差异会更夸张。1.7B模型上,TTPO带来的提升是25.2个百分点,4B上是30.6个百分点,8B上是36.4个百分点,而有标签的OPSD在同样条件下只能提升7.1、5.8、3.5个百分点。这说明TTPO那种"用惩罚主动纠偏"的机制,把带着思考过程学到的推理习惯,更彻底地压缩进了不带思考过程的直接输出里。
一个反直觉的实验:真标签反而不如假标签好用
论文里还做了一个挺有意思的对照实验,结果乍看有点违背常识。
研究者把伪标签换成货真价实的正确答案,其他设计原样保留,想看看这样是不是能进一步提升效果,相当于探一探理论上限。结果发现,用真实标签训练出来的效果,反而比用伪标签还要差。
为什么会这样?答案藏在题目难度里。AIME这类竞赛题对模型来说是真的难,如果按照"是否等于标准答案"来划分正负样本,很多题目模型跑64次可能一次都没蒙对,正样本集合几乎是空的。这时候用来做精细蒸馏的老师没了教学对象,同时负样本这边由于几乎所有样本都被划入"错误"这一类,组内相对优势的计算方式让惩罚信号也趋近于零,两个分支同时失活,模型压根学不到东西。而伪标签这种"多数票"的划分标准要宽松得多,总能凑出健康比例的正负样本,两个分支都能持续产生有效的训练信号。
这就像一个班级里,如果按照"必须答对高考真题标准答案"来分组讨论,一道超纲的压轴题可能全班没一个人答对,讨论小组根本组不起来。但如果按照"跟主流思路一样还是不一样"来分组,哪怕主流思路本身有问题,至少每次都能分成两组,讨论能持续进行下去,慢慢地大家的思路会互相校正、逐渐趋同于正确方向。硬性要求"必须完全正确才能参与讨论",代价是讨论根本无法启动;放宽到"看多数人怎么想",代价是可能被错误的多数意见带偏,但换来的是讨论持续发生的可能性,而论文的核心发现恰恰是,只要设计好非对称的处理方式,这种"持续发生但不完全准确"的讨论,长期看比"完全准确但很难发生"的讨论更有价值。
论文还专门跟踪了训练过程中模型的"多数票质量"这个指标,结果显示它不是停滞不前的,而是随着训练稳步提升。这形成了一个自我强化的循环:模型变强了,投票质量跟着变好,投票质量变好又反过来给后续训练提供更靠谱的信号,这个循环一旦转起来,就能持续突破最初那个由基础模型能力决定的天花板。
跨题目的迁移能力
还有一点值得单独说一下。研究者担心TTPO会不会只是把测试集里的题目死记硬背下来,训练完了在这批题上表现好,换一批题就打回原形。
为了验证这个疑虑,他们分别在AIME2026、HMMT2026、BRUMO2025这三套题上单独训练,然后互相交叉评测。结果是,无论用哪一套题训练,模型在另外两套题上的表现都同步提升了。这说明TTPO学到的不是某道具体题目的答案,而是某种更通用的推理习惯,这种习惯能迁移到没见过的新题目上。
Q&A
Q1:TTPO是什么?
A:TTPO全称Test-Time Policy Optimization,是一种不需要标准答案的大语言模型训练方法,通过让模型自己投票生成伪标签,再用非对称策略区分处理跟多数票一致和不一致的答案,让模型在测试题目上自我提升。
Q2:为什么用错误的多数票伪标签训练还能有效?
A:因为研究发现即便多数票是错的,跟它意见不一致的答案里大约79%本身也是错的,惩罚这些不合群的答案通常是对的,跟伪标签具体内容无关,这种信号比直接模仿多数票答案抗噪性强得多。
Q3:TTPO和TTRL有什么区别?
A:TTRL只用二元奖励信号做强化学习,每条轨迹只有一个整体分数;TTPO额外引入了逐字逐词的蒸馏信号,让模型学习正确推理的具体步骤,在Qwen3-1.7B上平均分比TTRL高出5个百分点。
好文章,需要你的鼓励
本文介绍LT-OPD训练框架,通过让极限压缩的多模态大模型在自己生成的内容上接受满血版模型指导,并配合渐进式课程学习,在仅保留5%视觉token时把性能保留率从68.6%提升到82.3%,且不增加推理成本。
本文解读ALIGNOPSD方法,该方法针对AI智能体训练中"决策与时间戳错配"问题,通过先对齐功能相同的决策场景再打分,并按可变长度决策段分配信用,在ALFWorld、WebShop、Search-QA三大任务上相比GRPO提升5.5%至8.7%。
本文介绍自适应一致性图(ACG)方法,通过持久化执行记忆图与预算感知的上下文构建,帮助AI智能体在长任务中减少信息失联,在多项基准测试中相比ReAct等基线方法提升了任务成功率。
多智能体AI协作时重复计算KV缓存浪费严重。PReCache提出预计算低秩缓存和中性基础缓存重构两项设计,免训练实现最高3.1倍加速、2.3倍吞吐提升,且准确率仅比不共享方案低1.1个百分点。