面向科学发现的评估驱动规模化方法 Evaluation-driven Scaling for Scientific Discovery
SIMPLETES 框架在 C×L×K 三维度扩展评估循环,21 个科学发现任务 SOTA。
前置知识
测试时扩展 (Test-Time Scaling, TTS)
在推理阶段投入更多算力来提升模型表现的技术,常见形式包括增加推理 token 数、采样多条候选再聚合、多轮 agent 工具调用等。TTS 与单纯扩大预训练规模正交,是当前增强 LLM 能力的重要维度。本文的 Test-time Evaluation-driven Scaling (TES) 是 TTS 在有可查询评估器场景下的一个特殊子问题。
本文将 TTS 的核心思想从'扩展推理 token'或'扩展 agent 轮次'拓展到'扩展评估查询次数',因此读者需要先理解 TTS 的基本范式才能把握 TES 的定位。
评估驱动发现循环 (Evaluation-Driven Discovery Loop)
由生成器 G、评估器 V、策略 π 三方组成的迭代循环:G 根据当前历史产生候选 y,V 返回分数 r 与反馈 m,π 决定下一步如何把历史压缩成新的查询。该循环是 AlphaEvolve、FunSearch、AlphaTensor 等科学发现系统的共同骨架。
理解这个循环是把 SIMPLETES 与 AlphaEvolve、OpenEvolve、ThetaEvolve 等系统对比的基础,也是看懂算法 1 中 (C, L, K, Φ) 四个设计维度的前提。
代理奖励/奖励作弊 (Reward Hacking)
当优化目标是代理评估器而非真实指标时,模型可能学会利用代理评估器的实现漏洞(如浮点容差、缓存机制、计时器覆盖)来获得高分,但实际泛化性能并未提升。这是 RLHF 和测试时搜索中的经典失败模式。
本文专门用 4.3 节系统分析了四类 reward hacking(浮点容差、时间度量篡改、基线污染、Triton 部分计算),读者需要先理解这个概念才能体会为什么'独立评分验证'是必要的工程设计。
PUCT / RPUCG 树搜索选择策略
PUCT 是蒙特卡洛树搜索中常用的子节点选择公式。RPUCG 是本文为评估驱动搜索量身定制的图扩展版本,把节点价值定义为 $U_i = \max(r_i, \gamma \max_{j \in \mathrm{Ch}(i)} U_j)$,将'自身分数高'与'后代分数高'两类信号融合。
RPUCG 是 SIMPLETES 默认的 Φ(上下文构造器)核心,理解它为什么优于随机/纯分数/纯语义策略,是看懂 4.4.1 节消融实验的关键。
监督微调与迭代拒绝微调 (IRFT)
在数学、代码等可验证领域,迭代拒绝采样微调通过从模型自身的高质量输出中筛选并监督微调,让模型学会产生更多被验证为正确的样本。本文 2.4 节的轨迹级后训练采用 IRFT 的变体:只保留每条轨迹中第一次出现最高分之前的节点,赋予 w=1 的权重。
轨迹级后训练是 SIMPLETES 把测试时发现能力内化进模型参数的关键,理解 IRFT 能帮助读者区分'单纯测试时扩展'与'测试时扩展 + 参数化记忆'两种范式的差异。
研究动机
近年来用 LLM 做科学发现的工作(AlphaEvolve、FunSearch、OpenEvolve、ShinkaEvolve 等)虽然能不断刷新 GPU kernel、数学构造、量子电路等领域的最优解,但它们普遍把'评估反馈'当作更大的搜索过程中的一个组件,而非单独研究对象。绝大多数论文要么把算力堆在生成侧(更多推理 token、更长 agent 链),要么只跑有限几轮 discovery loop 就停止。结果是:(1) 对生成侧扩展的回报在数学/算法类任务上迅速饱和,因为好解往往需要'结构洞见'而非更多采样;(2) 评估循环本身(采样 → 评估 → 反思 → 重写)的最优扩展方式从未被系统化研究过;(3) 现有系统常把'评估器'与'控制策略'耦合得过于复杂(MAP-Elites、island 迁移、bandit 控制器、嵌入新颖性过滤等),导致很难分辨性能提升到底来自评估扩展、控制器设计还是 prompt 工程。
本文的目标是本文的核心目标是把'评估查询次数 N'作为单一主轴,研究如何系统地、原则化地扩展 LLM 驱动的科学发现。具体目标包括:(1) 给出一个紧凑的算法设计空间 $(C, L, K, \Phi)$ 来描述评估循环,使不同方法可以在同一坐标系下比较;(2) 在 6 大领域 21 个真实科学问题上,用开源 gpt-oss-120b/20b 模型系统性地超过 Gemini-3 Pro、AlphaEvolve、ShinkaEvolve、TTT-Discover 等闭源前沿基线或更强的优化管线;(3) 验证评估扩展后的轨迹历史可以作为监督信号,把发现能力内化进模型参数(轨迹级后训练),并能泛化到分布外问题。
与已有工作不同的是,本文的独特切入角度是把生成器 G 固定(不引入 LLM 集成、agent 工具、在线 RL 训练),把整个评估循环抽象成四个可调维度(并行宽度 C、迭代深度 L、局部批量 K、上下文构造 Φ),从而把'评估扩展本身'这个此前隐式存在的变量变成可独立调参、可消融研究的显式变量。这种极简化抽象既不同于 AlphaEvolve 的'外部 archive + 重采样'路径,也不同于 TTT-Discover 的'在线 RL + PUCT 复用'路径,其本质贡献是把科学发现的扩展性讨论从'用什么模型 / 什么 controller'转向'如何花钱购买评估查询'。
核心方法
SIMPLETES 的核心直觉非常朴素:把一个科学发现任务想象成'花 N 元钱买评估查询',你要决定这些钱怎么花才能找到最好的解。直接把钱全花成 N 个独立候选(best-of-N)会浪费反馈信息,全花成一条串行 refinement 链又会被早期决策'锁死'。SIMPLETES 的处方是把这 N 元按 $(C, L, K, \Phi)$ 四个维度分配:C 条并行轨迹(每条独立探索一个方向)保证全局多样性;每条轨迹 L 步串行 refinement 把反馈累积成上下文;每步先生成 K 个候选、按评估分数取最优再提交(局部 best-of-K),避免一次糟糕生成把后续所有探索都带偏;最后用一个上下文构造器 Φ(默认是本文提出的 RPUCG 算法)从轨迹历史里挑选最有价值的若干节点喂给生成器。这种'多臂 + 深挖 + 局部择优 + 智能上下文'的组合在直觉上对应人类科学家的做法:开若干个独立课题、每个课题按反馈迭代、每轮实验取最优结果、再回去翻自己的实验笔记。
SIMPLETES 相对已有方法最本质的区别在于把'评估器查询 N'显式化、并把搜索策略压缩到一个 4 元组 $(C, L, K, \Phi)$。AlphaEvolve/OpenEvolve/ShinkaEvolve 的策略空间过于复杂(archive 重采样、island 迁移、LLM 集成、嵌入新颖性过滤等纠缠在一起),导致 N 的扩展效应被各种辅助机制掩盖;TTT-Discover 把一半精力放在 RL 训练上,无法区分'测试时发现'和'训练后回忆'的贡献;ThetaEvolve 主要靠一个超大的外部程序数据库做批量 refinement,缺乏并行多样性。本文通过 RPUCG 公式 $U_i = \max(r_i, \gamma \max_{j \in \mathrm{Ch}(i)} U_j)$ 把'节点本身分高'和'节点后代分高'两类价值统一为单一标量,使得 Φ 既能做多节点条件化(不同于 PUCT 的单节点),又能保持计算廉价(不需要 LLM 评分)。第二个创新是把'轨迹级'而非'节点级'作为后训练粒度,通过丢弃中间步骤的瞬时奖励、把整条轨迹最终最高分回传给所有节点,训练目标 $\mathcal{L} = -\mathbb{E}_{(x,\hat{y},w) \sim D} w \cdot \sum_{i=1}^{|r|} \log \pi_\theta(\hat{y}_i \mid x, \hat{y}_{<i})$ 与科学发现'长期价值高于短期价值'的本质对齐。
方法步骤详情
完整方法可分解为五步。第一步,初始化:对每个问题 $x_0$,用基线解 $y_0$ 启动(可以是人写的高质量解如 LightSABRE、glmnet、MAGIC),调用评估器得到初始节点 $(y_0, r_0, m_0)$ 写入轨迹历史 $S_0$。第二步,并行启动 C 条独立轨迹:$S_1, \dots, S_C \leftarrow \mathrm{TRAJECTORY}(S_0)$,每条轨迹共享同一个起点但独立维护自己的历史集。第三步,每条轨迹的 refinement(Algorithm 1 中 3-9 行):对 $\ell = 1, \dots, L$,先用 Φ 从当前历史 $S$ 选出多个高价值节点(用 RPUCG 公式 $\mathrm{RPUCG}(i) = U_i + \lambda \rho_i \sqrt{\frac{1+|S|}{1+n_i}}$ 同时考虑开发与探索),拼成 prompt $x$;调用生成器 G 采样 K 个候选 $\{y_k\}_{k=1}^K \sim G(x)$;评估器对 K 个候选逐个打分,取 $k^* = \arg\max_k r_k$;将 $(y_{k^*}, r_{k^*}, m_{k^*})$ 加入 $S$。第四步,异步执行:生成与评估通过两个 worker pool + bounded queue 流水线化,每条轨迹在批内同步、轨迹间异步;为防止漂移,对每个 active 轨迹设反向压力(默认 1 个未完成批)。第五步,后训练(Algorithm 2):对训练任务集 $\mathcal{P}$ 跑 6 轮迭代,每轮用当前模型 $G$ 采样 $\hat{C}=32$ 条轨迹存入 replay buffer $D$;按 IRFT 方式分配信用(top R% 节点 $w=1$,其余 $w=0$,前 4 轮 $R=10$、后 2 轮 $R=5$);按 $\mathcal{L} = -\mathbb{E}_{D} w \cdot \sum_i \log \pi_\theta(\hat{y}_i \mid x, \hat{y}_{<i})$ 做 100 步监督微调(batch=256,lr=2e-5,cosine 衰减)。RPUCG 中的折扣因子 $\gamma$ 默认 0.8,探索系数 $\lambda$ 默认 1.0,灵感节点数 $\mathrm{insp} \in \{3,5\}$。
技术新颖性
技术新颖性体现在三个层面。算法层面,把现有进化搜索统一抽象为 $(C, L, K, \Phi)$ 紧致设计空间,让不同搜索系统在同一坐标系下可比;RPUCG 把 PUCT 从单链扩展到图结构支持的多灵感节点选择。系统层面,引入 strict trajectory synchronization + backpressure + 独立评分验证(外层 secure process 重算分数)来抑制 reward hacking;GPU kernel 任务用 split compile / eval worker 来应对 Triton JIT 编译开销。学习层面,丢弃中间瞬时奖励、按轨迹最终最佳分回传,避免模型在局部最优附近变得过度保守;该设计在 4 个 ID + 4 个 OOD 任务上同时显示 top-10% 至 top-75% 分数提升,且在完全没训过的 Sum-Difference 任务上把 SOTA 从 1.143975 推到 1.144887,验证了 TES 历史的'可迁移性'。
实验结果
SIMPLETES 在 21 个任务、6 大领域全部以开源 gpt-oss-120b 取得 SOTA 或匹配 SOTA。量子电路编译方面,在 72 个 routing instance 上相对 SABRE 平均降低 21.7%、相对 LightSABRE 降低 14.9%;Q20 上 added CNOT 从 60,189 降到 45,441(-24.5%),zoned neutral-atom 36 个电路上几何平均执行时间从 29,187.7 降到 19,507.5(-33.2%),34/36 个电路得到改善。GPU kernel 方面,TriMul 在 H100 上 1.122ms(vs TTT-Discover 1.161ms、人类最佳 Zeyu Shen 1.131ms),跨硬件泛化到 A100 2.135ms(vs GPUMode 最佳 2.198ms)、MI300 1.352ms(vs 2.657ms);batched cumsum 在 6 组 (bsz, n) 上得分 0.104,几何平均比 cub 快 1.52×,最大 2.27×;asymmetric matmul 在 S3-S5 极不规则 shape 上跑出 65.6% 加速。算法工程方面,LASSO 正则化路径相对 glmnet 平均 2.17× 加速(最高 9.56×)、相对 sklearn 14.08× 加速(最高 50.77× 在 TCGA BRCA),发现的关键 trick 是按问题几何在 LARS homotopy 与 coordinate descent 之间切换;AHC058 从零起步的 SA 程序在 AtCoder 官方平台拿到 849,325,750 创 SOTA,10 次提交最低分 848,621,953 仍超 TTT-Discover 最高 848,305,646,分布完全不重叠;AHC039 拿到 567,503 创 SOTA。数学极值方面,Erdős 最小重叠问题拿到 0.380868(消融中达 0.380856 创新纪录),AC2 拿到 0.962694、AC3 拿到 1.453675,均创 SOTA;自相关不等式任务中 SIMPLETES 自主发现 FFT 卷积 + L-BFGS-B(DCT 参数化)等人写方法外的策略。组合构造方面,Sum-Difference 1.143975,post-train 后到 1.144887;Circle Packing n=26、n=32 与 AlphaEvolve V2 同分;Hadamard 阶 29 拿到 320·7^{12}·2^{28}(=0.935673)完全恢复人类长期下界记录。数据科学方面,SLDBench 四任务平均 R² 0.674(vs SLDAgent GPT-5 0.572),u_shape 上 -0.008 vs SLDAgent -0.305;scRNA-seq 去噪在 Tabula 上 0.74(vs TTT-Discover 0.73)、PBMC 0.71 持平。算法分析上:图 15、16 的热图显示 AC1、Erdős、TriMul 上 C×L 都有清晰扩展回报(数学任务对 C 更敏感,kernel 任务对 L 更敏感);图 17 显示分数 gap 随 N 单调下降;表 18 表明 RPUCG 在 insp=3、5 时优于 Random、Balance、LLM-elite;图 19 显示在 L=25 处裁掉一半链时,最优链存活率仍达 10/18 且性能损失 <0.03%。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Superconducting Qubit Routing (Q20/Willow/Heron) | added CNOTs ↓ | 45,441 / 96,774 / 126,822 (gpt-oss-120b) | LightSABRE 60,189 / 110,406 / 137,481 | 24.5% / 12.3% / 7.8% 减少 |
| Neutral-Atom Compilation (36 circuits) | 执行时间 (μs) ↓ | 19,507.5 (geomean) | ZAC 29,187.7 | 33.2% 减少 (34/36 电路变快) |
| TriMul Kernel (H100) | ms ↓ | 1.122 ± 0.008 | Zeyu Shen 1.131 (人类 GPUMode #1) | 0.9% 减少;跨硬件 A100 2.135 vs 2.198 (2.9%)、MI300 1.352 vs 2.657 (49.1%) |
| Batched Cumsum (H200) | ms ↓ | 0.104 (geomean) | cub 0.147 | 1.52× 平均加速,最高 2.27× |
| Asymmetric Matmul (H200) | ms ↓ | 0.440 (geomean w/TF32) | CUDA Agent TF32 0.747 | S3-S5 不规则 shape 上最高 65.6% 加速 |
| LASSO Regularization Path | 求解时间 ms ↓ | 2,502 (平均 11 个数据集) | glmnet 4,139 / sklearn 26,767 | 2.17× / 14.08× 平均加速,TCGA BRCA 50.77× 峰值 |
| AHC058 Apple Production (AtCoder 官方) | score ↑ | 849,325,750 | TTT-Discover 848,305,646 | 1,020,104 (10 次提交分布无重叠) |
| AHC039 Purse Seine Fishing | score ↑ | 567,503 | TTT-Discover 567,057 | 446 (新 SOTA) |
| Erdős Minimum Overlap | overlap ↓ | 0.380868 (消融 0.380856) | TogetherAI 0.380871 / AlphaEvolve 0.380924 | 超越最佳人类纪录 0.186‰ |
| Autocorrelation Inequality AC2 | Φ₂ ↑ | 0.962694 | TogetherAI 0.961206 / AlphaEvolve 0.961000 | ≈0.0015 提升,超越人类下界 6.79% |
| Autocorrelation Inequality AC3 | Φ₃ ↓ | 1.453675 | TogetherAI 1.454555 | 0.00088 减少,超越人类下界 0.30% |
| Sum-Difference Problem | Γ(A) ↑ | 1.144887 (post-train 后) | AlphaEvolve V2 1.121936 | 2.05% 提升,比 best human 1.059793 高 8.03% |
| Hadamard Max Determinant 29 | |det A| ↑ | 320·7^{12}·2^{28} (0.935673) | ThetaEvolve 0.5764 | 62.3% 提升,恢复人类长期下界 |
| SLDBench (4 任务平均) | R² ↑ | 0.674 | SLDAgent GPT-5 0.572 | +0.102;u_shape -0.008 vs -0.305 |
| scRNA-seq Denoising (Tabula Muris) | score ↑ | 0.74 | TTT-Discover 0.73 | 0.01 提升 |
局限与改进
作者明确指出的局限包括:(1) 严重依赖快速可编程评估器,对物理实验、临床试验等需要湿实验或人工评分的领域难以直接迁移;(2) (C, L, K) 的最优分配目前依赖人工调参,图 15/16 的热图已经显示数学任务偏 C、kernel 任务偏 L,但缺少自适应机制;(3) 对离散/二元奖励(如形式化定理证明)支持不足,因为缺少细粒度分数信号。本文观察到的额外局限:(4) 任务间超参差异巨大——LASSO 用 C=32 走的是代码搜索路径,SLDBench 改成 C=16/L=20/K=16 才合适,缺乏统一默认;(5) Table 4 显示 TriMul 在 Triton 3.4.0 vs 3.6.0 下性能差异显著(K-Search 在 3.4.0 报 1.030ms,SIMPLETES 报 1.137ms,但官方榜 1.140ms),说明实验结果高度依赖评估环境,跨论文对比需要谨慎;(6) 4.3 节详列的四类 reward hacking 表明代理评估器的可信度仍是开放问题,目前只能靠人工兜底 + 独立评分验证,缺少自动化检测;(7) 训练时只在 4 个数学任务上后训练 6 轮,OOD 任务上的 Top 10% 提升幅度有限(甚至在 HM29 上轻微下降),说明轨迹级后训练并非万能;(8) 论文未讨论不同评估器调用成本的差异——GPU kernel 一次评估可能需数十秒,而数学 verifier 仅需毫秒,统一 N=51,200 预算背后的实际成本可能相差几个数量级。
独立分析的弱点
独立分析几个具体弱点及改进方向。第一,RPUCG 的贪心选择未做前瞻规划。当 L=100 时,最后一个节点可能受前 99 步启发选择影响极大,但 RPUCG 完全忽略节点的'未来使用价值',只考虑当前 propagated value。改进方向是引入 LLM-rollout 式的 lookahead,或借鉴 Lin/Liu 等人 2025 年的前瞻选择机制做混合策略。第二,Φ 默认 insp=3~5 是经验值,表 18 显示 insp=1 退化严重、insp=10 也下降,说明 context window 容量与灵感密度之间存在硬约束。可以尝试基于 LLM 的'认知负荷估计'动态调整 insp。第三,轨迹级后训练只用 4 个数学任务训 6 轮,样本多样性受限;而且 IRFT 把整条轨迹都标记为 w=1 会让'达到最高分之前'的'失败探索'也获得奖励,这与'丢弃中间奖励'的设计哲学自相矛盾。改进方向是引入 trajectory-level advantage(类似 GRPO)而非二值 IRFT,并在训练集中加入更多领域(GPU kernel、组合构造等)。第四,best-solution restart 在第 2、3 轮几乎总饱和,但作者未给出该现象的形式化解释(猜测是 local search 在固定初始化的基础上很快耗尽),可以加 bandit 控制器在'restart'和'fresh'之间选择。第五,GPU kernel 任务在表 5 跨硬件对比时直接用 H100/H200 训出的 kernel 在 MI300 上跑,没有平台特定调优,但 AMD GPU 的内存模型与 NVIDIA 差异很大,改进方向是引入平台描述符让模型能感知硬件差异。第六,评测单一指标(如 LASSO 的 1/geomean 时间)会把所有电路同等加权,但 TCGA BRCA(500×20238)样本量为 500 时 SIMPLETES 1.34× vs 1.36×(Gisette 5100×5000)的提升差距远大于表 8 的几何平均暗示的差距,应该报告 per-dataset 提升直方图。
未来方向
作者提出的方向包括:(1) 自适应预算分配,根据 trajectory-level 反馈动态调整 (C, L, K);(2) 与实验室机器人/湿实验平台对接,把评估循环延伸到物理科学;(3) 把语义信号从稀疏/二元奖励中提取出来(特别是形式化定理证明场景)。基于成果可延伸的方向还包括:(4) 把 RPUCG 推广到 non-stationary 评估器(评估器本身会随时间漂移,比如编译器版本更新);(5) 用多模态 LLM 让生成器同时读图(损失曲线、kernel 性能 profile)而非仅读文本错误;(6) 在 21 个任务上做 cross-task 迁移学习,验证轨迹级后训练是否能在量子任务上学到的'局部搜索习惯'迁移到 GPU kernel;(7) 与 AlphaProof、AlphaGeometry 这类形式化系统结合,让 TES 既能做数值/代码搜索也能做符号推理;(8) 把 C, L, K 当作连续变量(通过 model-free RL 学习),而非离散网格搜索。
复现评估
代码方面,作者声明使用 vLLM 作为推理后端,gpt-oss-120b/20b 作为生成器,所有 21 个任务的评估器、初始程序、超参均在论文 3.x 节详尽给出。算力方面,TriMul 在 H200、SLDBench 评测在 sandbox 终端、AtCoder 评测在 ALE-Bench C++20 容器内、scRNA-seq 评测 300s 时间限制,整体算力门槛中等。GPU 任务需要 H100/H200/A100/MI300 中至少一种;后训练用 32 张 H200 训 15 小时 + 256 张 H200 采样 82 小时,是论文最重的算力需求。复现难度方面,最大的不确定性是:(a) gpt-oss 模型权重的访问门槛;(b) TriMul 的 Triton 版本敏感性(表 4 显示 3.4.0 vs 3.6.0 跑同一 kernel 性能差异可达 10%+);(c) 评估器安全沙箱(作者用 Docker + 关闭网络 + 独立评分验证来实现,普通复现者可能用 E2B/Daytona 等替代,效果可能不同);(d) 论文只公开'最高分',不公开 10 次独立 run 的方差分布(除 AHC 外),复现者可能因为无法严格对齐 RPUCG 的 γ、λ、insp 而得到不同结果。整体判断:算法和超参完全可复现,但端到端数字对环境敏感,预期复现 SOTA 数字的难度为'中高'。
论文图表