笔记日期:2026-10-13
论文:Learning to Discover at Test Time(TTT-Discover)
作者:Mert Yuksekgonul, Daniel Koceja, Xinhao Li, Federico Bianchi, Jed McCaleb, Xiaolong Wang, Jan Kautz, Yejin Choi, James Zou, Carlos Guestrin, Yu Sun
编号与版本:arXiv:2601.16175v2,2026-02-05;首次提交 2026-01-22
资源:论文与附录 · 作者项目页 · 官方资源入口
1. 先抓住问题:搜索的人,能不能在搜索中变强?
让语言模型生成一万次答案,与让它从前面的尝试中学会如何生成下一次答案,是两件事。最简单的多次采样只增加机会;带历史记录的搜索会把好的候选放进下一次提示词;TTT-Discover 则进一步更新模型参数,使刚刚获得的经验改变后续提案的分布。
这篇论文的目标也很特别:最终要交付的是一个优秀的解,而不是一个在许多问题上平均表现更好的模型。对于 GPU 算子优化,找到一个正确而且更快的程序就有价值。对于数学构造,只要有一个满足约束的函数把已知界限推进一点,其他大量失败尝试并不会抵消它的意义。模型在这里是寻找结果的工具,不是最终产品。
因此,论文同时调整了“怎样学”和“从哪里继续搜”。前者使用偏重高奖励结果的熵目标,并自适应控制这种偏重的程度;后者维护候选档案,用借鉴 PUCT 的规则选择起点,还限制同批次内反复扩展同一条谱系。两者形成循环:好的中间结果提供更有希望的上下文,而模型更新提高在这些上下文中提出有效修改的概率。
我认为论文最值得保留的结论,是这个循环在若干连续可评分的问题上确实有效。它有数学构造、算子工程、算法竞赛和单细胞数据分析的实质结果。不过,几类任务中的证据强度不一样,也并非每项任务都超过原有最佳结果。把它读成一个针对发现任务设计的优化系统,比直接读成“通用自主科学家”更准确。
下面统一以 v2 的全文和附录为依据。数值是作者报告的结果;示意图、推导和明确标注的玩具例子是为了帮助理解。遇到表格、正文与项目页口径不一致的地方,我会把差异保留下来,不用一个看起来更漂亮的数字代替另一个。
2. 前置知识:问题、状态和动作分别是什么?
理解这套方法,先要分开三个对象。问题描述 说明要解决什么、有什么约束、怎样评估。状态 是一个候选解,例如阶梯函数的数值数组,或者一段候选程序。动作 是模型生成的回答,通常包含思考文本和代码。环境对回答进行解析,必要时执行其中的程序,才得到下一个状态。
数学任务尤其能说明这个区别:模型写出的 Python 搜索程序,不等于最后用于证明界限的数学对象。程序运行后产出的函数数组才是被评分的构造。算子任务中,生成的程序本身可以作为候选状态,但仍然要满足题目定义的正确性与时间约束。外层算法相似,内部的环境转换却可能完全不同。
设 是状态转换, 是已有最佳参考结果的奖励,可以把任务写成:
这里统一约定奖励越大越好。若原始指标是运行时间,就要做相应变换,论文经常使用倒数。无效候选或超时程序的奖励记为零。这个约定只有在有效结果的奖励尺度与之相容时才合理;“是否有效”本身也是优化问题的一部分,不能只关注速度或分数而忘记约束。
强化学习也不要求对编译器、GPU 计时器或数值求解器求导。策略梯度通过已采样回答的概率更新模型。整段回答的对数概率,可以展开成每个 token 的条件对数概率之和。因此,最终得到的一次标量反馈会影响很多生成决策。这使方法具有通用性,也带来了困难:一段长程序中究竟哪些决定有用,并不会被一个最终奖励直接告诉模型。
状态复用解决的是另一类问题。一次回答的上下文有限,但它产出的好候选可以成为下一轮起点,后者又可以成为再下一轮起点。这样,多轮改进就不必全部塞进同一个上下文窗口。档案保存具体结果,参数更新改变提出结果的方式,这两种记忆各有用途。

