内容提要
RadixArk与NVIDIA合作,首次公开在NVIDIA Vera CPU上端到端运行Miles框架的智能体强化学习训练,沙箱全部部署于Vera。测试显示,Vera单沙箱性能与x86相当或更优,满载时优势显著:同等延迟下单路负载为x86的1.3–2.1倍。实际训练中,Vera沙箱使每回合快12%,推理越快差距越大。更短回合还带来样本更新鲜、KV缓存闲置更少、组内等待更短等收益,从而在相同GPU上更快达到目标质量。
延伸解读
沙箱CPU为何成为智能体RL的瓶颈
文章指出,智能体强化学习训练中模型需在沙箱内执行命令、编译代码并运行测试,一次训练可同时开启数百个沙箱。这些沙箱的CPU性能直接影响训练速度与规模。RadixArk的测试显示,当沙箱部署在Vera CPU上时,同等延迟要求下单路负载可达x86的1.3–2.1倍,意味着相同CPU数量能支撑更大训练任务。这提示读者,在规划智能体RL基础设施时,沙箱CPU的满载性能比单任务峰值更值得关注。
满载下的性能差距比空闲时更关键
文章对比了Vera与AMD EPYC Turin、Intel Xeon 6。单沙箱运行时Vera已持平或略优,但真正差距出现在满载:176个沙箱并发时,Vera单核仅减速5%–22%,而Turin单核减速40%–70%。实际训练中,Vera沙箱使每回合快12%,且推理越快差距越大——若推理快8倍,Turin回合耗时将比Vera长33%。这说明评估沙箱CPU不能只看空载跑分,需模拟生产级并发负载。
更短回合带来的三项隐性收益
文章强调,回合缩短不仅意味着单位时间完成更多回合,还带来三项训练效率收益:一是样本更新鲜,异步训练中长回合会导致权重滞后更多步;二是KV缓存闲置更少,Turin方案下闲置KV缓存占比17.9%,Vera仅12.1%;三是组内等待更短,GRPO需等最慢回合完成才能训练,快命令能缩短长尾。这些收益共同作用,使相同GPU上更快达到目标质量。
迁移到arm64的工程成本与验证
文章提到,将全部沙箱迁移到Vera CPU无需修改训练代码,工作集中在环境侧。由于Terminal-Bench和SWE-bench仅发布x86镜像,团队为530个任务重建了arm64环境并逐一对照参考解验证。此外,沙箱服务侧需支持Vera的64K内存页并为arm64构建Firecracker。这提示读者,跨架构迁移的主要成本在于环境镜像重建与验证,而非训练框架本身,但需预留相应工程投入。
Q&A
RadixArk Miles 在 NVIDIA Vera CPU 上运行智能体强化学习训练,具体是怎么部署的?
RadixArk 与 NVIDIA 合作,将 Miles 框架的所有沙箱都部署在 NVIDIA Vera CPU 上,每个沙箱是一个轻量级 Firecracker 虚拟机,从快照启动不到 0.1 秒。推理(SGLang)和训练仍在 GPU 集群上,每个回合在 Vera 上获得全新沙箱,智能体在沙箱内执行命令并循环直到完成,验证器在同一沙箱内运行测试并返回奖励。
Vera CPU 跑沙箱比 x86 快多少?满载时优势有多大?
单沙箱运行时,Vera 性能与 x86 相当或更优:典型命令在 Turin 上慢 8%–19%,在 Xeon 6 上慢 29%–50%。满载时优势显著:在同等延迟标准下,单路 Vera 负载是 Xeon 6 的 1.3–1.5 倍、Turin 的 1.4–2.1 倍。原因是满载时每个 Vera 核心仅减速 5%–22%,而 Turin 核心减速 40%–70%。
在实际 RL 训练中,把沙箱从 Turin 换到 Vera 能带来多少提速?
在相同模型、任务、GPU 和设置下训练 5 步 160 回合,Vera 沙箱使每回合平均快 12%(Turin 每回合多 53 秒)。其中智能体命令多 26 秒(多 60%),验证器多 11 秒(多 24%),沙箱内其他工作多 12 秒,等待模型仅多 4 秒。推理越快,差距越大:推理快 8 倍时差距达 33%,快 32 倍时达 41%。
更快的沙箱为什么能让 RL 训练整体更高效?除了省时间还有什么好处?
更短回合带来三方面收益:1)样本更新鲜:异步训练中回合越长权重落后越多,Vera 上回合短 11% 可在相同陈旧度下训练快 12%;2)KV 缓存闲置更少:Turin 上闲置 KV 缓存占 17.9%,Vera 仅 12.1%;3)组内等待更短:GRPO 需等最慢回合,Vera 上完成回合等待时间占 38%–52%,更快命令缩短长尾,提前释放组内槽位。
把沙箱迁移到 Vera 需要修改训练代码吗?环境方面做了哪些适配?
不需要修改训练代码,因为 Miles 支持多种智能体框架和沙箱后端,所有工作都在环境侧。具体适配包括:为 arm64 重建 Terminal-Bench 和 SWE-bench 中 530 个任务的环境并逐一验证;在沙箱服务侧增加对 Vera 64K 内存页的支持,并为 arm64 构建 Firecracker。
Vera 在满载下的稳定性如何?能支撑多大规模的沙箱集群?
一个 Vera 插槽可容纳 4096 个空闲沙箱;在 90 分钟持续负载下无故障且延迟无漂移。满载测试中,每个插槽运行 176 个后台任务(填满 176 线程)时,Vera 每分钟完成 1057 次评估,Turin 仅 638 次。同等延迟标准下,单路 Vera 承载的负载是 x86 的 1.3–2.1 倍,意味着相同 CPU 数量可支持更大规模训练。