测试数据没有标签,但模型可以自己采样 64 条回答、数一数哪个答案出现最多,把这个“多数答案”当成伪标签;与它一致的得 1 分,不一致得 0 分,再跑 GRPO 更新参数。Qwen2.5-Math-7B 在 AIME2024 上 pass@1 从 12.9 升到 40.2(相对 211.6%),而训练信号只是 maj@n。
TTRL 把测试时缩放(TTS)里的多数投票从“一次性推理技巧”改成“RL 奖励源”。每道题采样 N 条回答,按最终答案投票得到伪标签 y;每条回答与 y 比较,得 1 或 0;用 GRPO 更新模型。这个过程可以在测试数据上在线迭代,不需要任何人工标签。
论文的关键发现是:TTRL 的最终平均准确率能超过它最初的 maj@n 上限,也能接近用真标签训练的模型;在 AIME2024 上,Qwen2.5-Math-7B 的 12.9→40.2 是相对 211.6% 的提升,四个基准平均 31.1→54.9(相对 76.5%)。
机制上,伪标签不一定准:Qwen2.5-Math-7B(base)在 AIME2024 上初始标签准确率只有 37%,但奖励准确率约 92%(§4.2、Figure 9)。原因是“Lucky Hit”:即使伪标签错了,与它不同的错误回答仍会得到 0 分,而这恰好是正确答案应得的奖励。代价是每道题要采样 64 条回答、训练 32 条,推理算力远高于单次前向。
传统流程把训练和测试分开:训练用标签,测试只前向。TTRL 问的是:能不能在测试时继续更新参数,而标签从模型自己的多次采样里来?
给定一道无标签测试题 x,策略 πθ 采样 N 条回答 {y1, …, yN}。多数投票取出现次数最多的最终答案作为伪标签 y*:
然后给每条回答一个 0/1 奖励:
RL 目标就是最大化期望奖励:
这套流程有三个隐含前提。第一,模型对同一道题要能生成足够多样的回答,否则投票没有意义;第二,答案要能被抽取和比较,数学题可以用规则 verifier;第三,模型的先验要足够强,能在多数投票里形成比随机更好的共识。论文的 Table 3 就是在测第三个前提。
TTRL 的位置可以用两条轴划清:标签从哪来、参数更不更新。
传统 self-training 先用一个模型生成伪标签,再拿这些伪标签做 SFT。学生性能通常被教师的伪标签质量限制,且训练是离线的,不会在测试过程中持续改进。
Self-consistency 对同一题采样多条回答并投票,用投票结果作为最终答案;Best-of-N 用奖励模型选一条。它们都只利用测试时算力,不更新模型参数。
投票结果不只用来选答案,还变成奖励信号去更新参数;更新后的模型下一轮投票更准,形成在线循环。论文称其为“lifts itself up by its own bootstraps”。
RLHF/RLAIF 需要人类偏好或强模型反馈;TTRL 的奖励完全来自模型自身的多数投票。它仍然需要一个答案抽取器/规则 verifier 来比较答案,不是“连 verifier 都不要”。
| 方法 | 标签来源 | 测试时更新参数 | 主要成本 |
|---|---|---|---|
| Self-training | 教师模型伪标签 | 否(离线 SFT) | 教师生成 + SFT |
| Self-consistency | 自身多数投票 | 否 | N 次前向 |
| RLHF / RLAIF | 人类偏好 / AI 反馈 | 训练阶段 | 偏好数据 + RL |
| TTRL | 自身多数投票 | 是(测试时 RL) | N 次采样 + 反向传播 |
表中“测试时更新”指在无标签测试数据上继续训练;TTRL 的更新是 GRPO,不是 SFT。
方法本身很短:采样、投票、比较、更新。真正需要解释的是“为什么伪标签不准也能训”。
对每道题用温度采样生成 64 条回答;论文再把每条回答下采样到 32 条用于训练,以降低计算。
抽取每条回答的最终答案,取出现次数最多者为 y*;平票时按实现里的计数顺序处理,论文没有展开平票规则。
奖励是二元的,没有负奖励,也没有部分 credit;同一条回答与 y* 的答案字符串/数值相等才得 1。
把 (回答, 奖励) 交给 GRPO,按组内相对优势更新 πθ;论文也在 MATH-500 / Qwen2.5-Math-1.5B 上验证了 PPO、PRIME 可以替换 GRPO,三条准确率/熵曲线“closely aligned”(Figure 5)。
假设真答案是 A,但模型采样出的多数答案是 B(错)。对于一条预测为 C(也错)的回答,奖励函数比较 C 与 B:不相等,给 0。这个 0 对“C 是错的”来说恰好是正确奖励。也就是说,伪标签不需要等于真答案,只需要与错误回答不同,就能给出正确的负奖励。
论文在 Qwen2.5-Math-7B(base)的 AIME2024 上观察到:初始标签准确率只有 37%,但奖励准确率约 92%;标签准确率多数时候在 50% 以下,奖励准确率多数时候在 75% 以上(§4.2、Figure 9)。原因是 base model 的错误回答很分散,多数答案的占比只有 16.6%,所以“多数答案”与大量错误回答不同,Lucky Hit 频繁发生。
设真答案 A,8 条回答的最终答案是:A, A, A, B, B, C, D, E。多数票 y* = A(3 票),伪标签正确。
奖励:3 条 A 得 1;B/C/D/E 共 5 条得 0。若按真答案 A 计算奖励,这 8 条也应分别是 1/1/1/0/0/0/0/0,所以奖励准确率 = 8/8 = 100%。
若真答案是 F,而多数票仍是 A(伪标签错),则 3 条 A 得 1(错误奖励),5 条非 A 得 0(正确奖励);奖励准确率 = 5/8 = 62.5%。只要错误回答足够分散,这个比例就会高,Lucky Hit 就越有效。
这个例子只解释奖励机制,不代表论文的具体分布;论文的 37%/92% 是 Qwen2.5-Math-7B(base)在 AIME2024 上的实测曲线。
注意 TTRL 并没有“解决”伪标签错误:它只是让奖励在伪标签错误时仍然大概率正确。若多数票集中在一个错误答案上、且模型其他回答与它大量重合,Lucky Hit 就会失效,这也是论文把“先验知识不足”列为失败条件的原因。
TTRL 把标注成本换成了测试时采样与反向传播成本;论文给了完整训练配置,但没有给单题平均 GPU 小时。
| 项目 | 设置 | 说明 |
|---|---|---|
| 硬件 | 8×A100 80GB | 全部实验 |
| 投票采样 | 64 条 / 题 | 温度 0.6;Qwen2.5-Math 与 LRM 用 1.0 |
| 训练采样 | 32 条 / 题 | 从 64 条中下采样,降低计算 |
| 最大生成长度 | 3,072 tokens | LRM 为 32,768 tokens |
| 优化器 | AdamW,cosine | 峰值学习率 5e−7 |
| episodes | 10 / 30 / 80 | MATH-500 / AMC / AIME2024,按数据规模设定 |
| 评测 | 16 条 / 题 | 温度 0.6、top-p 0.95;32k 上下文用 4 条 |
§3.1 与 §3.2:TTRL 对每个 benchmark 单独训练;主表用非零温度采样报告 pass@1,附录 A 的 Table 4 用 greedy decoding,两者不是同一口径。
0 个人工标签;但需要答案抽取器与规则 verifier,数学题之外的任务要先定义“答案相等”。
每题 64 条 rollout,是单次推理的 64 倍;训练再取 32 条,反向传播成本随模型规模上升。
8×A100 80GB;论文没有给总 GPU 小时、单题耗时或显存峰值。
在线循环的关键是:更新后的模型会改变下一轮的投票分布,伪标签质量与奖励质量一起变化。
同一批 rollout 既用于选出最终答案,也用于计算奖励;TTRL 没有额外标注,只是把 TTS 的计算复用为 RL 数据。
传统 TTT 用自监督辅助损失适配单个测试样本;TTRL 用 RL 奖励在测试分布上持续更新,属于在线学习。
先看 Table 1 的主结果,再看 Table 2 的更多模型、Table 3 的难度分层,最后区分 greedy 与采样口径。
| 模型 | AIME2024 | AMC | MATH-500 | GPQA | Avg |
|---|---|---|---|---|---|
| Qwen2.5-Math-1.5B | |||||
| Base | 7.7 | 28.6 | 32.7 | 24.9 | 23.5 |
| w/ TTRL | 15.8 | 48.9 | 73.0 | 26.1 | 41.0 |
| Qwen2.5-Math-7B | |||||
| Base | 12.9 | 35.6 | 46.7 | 29.1 | 31.1 |
| w/ TTRL | 40.2 | 68.1 | 83.4 | 27.7 | 54.9 |
| Qwen2.5-7B | |||||
| Base | 7.9 | 34.8 | 60.5 | 31.8 | 33.8 |
| w/ TTRL | 23.3 | 56.6 | 80.5 | 33.6 | 48.5 |
| Qwen2.5-32B | |||||
| Base | 7.9 | 32.6 | 55.8 | 33.2 | 32.4 |
| w/ TTRL | 24.0 | 59.3 | 83.2 | 37.7 | 51.1 |
| LLaMA3.1-8B | |||||
| Base | 4.6 | 23.3 | 48.6 | 30.8 | 26.8 |
| w/ TTRL | 10.0 | 32.3 | 63.7 | 34.1 | 35.0 |
| Qwen3-8B(non-thinking,3k context) | |||||
| Base | 26.9 | 57.8 | 82.3 | 48.1 | 53.8 |
| w/ TTRL | 46.7 | 69.1 | 89.3 | 53.0 | 64.5 |
Table 1:主结果。AIME/AMC/MATH-500/GPQA 均为 pass@1;主实验用 16 条非零温度采样评测。Qwen2.5-Math-7B 的 GPQA 是 27.7 对 base 29.1,低 1.4 点(相对 4.8%),不是所有单元格都上升。
7B 的 AIME 差值是 27.3 点、相对 211.6%;1.5B 的 MATH-500 差值是 40.3 点、相对 123.2%;7B 的四基准平均从 31.1 到 54.9,相对 76.5%。1.5B 的 AIME 从 7.7 到 15.8,相对 105.2%。
最大值是 7B TTRL 40.2,所以 7B TTRL 柱高 = round(40.2/40.2×1000)/10 = 100.0%;7B Base = round(12.9/40.2×1000)/10 = 32.1%。
1.5B Base = round(7.7/40.2×1000)/10 = 19.2%;1.5B TTRL = 39.3%;32B Base = 19.7%;32B TTRL = 59.7%。
柱高最低 1.2%,避免 0 值柱不可见;本视图最小值 19.2%,不会触发。图表只画三个模型,完整六个模型见 Table 1。
| 模型 | AIME | AMC | MATH-500 |
|---|---|---|---|
| LLaMA-3.2-3B-Oat-Zero | 0.8 → 3.3 | 15.1 → 25.3 | 41.9 → 55.7 |
| LLaMA-3.2-3B-Instruct | 6.0 → 13.3 | 19.4 → 31.3 | 43.9 → 61.6 |
| Mistral-Nemo-Instruct | 0.8 → 0 | 15.4 → 24.8 | 40.8 → 51.0 |
| Ministral-8B-Instruct | 1.3 → 3.3 | 19.7 → 28.9 | 52.4 → 57.8 |
| DeepSeek-Math-7B-Instruct | 1.9 → 2.5 | 16.3 → 22.9 | 42.3 → 52.4 |
| DeepSeek-R1-LLaMA-8B | 51.7 → 69.2 | 81.6 → 88.9 | 89.6 → 90.9 |
Table 2:更多模型。Mistral-Nemo 的 AIME 从 0.8 降到 0;其余大多数单元格上升,但不是每个都上升。
| 指标 | MATH-500-L1 | L2 | L3 | L4 | L5 |
|---|---|---|---|---|---|
| Backbone 准确率 | 25.9 | 33.0 | 36.3 | 32.5 | 22.3 |
| w/ TTRL 准确率 | 71.2 | 76.2 | 76.3 | 58.7 | 39.2 |
| 准确率差(点) | +45.4 | +43.2 | +40.0 | +26.2 | +16.8 |
| Backbone 回答长度 | 2,339.2 | 2,125.1 | 2,120.6 | 1,775.1 | 1,751.3 |
| w/ TTRL 回答长度 | 624.3 | 614.4 | 672.3 | 783.5 | 985.3 |
Table 3:MATH-500 按难度五等分,Qwen2.5-Math-1.5B。L1 准确率 +45.4 点,L5 只有 +16.8 点;回答长度也大幅缩短。论文把这一趋势归因于“先验知识不足”;推断:这不是 TTRL 的奖励机制在难题上失效。原表 Δ 行与显示单元格直接相减在 L1、L5 上差 0.1(45.4 vs 45.3、16.8 vs 16.9),应为未舍入值的舍入差异。
附录 A 的 Table 4 用 greedy decoding,Qwen2.5-Math-7B 从 16.7 到 43.3,相对 159.3%;三基准平均从 35.3 到 65.0,相对 84.1%。主表 Table 1 的 211.6% 用的是 16 条非零温度采样;两个数字不是同一评测口径,不能混用。
摘要与 Table 1 的 211.6% 来自 16 条采样、非零温度;附录 A 的 159.3% 来自 greedy decoding。论文没有把两者统一,页面并列。类似地,Table 1 的 7B GPQA 下降 1.4 点,但四基准平均仍上升 23.8 点,这两个结论也并列。
TTRL 的失败条件比成功条件更值得看:多数投票要有可用的共识,RL 要能稳定训练,算力要付得起。
Table 3 的 L5 只提升 16.8 点,L1 提升 45.4 点;论文明确说模型先验不足以支撑更难问题的学习。若多数投票接近随机,伪标签和奖励都会失去意义。
Figure 11 展示失败尝试:温度 1.0(相对 0.6)和训练 batch 256 都可能让熵持续偏高、准确率不涨。TTRL 没有数据过滤或课程学习,超参错误会被测试分布放大。
算力上,TTRL 每题要 64 条 rollout,训练再用 32 条;仅采样就约为单次推理的 64 倍。论文节省的是人工标注,不是总 compute。对 API 服务,这意味着测试时延迟和成本显著上升;对本地部署,需要额外的反向传播显存与时间。
理论上,论文没有给收敛性证明或性能上界;它只给经验观察(avg@n 超过初始 maj@n)和机制解释(Lucky Hit)。奖励是 0/1,没有利用模型置信度、答案语义相似度或过程奖励;多数投票也可能把错误共识放大,论文对 mode collapse 的缓解讨论有限。
任务范围上,主实验是数学(AIME/AMC/MATH-500)与 GPQA;开放域生成、代码、多模态、Agent 任务没有验证。数学题有明确最终答案和规则 verifier,这是 TTRL 能工作的关键数据条件;换成开放式任务,答案抽取与“相等”判定本身就是难题。