Reef TTT-Discover实战测试时训练Test-Time Training如何驱动AI科学发现【免费下载链接】reefContinual learning infra for self-improving agents项目地址: https://gitcode.com/gh_mirrors/reef7/reefReef 是一个面向自改进 Agent 的持续学习基础设施Continual learning infra for self-improving agents它把模型推理、反馈、训练和版本化交付连成闭环。本文带你实战其中的TTT-Discover 配方模型不再只在训练期学习而是在测试时训练Test-Time Training, TTT中针对一道难题反复尝试——每一步把整组解题程序作为训练数据更新 LoRA 权重下一轮搜索直接用新权重。用 Qwen3-8B它最终把 Erdős 最小重叠问题的 C5 上界压到了 0.38094接近论文水平还复现了圆 Packing 问题的最优布局。什么是 TTT-Discover给难题现场学习传统流程里模型训练完就定型推理时只能用老本事。TTT-Discover出自论文Learning to Discover at Test Time换了一个思路模型一边搜索、一边学习。它不断让模型生成解题程序用裁判程序打分再把这一步的整组兄弟姐妹尝试拿来训练模型自己搜索树由 PUCT 算法驱动档案里保存历史最优候选。在 Reef 中这套方法被封装成一个开箱即用的权重训练配方核心信息一览维度说明演化对象模型权重LoRA 适配器反馈信号每条 rollout 一个有限score按坐标填入训练网格损失家族tttd组内自适应熵优势 冻结基座 KL配方代码recipes/tttd/示例工程recipes/tttd/examples/tttd/运行需求GPU 一个自带搜索循环的 harness一步 TTT 训练在 Reef 里如何流转每个步step是一整张固定的兄弟尝试网格默认 8 组 × 64 条 512 次 rollout。完整流程如下选择父节点PUCT 档案为每一组选一个父候选保证谱系多样性生成 rollout每组采样若干条兄弟解题程序走 Reef 的 OpenAI 兼容/v1/chat/completions端点评估与打分裁判judge在沙箱里运行程序、独立重算结果并给出奖励网格满员TTTDProcessor 等待所有坐标到齐——不满员的步不训练混入不同权重版本的步会被整体丢弃训练适配器Slime Megatron 执行一次 Adam 优化步学习率 4e-5rank-32 LoRA发布权重SGLang 热加载新的 LoRA 版本无需重启服务提交搜索状态控制器的 PUCT 档案与 Reef 的场景步号原子配对落盘断点可恢复。搜索与训练各归其位普通 harness 的 PUCT 搜索代码完全不依赖 Reef只需在 ReefTTTDiscoverHarness 里做 4 处集成——请求走场景端点、保留推理回执、用回执上报奖励、带上comparison_set坐标。三个开箱即用的科学发现任务示例自带 3 个 Harbor 任务覆盖数论与几何任务模型要写什么奖励验证超时erdos_min_overlaprun()返回 C5 上界验证后 C5 上界的倒数越低越好1100 秒circle_packing_26run_packing()摆放 26 个圆验证后的半径总和越高越好530 秒circle_packing_32run_packing()摆放 32 个圆验证后的半径总和越高越好530 秒裁判从不信任程序自报的数字它会独立检查圆的数量、是否越界、两两不相交再自己求和。任务定义task.toml、instruction.md、judge 服务都在 recipes/tttd/examples/tttd/harbor/ 下每类任务一个独立目录。快速上手一条命令跑通测试时训练环境要求Linux NVIDIA GPU Docker。完整配置见 serve.yaml首次运行会自动下载 Qwen/Qwen3-8B。git clone https://gitcode.com/gh_mirrors/reef7/reef cd reef # 一次性安装 git submodule update --init third_party/reef-client python -m pip install -e ./third_party/reef-client python -m pip install -e . reef-eval[harbor] # 启动训练栈并跑一轮 Erdős 任务8 组 × 64 rollout2 张 GPU cd recipes/tttd/examples/tttd ./run.sh换任务只需TTTD_TASKcircle_packing_26 ./run.sh每个任务有独立的 scenario 与work/task/状态目录想先验证集成通路把网格降为 2×2、enable_thinking: false跑一个冒烟步即可服务日志写在work/task/reef.logcurl http://127.0.0.1:8900/reef/status可查场景步号参考 8×64 网格建议预留 256 GiB 主机内存否则调低评估并发。Reef 如何守住训练质量测试时训练最大的坑是脏数据进训练。Reef 在 recipes/tttd/ 里做了三层保险严格步屏障TTTDProcessor 只接受坐标齐全、且全部来自同一权重版本的网格部分步直接挂起跨版本步整组作废常量组过滤一组内奖励全相同的 rollout 不提供相对信号会在成批训练前剔除若所有组都常量保留一组做零梯度步行为与参考实现一致损失与配置一致组内自适应-β 熵 leave-one-out 优势见 objective.py训练参数rank/alpha32、Adam 4e-5、无 PPO 截断集中在 recipe.py 与 serve.yaml网格两侧harness 与--global-batch-size必须一致否则屏障永远不释放。实测结果50 步逼近论文水平正式轨迹使用 Qwen3-8B开启 thinking、2 张 B200每步 8×64 rollout 一次 rank-32 LoRA 更新。Erdős 最小重叠前 25 个已提交步步数认证结果TTT-Discover 论文目标250.380940.380930.38080圆 Packing 26 / 3250 步任务认证结果TTT-Discover 论文目标Packing 262.6359832.6359832.636Packing 322.9395732.9395722.940值得注意的一个细节平均 rollout 奖励会先升后降——因为 PUCT 探索让采样的程序未必是档案里最好的。认证成绩来自裁判 搜索档案而不是采样均值的账面数字。下面的 WB 导出同时呈现了奖励、响应长度、采样策略 KL 与单步耗时便于判断训练是否进入平台期复现明细运行配置、存档程序、逐数值历史见 formal-8x64-v3-packing 与 formal-8x64-v3-erdos 的结果 README。想接入自己的发现任务三步即可扩展在 harbor/ 下新建同级目录提供task.toml、instruction.md、judge 服务与验证器judge 的grade(artifact)必须对合法程序返回有限奖励、对非法程序返回约定值把任务名加入 run.py 的TASKS元组它由TTTD_TASK环境变量选择并派生状态目录若上下文或内存吃紧调整 serve.yaml 的序列长度与 harbor_agent.py 的评估并发packing 任务用 32768 上下文、256 并发。测试可参考 tests/test_tttd_harness.py 与 tests/test_tttd_packing_tasks.py。另有一个无 GPU 的托管训练入口 serve-tinker.yaml可在 Tinker 远端跑同一配方每个发现任务请新建独立 scenario——TTT-Discover 是为单一问题特化而非学习通用策略。小结TTT-Discover 展示了测试时训练的完整闭环——搜索产生数据、数据训练模型、新权重加速搜索。Reef 用严格步屏障、版本一致性校验和可恢复的档案提交让这个闭环在 50 步、约 22.6 小时的长任务中稳定收敛到论文级结果。如果你的目标也是让模型边做题边变强这正是 Reef 为科学发现准备的那条路径。【免费下载链接】reefContinual learning infra for self-improving agents项目地址: https://gitcode.com/gh_mirrors/reef7/reef创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考