test-time-training/discover

GitHub: test-time-training/discover

TTT-Discover 是一个通过测试时强化学习让 LLM 在数学、GPU kernel、算法和生物学等前沿领域实现自主发现与优化的研究框架。

Stars: 587 | Forks: 84

🔬 TTT-Discover

在测试时学习以发现

arXiv Project Page License

Mert Yuksekgonul*, Daniel Koceja*, Xinhao Li*, Federico Bianchi*
Jed McCaleb, Xiaolong Wang, Jan Kautz, Yejin Choi, James Zou†, Carlos Guestrin†, Yu Sun*

斯坦福大学 · NVIDIA · Astera Institute · 加州大学圣地亚哥分校 · Together AI

**TTT-Discover** 在测试时执行强化学习,允许 LLM 针对手头问题的特定经验继续训练。我们在数学、GPU kernel、算法和生物学领域取得了**新的最优结果**。

## 安装说明 ``` pip install ttt-discover ``` 或者从源码安装: ``` pip install -e . ``` 设置环境变量: ``` export HF_TOKEN="..." export TINKER_API_KEY="..." export WANDB_API_KEY="..." export WANDB_ENTITY="..." ``` ## 创建你自己的环境 要为你的应用程序使用 TTT-Discover,你需要创建一个新的环境。以下是创建自己环境的一般步骤。 1. 创建一个继承自 ttt_discover.Environment 的新环境。 2. 定义一个继承自 ttt_discover.BaseRewardEvaluator 的 reward evaluator。或者,你也可以使用 ttt_discover.SandboxRewardEvaluator 在沙盒中运行生成的代码。 3. (可选)向你的环境添加初始状态定义。 4. 定义配置并使用 ttt_discover.discover 运行! 以下是一个新环境的示例骨架。 ``` # 导入所需的 ttt_discover 对象 from ttt_discover import Environment, BaseRewardEvaluator, State, DiscoverConfig, discover # 定义你的 reward function class YourReward(BaseRewardEvaluator): def get_reward(self, code: str, state: State) -> float: # ...add logic here for computing reward return { "reward": reward, "correctness": 1.0, "raw_score": raw_score, "msg": f"Success; raw_score={raw_score}", "result_construction": [], # Could reuse "stdout": "", # No stdout } class YourEnv(Environment): reward_function = YourReward state_type = State # You may define your own state if you wish def get_question(self) -> str: state_ctx = self.initial_state.to_prompt(100, metric_name="performance") return f"""You are an expert mathematician specializing in combinatorial problems and computational geometry. Your task is to ... {state_ctx}.""" config = DiscoverConfig( env_type=YourEnv, experiment_name="test-run", wandb_project="", ) # 运行 discovery discover(config) ``` 查看 [examples/circle_packing](examples/circle_packing) 获取一个完整的实现示例。 ## 核心结果
| | **数学**
Erdős Overlap ↓ | **Kernel A100**
TriMul ↓ | **Kernel H100**
TriMul ↓ | **算法**
AtCoder ↑ | **生物学**
去噪 ↑ | |------------------|:----------------------------------:|:---------------------------:|:---------------------------:|:---------------------------:|:--------------------------:| | 人类最佳成绩 | 0.380927 | 4531 μs | 1371 μs | 566,997 | 0.64 | | 此前 AI 最佳成绩 | 0.380924 | — | — | 558,026 | — | | **TTT-Discover** | **0.380876** | **2198 μs** | **1161 μs** | **567,062** | **0.71** |
## 领域
数学 — 组合数学和分析领域的经典未解问题

| 任务 | Erdős Min. Overlap ↓ | 自相关 (AC1) ↓ | 自相关 (AC2) ↑ | |------|:--------------------:|:-----------------:|:-----------------:| | 人类最佳成绩 | 0.380927 | 1.50973 | 0.9015 | | 此前 AI 最佳成绩 | 0.380924 | 1.50314 | 0.9610 | | **TTT-Discover** | **0.380876** | **1.50287** | 0.9591 |
Kernel 工程 — 针对三角矩阵乘法的 GPUMode TriMul 竞赛
| 任务 | A100 ↓ | H100 ↓ | B200 ↓ | MI300x ↓ | |------|:------:|:------:|:------:|:--------:| | 人类最佳成绩 | 4531 μs | 1371 μs | 1005 μs | 2462 μs | | **TTT-Discover** | **2198 μs** | **1161 μs** | **905 μs** | **1596 μs** |
算法工程 — 关于真实世界优化的 AtCoder Heuristic 竞赛 [AHC39] [AHC58]
| 任务 | AHC39 (几何) ↑ | AHC58 (调度) ↑ | |------|:------------------:|:--------------------:| | 人类最佳成绩 | 566,997 | 847,674,723 | | 此前 AI 最佳成绩 | 558,026 | 848,373,282 | | **TTT-Discover** | **567,062** | **848,414,228** |
生物学 — 在 OpenProblems 基准测试上的单细胞 RNA-seq 去噪
| 任务 | PBMC ↑ | Tabula ↑ | |------|:------:|:--------:| | 人类最佳成绩 | 0.64 | 0.64 | | **TTT-Discover** | **0.71** | **0.73** |

复现我们论文中结果所需的环境位于 examples/ 下。要运行它们,请参阅 [reproducing.md](docs/reproducing.md) ## Submitit 我们提供了 submitit 脚本,以使用 ray 在多个节点上以 slurm 作业的形式启动 ttt-discover。有关示例,请参见 [submitit_launch.sh](examples/circle_packing/submitit_launch.sh)。 ## 安全提示 如果使用 ray,**强烈建议**在隔离的网络或 VPN 上运行所有作业。Ray 具有极少的内置安全保护措施,不应在公共或共享网络上暴露。 ## 引用 ``` @article{ttt-discover2026, title = {Learning to Discover at Test Time}, author = {Yuksekgonul, Mert and Koceja, Daniel and Li, Xinhao and Bianchi, Federico and McCaleb, Jed and Wang, Xiaolong and Kautz, Jan and Choi, Yejin and Zou, James and Guestrin, Carlos and Sun, Yu}, journal = {arXiv preprint arXiv:2601.16175}, year = {2026} } ``` ## 许可证 该项目在 MIT 许可证下授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
标签:DLL 劫持, IaC 扫描, Yelp, 人工智能, 大语言模型, 强化学习, 机器学习框架, 测试时训练, 用户模式Hook绕过, 逆向工具