图 1:根据正文第 2–3 节和附录 A 绘制的方法图。标准配置每轮选择 8 个父状态,每个生成 64 个回答,共训练 50 轮,最终返回见过的最佳有效解。
3. 为什么平均奖励可能选错方向?
考虑一个用于讲解的例子,它不是论文实验。安全策略每次稳定获得奖励 3;冒险策略有八分之一概率得到 10,其余时候得到 0。按平均奖励,安全策略的 3 明显高于冒险策略的 1.25。但是,如果我们要找的是奖励超过 5 的新结果,安全策略永远不能成功。
假设冒险策略各次采样相互独立,尝试 次后至少成功一次的概率为:
推导很简单:一次失败的概率是八分之七,全部失败的概率是它的 次方,再用一减去它。真实 TTT-Discover 的采样并不独立,因为模型和起点都在变化,所以不能直接用这个式子预测真实成功率。这个例子只说明:提高均值与提高获得一次突破的机会,可能给出不同的策略偏好。
论文还指出一个尺度问题。把算子从 2000 微秒优化到 1900 微秒,工程上可能很难,但两者倒数奖励的数值差距很小。若指数加权强度固定,训练后期的细微改进可能几乎没有信号;若一开始就把强度设得很大,偶然出现的离群高分又可能控制整个更新。

图 2:人为设定的奖励分布示例。安全策略固定得 3,冒险策略以八分之一概率得 10;发现阈值为 5。图中曲线不是论文测得的训练效果。
这里需要留一个边界:偏爱奖励分布的高端,不等于精确优化有限预算下的最佳结果。特别罕见的高奖励、测量噪声和昂贵的候选,都可能让这种偏好产生问题。TTT-Discover 采用的是一个有动机的替代目标和搜索规则,并没有直接求解所有资源约束下的最优发现概率。
4. 熵目标的梯度,一步步推出来
先固定一个起点,把问题描述从符号中省略。定义指数奖励的期望及其对数:
越大,高奖励回答的相对权重越大。求这一步梯度时,把当前状态、奖励函数和已经选出的 当作固定量。这是一次局部更新,并不是对整个历史档案的演化、父状态选择乃至温度搜索过程一起求导。
先对对数求导,再使用 ,得到:
指数项除以它的期望以后,权重的总体均值为一。同时,策略的 score function,也就是 ,在自身分布下的期望为零。因此,从权重中减去一,不改变总体梯度,却提供了一个基线:
这与直接使用“奖励减去平均奖励”不同。这里比较的是指数奖励与指数奖励的平均水平,较高的结果会受到更强的强调。它并不是把所有有效回答都同等向上推,也不是只保留第一名,其选择压力取决于 。
两个极限可以帮助建立直觉。对很小的正 做展开,有:
也就是说,归一化目标在均值之外,还增加了对奖励离散程度的偏好。这说明它为什么具有寻求高端结果的倾向,但不代表任何来源的方差都值得追求。真实能力差异与计时噪声都能产生方差,优化器并不会自动分辨两者。
若动作支持集有限,而且最大值对应的动作有正概率,可以提出最大的指数项:
需要注意除以 这个步骤。未经归一化的对数通常随 增长,并不会在数值上直接趋于最大奖励。论文中“目标趋向最大值”的直观说法,应通过这个归一化极限或权重向最大值集中来理解。还有一个更基本的限制:如果当前策略根本不会生成某类动作,单纯重加权也无法从零概率中凭空创造那类动作。
5. 自适应温度:约束的是候选重加权分布
作者把指数权重乘回当前策略,得到一个辅助分布:
这里的 KL 衡量“重新分配候选权重以后,和原分布差了多少”。当奖励差距很大时,较小的 就足以让权重集中;当后期只有细微差别时,允许使用更大的 ,把差别重新放大到可学习的程度。
这不是论文里唯一的 KL。学习优势还包含相对于初始模型的惩罚,用来抑制模型漂移。前者控制同一起点下的结果权重,后者约束模型偏离初始策略的倾向。不能因为候选辅助分布满足一个 KL 预算,就断言梯度更新后的神经网络也严格满足同样的信赖域边界。
每个父状态有 个样本。经验参考分布是这 64 个样本上的均匀分布,温度约束就变成:
这个等式很有解释力。若 KL 正好等于 ,则分布熵为 ,熵意义下的有效支持规模 就是 32。它不是说恰好只有 32 条回答得到非零权重,也不是常见的 那个重要性采样有效样本量。不同指标刻画的是不同意义上的集中程度。
为什么可以用二分查找温度?将 KL 写成 ,对 求导后,线性期望项相消,得到:
因此,在非负温度区间内,集中程度单调增加。不过,等式目标并非总能达到。如果整组奖励相同,不论温度多大,分布都保持均匀。如果最高奖励有 个并列,极限 KL 为 ,也可能低于预算。论文给出了二分规则,却没有逐项指定所有退化情形的数值约定;阅读算法时应保留这个边界。

