Test-Time RL 全景:让模型在“考试时”用自己的答案继续学习

一句话结论:Test-Time Reinforcement Learning(TTRL,测试时强化学习)让模型在没有测试标签的情况下,对测试问题多次采样,用多数投票、置信度或外部工具构造伪奖励,再通过 RL 更新模型参数。它的核心能力是把预训练模型“已经会、但不稳定”的知识压到更高概率;它的核心风险也来自同一机制——如果初始偏好是错的,RL 会把错误共识越练越自信。

本文聚焦 2025 年以来 LLM/VLM 语境中的 test-time RL,检索截止 2026-08-31。文末整理了 17 篇核心与相邻论文;除特别标注的 NeurIPS 2025、CVPR 2026 论文外,多数仍是预印本,结论应按证据成熟度阅读。

1. 什么是 Test-Time RL?

先给一个可操作的定义:

给定一批没有标签的测试输入,模型先生成多条候选轨迹,从自身一致性、置信度、验证器或工具执行结果中估计奖励,再用策略梯度更新参数,最后用更新后的模型回答当前或后续测试问题。

典型流程只有五步:

  1. 从无标签测试集取问题 \(x\)
  2. 当前策略 \(\pi_\theta\) 对同一问题采样 \(N\) 个回答;
  3. 从回答分布估计伪标签或软奖励;
  4. 用 GRPO 等 RL 算法更新 \(\theta\)
  5. 在测试流上重复,并选择更新后的 checkpoint 推理。

这里的“test-time”描述的是数据来源和适配阶段,不等于“一次 API 请求内瞬间完成训练”。原始 TTRL 通常在整批 benchmark 问题上进行多轮在线更新,成本远高于普通推理;LADDER 一类工作才更接近“为单个难题临时练习”。

1.1 它和几个相邻概念有什么区别?

范式 测试时增加计算 更新参数 学习信号 能否把经验带到下一题
Test-Time Scaling:self-consistency、Best-of-\(N\)、搜索 候选排序/投票
In-Context Learning、RAG、memory 上下文中的示例或检索结果 只在上下文/记忆内
Test-Time Training / Adaptation 熵最小化、自监督损失等
监督式 RLVR 训练时 真值、单测、证明器等可靠 verifier
Test-Time RL 测试时构造的伪奖励或无标签可验证信号

所以,TTRL 不是“多想几遍”,而是“多想几遍以后真的改权重”;也不是传统在线 RL,因为多数工作没有来自真实环境的外部 reward,而是在用模型自己的输出估计 reward。

2. 原始 TTRL:多数投票怎样变成 RL 奖励

2025 年的 TTRL: Test-Time Reinforcement Learning(NeurIPS 2025)给出了现在最常用的版本。

对问题 \(x\),策略采样 \(N\) 个输出:

\[ y_i\sim\pi_\theta(\cdot\mid x),\qquad i=1,\ldots,N. \]

先提取每条输出的最终答案 \(a_i=\operatorname{Ans}(y_i)\),再选出现次数最多的答案作为伪标签:

\[ a^*=\operatorname*{argmax}_{a}\sum_{i=1}^{N}\mathbf 1[a_i=a]. \]

二值奖励为:

\[ r_i=\mathbf 1[a_i=a^*]. \]

随后用 GRPO 在组内标准化奖励,得到近似 advantage:

\[ A_i=\frac{r_i-\mu_r}{\sigma_r+\epsilon}, \]

再最大化 clipped policy objective,并用 KL 项限制新策略不要离参考策略太远。换句话说,原始方法的新意主要不在 GRPO,而在于:用当前模型的群体答案替代未知真值,造出一个可供 RL 使用的 reward function。

论文的主实验每题先采样 64 条回答用于投票,再下采样 32 条训练;普通模型最大生成长度为 3,072 tokens,实验使用 8 张 A100 80GB。这个配置也提醒我们:TTRL 是重型适配,不是免费的推理技巧。

3. 一个具体数值例子:它为什么会变好,也为什么会练错

假设一道题采样 8 次,抽取到的答案是:

\[ [42,42,17,42,17,9,42,17]. \]

计数为 \(42:4\)\(17:3\)\(9:1\),所以伪标签 \(a^*=42\),reward 是:

\[ r=[1,1,0,1,0,0,1,0]. \]

此时 \(\mu_r=0.5\),按总体标准差计算 \(\sigma_r=0.5\),于是匹配 42 的轨迹得到 \(A=+1\),其他轨迹得到 \(A=-1\)。一次更新会提高所有“最终答 42”轨迹的概率,压低 17 和 9。

用一个教学用的 KL 正则化简化模型,可以更直观看到“分布变尖”。若更新前伪标签的总概率质量为 \(p=0.4\),reward 为 1,其他答案 reward 为 0,温度/正则系数 \(\beta=1\),精确优化后的概率近似为:

\[ p' =\frac{p e^{1/\beta}}{p e^{1/\beta}+(1-p)} =\frac{0.4e}{0.4e+0.6} \approx0.644. \]

一次更新就把 0.4 推到约 0.644;反复更新会继续向 1 靠近。

  • 如果真答案是 42,这叫自举成功:模型把已有但不稳定的正确模式变成稳定能力。
  • 如果真答案是 17,同一个更新会坚定地走错:这就是 confirmation bias / consensus trap

因此 TTRL 的关键问题从来不是“RL 能不能优化 reward”,而是“没有标签时,reward 到底有多可信”。

4. 为什么伪标签并不准,TTRL 仍可能有效?

原始论文在 Qwen2.5-Math-7B 的 AIME 2024 训练中观察到一个反直觉现象:多数投票伪标签的初始准确率只有 37%,但逐条 rollout 的 reward accuracy 达到 92%

原因是数学 verifier 比较的是“当前回答是否等于伪标签”。即使伪标签错了,大量彼此分散的错误答案仍然与它不同,得到 0 reward;相对真值 reward 来说,这些负奖励碰巧仍是对的。论文称之为 “Lucky Hit”。

此外还有两个机制:

  1. 共享参数带来的跨题迁移:一道题上的更新可能强化可复用的代数、格式或推理模式,而不只记住最终答案;
  2. 从 pass@\(k\) 潜力压缩到 pass@1:模型原本偶尔能采到正确轨迹,RL 把这条低概率轨迹变成常见输出。

后续 How Far Can Unsupervised RLVR Scale LLM Training? 给出了更谨慎的统一解释:多数投票、置信度和熵奖励等 intrinsic reward,本质都在 sharpen 初始输出分布。当“高置信度 \(\approx\) 正确”时,sharpening 是能力放大器;两者错位时,它就是错误放大器。小而集中的测试集更新较局部,因此比在数万条无标签数据上长时间训练更不容易整体坍塌。

5. 原始论文到底取得了什么结果?

下面是 TTRL v3 主表中 Qwen2.5-Math-7B 的 non-zero-temperature pass@1:

Benchmark Backbone TTRL 绝对变化 相对变化
AIME 2024 12.9 40.2 +27.3 +211.6%
AMC 35.6 68.1 +32.5 +91.3%
MATH-500 46.7 83.4 +36.7 +78.6%
GPQA 29.1 27.7 -1.4 -4.8%
平均 31.1 54.9 +23.8 +76.5%

这组结果支持三个判断:

  • 收益不只是小模型现象,论文在多个 Qwen、Llama、Mistral、DeepSeek 模型上观察到提升;
  • 数学任务收益最大,因为最终答案容易抽取和比较;
  • 它并非稳定单调增益,GPQA 的下降说明领域 prior、reward 质量和超参数都会改变结论。

另一个重要证据是:TTRL 后模型的 pass@1 可以超过 backbone 的 maj@\(1024\)。这说明它不只是把固定采样分布做一次多数投票,而是通过跨样本参数共享改变了生成分布。但“超过 maj@\(\infty\)”仍不等于学到外部新知识:训练信号始终来自模型自身,后续理论更支持“重组并放大已有 prior”的解释。

6. 2025–2026 论文地图:整个领域在修什么?

6.1 两个起点

时间 论文 角色
2025-03 LADDER: Self-Improving LLMs Through Recursive Problem Decomposition 更早使用 “TTRL” 一词:围绕单个难题递归生成更简单变体,用可验证奖励做针对性 RL
2025-04 TTRL: Test-Time Reinforcement Learning 奠定当前主流范式:无标签测试集、多次 rollout、多数投票伪奖励、GRPO 更新

两篇工作同名但协议不同。LADDER 是“为这道题生成课程后临时练习”,原始 TTRL 是“在测试分布上用共识奖励持续适配”。讨论 TTRL 时最好先说明是哪一种。

6.2 修补多数投票:从“谁票多”到“谁更可信”

时间 论文 核心修补
2025-12 SCOPE: Beyond Majority Voting 用 step-wise confidence 加权投票,再把 rollout 分子组,以多个局部共识维持探索
2026-01 DARE: Distribution-Aware Reward Estimation 不把分布压成单一多数答案,直接利用完整经验分布、探索 bonus 与 pruning
2026-01 TTCS: Test-Time Curriculum Synthesis 针对原题合成符合当前能力的渐进课程,减少难题上伪标签全错的问题
2026-03 Tool Verification for TTRL / T³RL 用代码执行等外部工具证据给 rollout 加权,把“流行”升级为“被验证”
2026-03 DiSCTT 按共识估计题目难度:高共识题做 SFT 巩固,低共识题做带多样性约束的 RL 探索
2026-03 CoVerRL 同一模型轮流扮演 generator 与 verifier,让生成和验证能力共同演化
2026-03 SCRL: What If Consensus Lies? 弱共识时拒绝给正伪标签,并首次引入 entropy-gated 负伪标签排除明显错误
2026-05 TTRL-Guard 用 flip rate 监测正确答案即将被错误多数“灭绝”的窗口,缩放、保留少数派或暂停更新
2026-06 TTRL-CoCoV 按样本置信度分区调用 verifier,并在可靠区域增加策略多样性,兼顾 pass@1 与 pass@\(k\)

这条线逐渐形成一个共同原则:可靠系统必须允许 abstain、保留少数派,并尽可能把 reward 锚定到独立证据。单纯把多数票变得更尖,并没有解决多数票可能从根上就是错的。

6.3 解释机制、重新评价与安全审计

时间 论文 主要结论
2026-03 How Far Can Unsupervised RLVR Scale LLM Training? intrinsic reward 的统一机制是分布 sharpening;大规模长训练呈 rise-then-fall,并提出 Model Collapse Step
2026-03/08 Test-time RL alignment exposes task familiarity artifacts 把 TTRL 用作 train-before-test 的任务对齐,认为部分 RLVR/SFT 提升来自格式和任务熟悉度,而非纯推理能力差异
2026-03 Amplification Effects in TTRL 测试流中的 jailbreak/prompt injection 会被同一放大机制写进权重,并给正常推理带来 reasoning tax

尤其值得记住 TTRL-Guard 的 per-problem 诊断:其设置中 44.5% 的题在训练前已经可解,真正从 0 到 1 学会的只有 0.7%,另有 21.6% 原本可解的题在训练中退化。这些比例只适用于该论文的模型和 benchmark,不能直接外推整个领域,但它说明 aggregate accuracy 会掩盖“少数学会、更多学坏”的迁移过程。

6.4 从文本推理扩展到视觉、生成与机器人

时间 论文 扩展
2025-10 / CVPR 2026 TTRV: Test-Time RL for Vision Language Models 用答案频率和输出分布熵做 reward,覆盖识别与 VQA;16 个数据集平均提升分别为 24.6% 与 10.0%
2026-03 Meta-TTRL 将 intrinsic monitoring reward 用到统一多模态模型的文生图适配
2026-06 T²VLA: Confidence-Driven Test-Time RL for VLA 从高置信轨迹构造局部/全局 pseudo-expert,用轨迹相似度奖励适配机器人策略

这些扩展证明“测试时从自身轨迹造 reward”不是数学专属技巧;但离散答案的 exact match 一旦消失,reward 设计会更依赖置信度、相似度或 learned verifier,因而也更容易把校准误差当成真实成功。

7. 最具创新性的点是什么?

最创新的不是多数投票本身,也不是 GRPO,而是把 test-time scaling 的一次性统计量变成了可积累的学习信号

\[ \text{sample more} \longrightarrow \text{estimate reward} \longrightarrow \text{update weights} \longrightarrow \text{benefit later samples}. \]

普通 self-consistency 丢弃了除最终投票外的大部分计算;TTRL 尝试把这些昂贵 rollout 变成在线训练数据。只要 reward 与正确性正相关、更新足够局部,这就能把“偶尔答对”压缩成“经常答对”,并把同类问题之间的共享结构写回参数。

8. 局限、风险与可能的改进

8.1 自我奖励没有增加外部信息

多数投票和置信度都来自同一个模型。当模型根本没有相关知识,更多采样只会得到更多相关错误。最可靠的改进方向是引入与 policy 相对独立的 evidence:代码执行、编译器、Lean、模拟器、数据库约束或真实环境反馈。

8.2 共识可能消灭正确少数派

hard majority reward 把所有非多数答案同样惩罚,无法区分“荒谬答案”和“低频但正确答案”。可采用软分布 reward、可信度加权、负标签、少数派保留和 abstention;评价时应报告每题的 Learned/Degraded 比例,而不只看平均 pass@1。

8.3 测试流可以投毒,而且更新会跨样本传播

静态模型处理一次恶意 prompt,影响通常停留在本次输出;TTRL 会把该 prompt 产生的伪奖励写回权重,污染后续正常请求。部署时至少需要:隔离用户/租户更新、输入与 reward 审计、更新幅度上限、干净验证集 rollback、只训练 adapter,以及对异常 reward/entropy/flip-rate 的 early stopping。

8.4 “用测试集训练”改变了 benchmark 含义

这不是传统意义的 held-out evaluation。若论文在整个测试集上无标签适配后又在同一批题上报分,测到的是 transductive adaptation,而非冻结模型的 zero-shot 能力。严谨报告应同时给出:

  • frozen backbone;
  • 仅 test-time scaling、相同 rollout budget;
  • TTRL 在适配集上的结果;
  • 严格 split-half 或独立 held-out 集上的结果;
  • 总 tokens、GPU 时、更新次数和 checkpoint 选择规则。

8.5 成本可能远高于收益

每题几十条长 CoT,加上反向传播和多轮 epoch,成本可比普通推理高几个数量级。需要把 TTRL 与同预算 Best-of-\(N\)、verifier-guided search、LoRA/adapter 更新比较,而不是只和单次采样 backbone 比较。

9. 实践判断:什么时候值得用?

TTRL 最适合同时满足以下条件的场景:

  1. 有一批来自新分布、无标签但相似的测试输入;
  2. backbone 已有非零成功率,正确轨迹能被偶尔采到;
  3. 输出可规范化比较,或有可靠工具/验证器;
  4. 允许多次 rollout 和参数更新;
  5. 有干净 held-out 数据监控退化,并可随时回滚。

如果是开放式写作、单个低延迟请求、强对抗输入、无法验证的长程 Agent 任务,或模型对目标领域几乎一无所知,先使用 RAG、工具调用、搜索或带外部 verifier 的 test-time scaling,通常比让模型用自己的共识改权重更稳。

10. 读者应记住的五点

  1. Test-Time RL = 测试数据 + 自造/无标签 reward + RL 参数更新,不是普通多采样。
  2. 原始 TTRL 的核心 reward 是多数投票;GRPO 只是承载优化的算法。
  3. 它最擅长把低概率的已有能力变成高概率输出,而不是无中生有地获取知识。
  4. “正确共识”和“错误共识”经过 RL 都会变强;reward 可靠性、abstention 与 early stopping 比优化器名字更重要。
  5. 评价必须把适配收益、计算预算、数据泄漏、per-problem 退化和安全传播一起报告。

如果用一句最朴素的话收尾:Test-Time RL 让模型在考试时边做题边改自己的脑回路;它可能越做越会,也可能把第一印象练成偏见。


Test-Time RL 全景:让模型在“考试时”用自己的答案继续学习
https://kissshhot.github.io/2026/08/31/test-time-rl-survey/
作者
丁一帆
发布于
2026年8月31日
许可协议

点赞与评论

喜欢这篇文章?点个赞,或留下你的想法。登录 GitHub 后即可参与。

如果评论无法加载,请检查网络连接后刷新页面。