图 3:八个明确给定的玩具奖励所产生的权重,以及随温度变化的 KL。目标为 log 2,所以熵有效支持规模是四。它解释附录 A.1,不代表训练实测结果。
附录 A.1 最后计算优势时,使用的是留一法分母。先减去组内最高奖励以稳定指数,再把当前样本从分母中去掉:
留一法的直觉是:不要让一个极高奖励样本用自己的数值把自己的分母也显著抬高。不过,这仍然是有限样本上的比值估计,不能直接等同于总体优势,也不能自动宣称无偏。它们的样本和不一定为零。更重要的是,温度由完整批次的 决定,而最终学习优势使用留一法,两者不是同一套完全归一化的权重。
正仿射变换也值得推一下。如果 且 ,选择 ,归一化后的 不变;减去最高奖励之后,平移项同样消失。这说明它对奖励平移和正比例缩放具有不变性,实际数值搜索的容差、温度上限仍可能影响结果。对于非线性变换,例如把时间倒数改成负时间,则没有这个保证。
算法 1:一个父状态的自适应熵优势
1. 输入同一起点产生的 K 个奖励 r[1:K]。
2. 定义 q(beta) = softmax(beta * r)。
3. 寻找使 KL(q || uniform) = log(2) 的 beta。
4. 当目标可达到时,用二分查找求解。
5. 单独处理奖励全相同或目标不可达的情形。
6. 计算 z[n] = exp(beta * (r[n] - max(r)))。
7. 对每个 n,求其余 z 的平均值 Z_loo。
8. 令 A[n] = z[n] / (Z_loo + epsilon) - 1。
9. 学习时再加入相对初始策略的惩罚。
第 5 步是根据公式指出的数值边界,不是声称作者另写了某个具体处理规则。尤其在所有回答都无效、奖励都为零时,调高温度并不会产生相对优劣信息。这一情况也提示我们:方法真正依赖的是有信息量的反馈,而不只是一个形式上能调用的评分函数。
6. 状态复用:既看最好孩子,也看这条路线被探索了多少次
候选档案不只是一个分数排行榜。它还保存父子关系、访问次数,以及一个起点曾经生成过多好的孩子。附录 A.2 给出了完整的选择分数,其中包含正文简写式省略的奖励范围缩放因子:
表示已经扩展了多少个父状态, 是沿谱系累积的访问计数,标准配置的 。第一项利用已经观察到的潜力,第二项给尚未充分探索的候选额外机会。奖励范围让探索奖励与原始奖励使用相近的单位,避免仅仅因为换了奖励数值尺度,探索项就忽然变得特别大或特别小。
假设档案中有 个状态,按奖励从高到低排序,最好的排名为零,则先验为:
最好状态的先验是最差状态的 倍,但后者仍有正权重。排名先验不像奖励 softmax 那样容易被一个特别大的离群值直接压倒,不过代价是忽略了相邻分数之间差多少。全局奖励范围不能完全补回这种局部距离信息。
没有被选中过的状态,其 暂时用自己的奖励;被扩展过的父状态,则使用它直接生成的孩子中的最大奖励。这里用最大值而不是平均值,符合“只需一个好解”的目标,但也更容易被一次测量噪声影响。附录还有一个很容易看错的细节:最佳孩子值只更新直接父节点,访问计数才向所有祖先传播。把最大奖励也一路传播给所有祖先,会变成另一种算法。
同一个批次里,一旦选了某个父状态,就会禁止再选择它的祖先或后代作为其他父状态。这样八组采样不会全部围着同一条路线的不同阶段打转。扩展完成后,每个父状态只把最好的两个孩子加入档案,再按奖励保留全局前 1000 个状态,同时保留初始种子。

图 4:附录 A.2 的谱系更新示意。孩子奖励 8 和 7 只是解释用数字。谱系屏蔽作用于当前批次的父状态选择,而访问计数跨批次保留。
算法 2:候选档案的选择与更新
1. 按当前奖励排序档案,计算每个状态的先验 P。
2. 结合 Q、奖励范围、先验与访问次数计算 S。
3. 从合格状态中选出一个高分父状态。
4. 本批次屏蔽它的祖先和后代。
5. 重复选择,组成父状态批次。
6. 为每个父状态生成一组孩子,并评估奖励。
7. 更新直接父状态的历史最佳孩子奖励。
8. 增加父状态及其祖先的访问次数。
9. 增加全局父状态扩展计数。
10. 每个父状态只插入奖励最高的两个孩子。
11. 保留奖励前 1000 个状态,同时保留种子。
这是一种借鉴 PUCT 的档案优先级规则,不应直接套用 AlphaZero 的树搜索解释。这里先验来自奖励排名,价值用最大孩子奖励,档案还会剪枝。传统树搜索中的收敛保证不能不加条件地搬过来。若档案奖励完全一样,,探索奖励也会消失,此时种子多样性和并列处理就很重要。
更简单的替代方案是 epsilon-greedy:多数时候选当前最好的,少数时候探索别处。它的优势是容易理解,论文的算子消融也表明它表现并不差。弱点是早期偶然获胜的候选可能长期占据主要机会。另一方面,TTT-Discover 的前二孩子和前千档案规则,也可能删掉暂时分数低、但后续很有潜力的过渡解。它是在利用与多样性之间做实用折中,不是穷尽搜索。
7. 将两部分接起来:每轮做什么,哪些配置会变?
主要实验使用 gpt-oss-120b,在 Tinker 上以秩 32 的 LoRA 适配。每轮 512 次生成,分成八个起点、每个起点 64 次。温度按组计算,随后对整个批次只做一次梯度更新。论文还对训练基础设施中的采样器与学习器分布差异做重要性比率修正,但这不意味着它对所有旧档案回答反复做很多轮离策略训练。
正文把相对初始策略的惩罚写成:
指数重加权相对的是当前策略,惩罚项的参考却是初始策略。默认系数为 0.1,算法工程任务降低到 0.01。它希望在强化成功经验时保留一个有用的提案分布,但不能保证任意程度的单题适配都不会损害其他能力。
算法 3:完整的发现循环
1. 输入单个问题、对应评估器和初始策略。
2. 建立适合该领域的种子状态与档案。
3. 对 50 个训练轮次依次执行:
4. 用算法 2 选择 8 个合格父状态。
5. 当前策略为每个父状态生成 64 个回答。
6. 解析或执行回答,得到候选状态。
7. 检查题目约束并计算连续奖励。
8. 用算法 1 计算各组学习优势。
9. 加入 KL 惩罚与采样器/学习器比率修正,
对完整批次做一次 LoRA 更新。
10. 更新父状态统计,保留有潜力的孩子。
11. 返回整个过程中见过的最佳有效候选。
这份伪代码强调依赖关系:先有评估才有优势,下一轮使用更新后的模型与档案。领域提示词、执行预算和约束依然属于人们事先定义的环境,不是外层算法自动学出来的全部科研流程。
默认优化器是 Adam,学习率 ,两个动量系数为 0.9 和 0.95,数值稳定项为 。上下文上限为 32,768 token,多数任务把提示词加思考限制在 26,000 token,为最后输出程序留下空间。这种预算分配不是无关紧要的小事:如果模型把全部预算花在思考上,最终代码被截断,再有潜力的思路也无法获得有效反馈。
附录 D 有明确例外。AHC039 因初始程序较长,把提示词加思考限制改为 22,000;AHC058 使用 25,000,并报告 的学习率略好。生物任务的生成上限是 20,000 token。因此,“多数参数跨任务固定”可以成立,“所有参数完全一样”则不准确。
数学程序执行预算也出现几种描述:正文说十分钟,附录写最多 1100 秒,示例提示词写 1000 秒。这里把差异列出来,不擅自选择其中一个作为唯一口径。一次模型生成后还能运行多久,直接决定这次“样本”实际上包含多少搜索工作,因此会影响计算公平性。
8. 数学结果:构造确实前进了,但有两类任务没有超越前人
Erdős 最小重叠问题可以从集合划分及偏移差值计数来理解。论文采用连续形式,用一个满足取值范围与积分约束的阶梯函数表示极限密度,从而给出常数的上界。找到的函数有 600 段,而且是不对称构造;论文展示的早期参考构造有 95 段。
表 2 给出的上界依次为:人类参考 0.380927,AlphaEvolve 0.380924,Best-of-25600 为 0.380906,TTT-Discover 为 0.380876。越小越好。这个结果确实同时超过了此前参考值和同模型的大量独立采样。不过,独立采样本身也已经超过早期参考,所以仅仅说“打破了旧纪录”,还不足以单独归因于在线训练。
第一个自相关不等式考虑指定支撑区间上的非负函数。一个有效构造可以通过下式给出上界:
分子关心自卷积在最坏位置有多大,分母消除整体幅度缩放的影响。优化要在保持可行性的同时压低这个比值。论文描述的进展从梯度方法转向线性规划,后期尤其关注接近达到最大值的卷积约束。直觉上,没有必要平均对待所有位置;真正限制上界的,是那些快要成为瓶颈的约束。
这里有一个末位数字差异:表 2 的 TTT 值是 1.50287,正文和图 3 写 1.50286。本文比较图统一使用表 2。对应的 AlphaEvolve V2 为 1.50317,表中 ThetaEvolve 对既有构造的细化为 1.50314。数字差异不会改变领先关系,但也不应该为了显得精确,把来源并不一致的最后一位直接当作唯一真值。

图 5:重绘表 2 的部分数据。Erdős 的先前 AI 参考为 AlphaEvolve,两类自相关问题使用 AlphaEvolve V2。AC1 采用表格中的 1.50287,正文另记为 1.50286。
第二个不等式要提高的是下界,方向相反。TTT-Discover 得到 0.9591,低于 AlphaEvolve V2 的 0.9610,因此没有刷新最佳结果。圆堆积则是另一类情况:使用 Qwen3-8B,26 个圆的半径和达到 2.635983,32 个圆达到 2.939572,与表中最好结果持平,没有进一步超过它们。
与 ThetaEvolve 的小模型比较很有参考价值,但不是完全一致的控制实验。TTT 使用原始 Qwen3-8B,对方使用 DeepSeek 蒸馏的变体;本文运行 50 轮、每轮 512 次,对方报告 65 轮、每轮 512 次。更稳妥的说法是:在不同模型变体和预算下,TTT 的结果仍有竞争力,而不是直接照搬引言里较宽泛的“相同模型、相同计算量”措辞。
9. GPU 算子:加速倍数要连同测量条件一起看
TriMul 包含归一化、投影、门控、大的成对矩阵运算,以及输出变换。作者将找到的优化概括为:融合周边操作以减少内存流量,在允许的容差下采用 FP16 中间表示,并把重型矩阵乘法交给已有优化库。它没有把“最耗计算的算子”简单等同于“最值得从头替换的算子”,而是选择从整条计算链路的瓶颈入手。
训练时的奖励来自 H100。表 4 最后报告四类 GPU 的运行时间,其中 A100 和 H100 来自官方排行榜提交;B200 和 MI300X 因官方基础设施问题,采用与组织者协调的环境进行十次重复测量。这些结果都有价值,但它们的获取方式不是同一种,不能省略这个区别。
| GPU | 最佳人类时间 | TTT 时间 | 推导加速比 |
|---|---|---|---|
| A100 | 4531.5 微秒 | 2198.2 微秒 | 2.061× |
| H100 | 1371.1 微秒 | 1161.2 微秒 | 1.181× |
| B200 | 1038.9 微秒 | 914.2 微秒 | 1.136× |
| MI300X | 2515.8 微秒 | 1555.7 微秒 | 1.617× |
加速比是旧时间除以新时间,延迟下降比例则是一减去这个比值的倒数。例如 A100 对应约 51.5% 的延迟下降,H100 约 15.3%。B200 的表格数据只对应约 12.0%,所以并不支持“所有 GPU 都超过 15%”的无条件概括。项目页还保留了部分不同的早期数字;上表统一使用 v2 表 4。

图 6:由 v2 表 4 计算的旧时间/新时间。B200 和 MI300X 使用十次测量的均值;图中是均值之比,没有把它伪装成加速比的置信区间。
“跨硬件泛化”也要说明选择过程。附录 C 中,H100 会取训练得分最高的 20 个候选;其他目标硬件在若干训练节点上收集高分及随机正确候选,再到目标硬件上测量和选择。因此,可以说参数学习时用的是 H100 奖励,但不能说最终候选完全未经目标硬件反馈就被选中。训练环境与最终选择环境是两个阶段。
MLA-Decode 没有给出同样的胜利。由于 MI300X 难以大规模获取,训练用 H200,最终在三个 MI300X 实例上评估。TTT 的均值为 1669.1、1706.1、1671.3 微秒,最佳人类分别为 1653.8、1688.6、1668.7 微秒。作者明确写出,没有任何一组在统计意义上超过最佳人类。附录中专门筛选的 Triton 候选还更慢一些。
最后,满足竞赛的数值容差,不等于在所有真实模型工作负载中都保持相同行为。论文引用的专家意见特别提到 FP16 在完整工作负载中的潜在稳定性问题。因此,这些结果说明在给定输入形状、容差和硬件规范下找到了快的有效程序;它们没有自动证明可以无条件替换所有相关模型的训练和推理组件。
10. 算法与生物实验:留出评估让证据更扎实,也仍有边界
AHC039 从一个较强的 ALE-Agent 衍生程序开始,与 ShinkaEvolve 使用相似的起点;AHC058 则从头开始。这一差别很重要:两个结果不代表完全一样的“从空白独立创造”的程度。初始候选也是算法获得的先验信息。
训练阶段用公开生成器生成 150 个本地测试,最后选择本地得分最高的三个程序提交官方平台。表 6 中,AHC039 的分数为 567,062,对比最佳人类 566,997,高出 65 分,约 0.0115%。AHC058 为 848,414,228,对比已有 ALE-Agent 的 848,373,282,高出 40,946 分,约 0.00483%。它们是窄幅但真实的排行榜差距,不是巨大幅度的实践优势。
这些比较是事后回测,不意味着系统在原比赛时限和组织条件下参加并获胜。找到的程序组合了候选池、贪心初始化、束搜索、模拟退火等熟悉工具。发现有效组合可以有价值,并不要求每一项组成技术都从未被人提出过。论文对这一层的意义,主要体现在搜索组合及最终评分,而不是每个子算法的新颖性。
单细胞去噪则提供了另一种留出评估:训练奖励使用 Pancreas 数据集,最终在 PBMC 和 Tabula 上比较候选算法。起点为 MAGIC。附录 E 要求归一化 Poisson 分数处在 0.97 到 1 之间,再优化与 MSE 对应的奖励。因此,表 1 把奖励简写成 MSE 倒数,只能看作概览,不能代替附录对归一化分数和约束的具体说明。
最终综合分数是归一化 MSE 与归一化 Poisson 分数的平均,与原始 MSE、原始 Poisson 损失不是同一列。PBMC 上,表格中的 MSE 从 MAGIC 的 0.19 降到 0.15,综合分数从 0.64 提高到 0.71;Tabula 上,MSE 从 0.18 降到 0.14,综合分数从 0.64 提高到 0.73。OpenEvolve 已经相当接近,两个数据集的 MSE 为 0.16 和 0.15。

图 7:重绘表 7 已舍入的 MSE 数据。训练使用 Pancreas,PBMC 和 Tabula 留出评估;指标改善本身并不测量下游生物学发现。
作者描述的改动包括按基因自适应混合变换、低秩细化和对数空间平滑。这些步骤能够针对重建指标起作用,但也可能抹平弱而重要的生物差异。论文及专家意见都承认,指标提高不保证产生更好的生物学洞见。跨数据集结果支持的是指标层面的迁移,后续仍需要真正的生物任务评估。
基线比较还有一处条件:OpenEvolve 在大约 17,000 次采样后开始积累大量超时程序,最终保留更早发现的最好候选;此外,它不断增长的提示词也更容易碰到固定上下文上限。这可以说明所测系统配置的问题,但不能简单等同于“所有冻结模型的搜索都必然不如在线学习”。更适配预算的基线,仍是值得进一步比较的对象。
11. 消融实验到底支持了哪些判断?
表 8 是理解方法贡献的重要证据,因为它在同一个算子任务上固定模型和采样数量,再改变学习与复用规则。完整方法在本地评估器上的最佳时间为 1203.10 微秒;固定温度加 PUCT 为 1483.83;平均奖励目标加 PUCT 为 1985.67;只有 PUCT、完全不训练,为 2060.70。自适应学习搭配 epsilon-greedy 复用为 1328.89,而去掉复用以后恶化到 5274.03。
朴素测试时 RL 是 5328.73 微秒,Best-of-N 是 5352.36,差距很小。这说明在该配置下,“允许更新参数”本身并不足够。档案复用带来了很大一部分进步,自适应熵学习又进一步改善已经很强的复用基线。比较合理的解读是两个机制共同构成有效系统,而不是把所有收益都归给权重更新。

图 8:重绘表 8,数值为各运行中最好的候选,不是多次完整训练的置信区间。本地完整方法的 1203.10 微秒,与表 4 官方 H100 的 1161.2 微秒属于不同测量口径。
论文还画出三种曲线:截至当前的最高奖励、当前轮次的平均奖励、当前轮次的最高奖励。三者回答不同问题。“截至当前最好”按定义不会下降,即使模型当前能力变差,它也可以保持不变。当前均值提高,更能说明提案分布整体在改善;当前最大值则仍容易受偶然性影响。把三者都展示出来有帮助,但仍不能替代多次完整运行来估计成功概率。
还有两个不能省略的限制。第一,epsilon-greedy 在这个任务上已经很强,所以支持“必须复用”的证据,要强于支持“必须采用这个具体 PUCT 变体”的证据。第二,作者承认并没有穷尽所有温度调度、批大小及组合参数。当前配置下的最佳结果,不等于其他方案经过认真调优以后也无法接近。
图 4 的原始图注还把 50 乘以 512 写成了 256,000。正确结果应为 25,600,与正文和 Best-of-25600 的名称一致。本文全部按 25,600 理解采样预算。这不是改变作者实验,而是避免把图注中的乘法笔误复制成十倍预算。
12. 计算账应该怎样算,什么时候值得采用?
标准配置的尝试数确实是 50 轮乘 8 个父状态乘 64 次生成,合计 25,600。相同的尝试数控制了实验中的一个变量,却没有控制生成 token 总量、每个程序运行多久、硬件费用、最终筛选成本,以及人为建立评估环境的工作量。
论文按平均 3000 个提示词 token 和 16,000 个生成 token 估计,一次 Tinker 运行约需 500 美元。这是论文当时假设下的历史 API 成本,不是今天的报价,也不能直接当成全部实验预算。候选程序本身的执行、目标设备上的重复计时,以及专家评估,都有不同的成本边界。

图 9:原创建模图。标准配置的 25,600 次尝试可以精确计算,但它不等于全部计算资源成本。图中没有补造论文未报告的费用。
可以用一个简单的记账关系帮助区分:
这个式子是本文组织成本概念的方法,不是论文新增的一张实测表。当每段生成代码还能执行很长时间时,评估成本可能占主导。举一个明确属于上限演算的例子:若 25,600 次评估都各用满 1100 秒,串行累计约为 7822 个评估小时。真实程序可能提前结束,无效候选可能很快失败,并行也会改变墙钟时间,所以不能把这个上限写成实际消耗。
我会在三个条件同时成立时认真考虑这条路线。第一,评估器有可信、分辨率足够的分数。第二,预算允许足够多轮尝试,使参数适配的开销有机会回本。第三,优质中间状态能被后续候选继承。如果每轮反馈几乎全是零,指数权重没有多少排序信息;如果只允许生成几次,复杂适配流程可能占去过多资源。
替代方案之间的选择也就更清晰。独立多次采样简单、容易并行;冻结模型的进化搜索能继承结果,不要求训练接口;测试时适配会改变提案分布,但需要参数访问和训练稳定性;学习一个价值模型可能更聪明地选择起点,却也引入预测误差。这篇论文选择相对简单的档案规则,部分原因就是希望跨多类环境复用。
对于后续研究,我更想看到按实际成本归一化的最佳结果曲线、有效且完整候选的比例、固定的最终评估协议,以及多次完整搜索的结果分布。这些信息能区分“过程稳定变好了”和“偶然抽中了一个很好的结果”,也能让程序执行成本不同的系统得到更公平的比较。
13. 局限与失败边界
连续反馈不是一个可以随意删掉的前提。 作者把稀疏奖励、二值奖励和不可验证领域列为后续方向。当一组 64 条回答全是零分时,温度再大也不知道哪个方向更接近成功。课程设计、奖励塑形或更好的状态表示可能帮助解决,但那些都属于额外机制,不能归入本文已经证明的能力。
评估器可能成为科学有效性的瓶颈。 追求最大值的优化器,也会追逐偶尔出现的测量误差。计时噪声、宽松的数值容差、只覆盖部分目标的代理指标,都可能制造虚假的高奖励。重复测量能减少一部分噪声,但不能把不完整的生物指标自动变成完整的生物学目标。
模型并没有被要求普遍泛化。 这套方法可以针对当前问题专门适配。最终程序在新测试、新数据集或新硬件上表现更好,不等于适配后的语言模型在所有科学问题上都更强。候选结果的迁移能力与模型能力的迁移,需要分别测量。
剪枝可能失去必要的过渡状态。 每个父节点前二、全局前千,都偏向当前看起来好的候选。有的结构变化需要先经过一个分数更差的阶段,才能打开新的路线。谱系屏蔽能增加保留集合内部的多样性,却不能重新找回已经被删除的所有路径。
跨任务固定参数的证据有范围。 许多默认值确实共享,但学习率、KL 系数、上下文分配和执行预算都有公开例外。若只拿到一个冻结模型的推理 API,也无法直接使用其中的参数学习部分。方法适用条件与实验基础设施是连在一起的。
统计证据并不均匀。 某些硬件结果重复十次并报告区间,核心消融却主要报告每次运行找到的最好候选。对同一个已选算子重复计时,估计的是测量变化;从头重复整个搜索,才能估计发现结果的稳定性。前者做得认真,并不自动补足后者。
14. 独立批判性分析:学到了什么,又选择出了什么?
14.1 最有说服力的是联合设计,不是单独一个新开关
TTT-Discover 值得重视的地方,是让目标与流程保持一致。它没有只给生成器接上普通 RL,而是让罕见的好结果获得更强学习权重,再把这些结果作为后续起点。表 8 显示两者可以相互支持:档案提供有希望的上下文,学习让针对这些上下文的改动更有效。
但归因尚不完整。没有学习的复用已经显著胜过独立采样;没有复用的自适应学习,在这个算子实验中几乎没有进步。这支持的是互动关系,而不是“学习终将普遍替代搜索”的简单排序。进一步比较时,应该固定评估成本和有效完成的样本数,再给几种强复用方案分别加上或去掉适配,观察联合优势是否仍然存在。
这也是为什么我不把提示词历史看成一种无关紧要的基线技巧。对于程序和数学构造,保留一个已经可用的状态,本身就能节省大量重新发现基础结构的代价。权重学习的贡献应当在这个已经很强的起点上衡量,才更接近论文真正想回答的问题。
14.2 KL 的解释很漂亮,但它控制的对象要说准
自适应规则具有清晰的熵解释和尺度不变性,这是方法设计中非常有吸引力的一点。不过,KL 约束施加在已观察回答上的辅助分布,而真实参数更新使用留一法优势、参考策略惩罚和优化器。它们可以近似实现偏向高奖励的意图,却没有直接保证更新后的模型满足某个精确 KL 上界。
因此,“控制学习信号的集中程度”比“保证模型每步都位于严格信赖域内”更有依据。这个区分不是符号洁癖:若学习率大、回答长或奖励噪声高,神经网络的实际变化可能与样本权重的直觉很不一样。辅助分布上的数学性质,仍需通过实际训练行为来判断效果。
还有一个相关问题:得到高奖励,不等于模型已经识别出高奖励的真正原因。一段回答可能同时包含有用与无用决策,整段强化会把它们一起提高概率。论文描述从混合精度到更深融合的演进,很有启发性,但没有单独识别哪些内部表示或因果推理能力改变了。即使缺少这种解释,最终候选仍然可以很有用;两种价值不必混成一个结论。
14.3 “发现”至少包含三层不同证据
第一层是评估器分数更高;第二层是在新案例、新数据或新目标设备上仍有效;第三层是超出基准的科学或工程价值。论文在不同领域到达的层次并不一样。有效数学构造直接对应一个界限;算子速度要附带形状、精度与设备条件;去噪指标还需要进一步连接到生物任务。

图 10:本文提出的阅读框架,用来区分证据的含义,不是新增基准,也不是对作者工作的打分。
从这个角度看,没有获胜的任务反而很重要。AC2 和 MLA 表明循环不会自动压倒强参考;圆堆积表明复现或追平好的构造可以验证方法适用性,却不必被包装成新发现。一篇论文可以展示一条有潜力的路线,同时给其他方法、强基线和更严格评估留下空间。
“没有人工干预优化过程”也不能被读成“没有人类先验”。附录中的问题描述、评分函数、约束、起始程序与方法提示,提供了大量领域结构。更准确的问题是,在这些固定的环境先验之上,系统能自主推进多少步,以及它是否能在换一套合理评估条件后保持优势。
14.4 下一步应衡量单位资源下的可靠改进
后续最有价值的问题,不只是最好结果还可以提高多少,还包括这种提高发生的概率、消耗多少评估工作、预算增加时会不会更严重地过拟合噪声。多次完整搜索、预先固定的独立最终测量,以及成本归一化曲线,会比再增加一个孤立的最高分更直接。
这些实验还可以解释档案中的乐观最大值何时有利、何时有害。在可靠的构造问题里,一次有效突破值得继承;在噪声较大的计时环境中,一次看似极好的结果可能只是偶然偏差。用同一个最大值原则处理两者很方便,但其统计风险并不相同。
上述内容是后续研究建议,不是本篇笔记已经做过的新实验。现有论文证明了测试时学习在一类发现任务上可以发挥作用;适配搜索、代理指标优化和更广泛科学能力之间的边界,仍然需要更多证据。
15. 结论
TTT-Discover 对测试时计算做了一个具体而有意义的改变:系统不仅继承以前的候选,还可以从以前的尝试中更新自己。自适应熵优势回答“一个好结果应该多大程度改变策略”,PUCT 式复用回答“下一次应该从哪个候选继续”。两者结合,在若干连续可评分的问题上取得了实际进步。
我会保留一个带条件的结论:当评估器可信、中间状态可复用、搜索预算足够时,学习与搜索可以相互增强。论文没有证明所有任务都获胜、总成本必然更低,或系统已经具备通用科学自主性。更可迁移的经验是:学习目标、搜索记忆和最后的成功标准,应该共同描述同一个问题。
参考资料与来源说明
- Mert Yuksekgonul 等,Learning to Discover at Test Time,v2,2026-02-05。方法、表 1–10 与附录 A–F 的主要依据;阅读范围为完整 72 页 PDF。
- 作者项目页。作为概览与资源入口;数字不一致时,本文明确采用所选 v2 的对应表格。
- 官方项目资源。论文附带的资源入口。
式 2、式 6–7、式 9 的熵解释、式 10、式 13 的求和展开和式 16 包含本文的解释性推导或重述。十张图均为本篇重新绘制;玩具分布有明确标注,实测数据重绘注明原表,全文不声称产生新的实证性能结果。