浏览器同时操控6台G1人形机器人:metatron-browser G1 Racer批处理推理优化揭秘

发布时间:2026/10/30 1:41:10
浏览器同时操控6台G1人形机器人:metatron-browser G1 Racer批处理推理优化揭秘

【免费下载链接】metatron-browser

项目地址:https://ai.gitcode.com/hf_mirrors/nvidia/metatron-browser
点击查看免费下载

metatron-browser 是 NVIDIA 开源的 Metatron G1 人形机器人策略的 ONNX 推理导出仓库,让普通浏览器就能同时驱动 6 台 Unitree G1 机器人行走、交互与摔倒恢复。本文揭秘其中 G1 Racer 场景背后的批处理推理优化:如何把 6 台机器人塞进一次神经网络前向计算,靠 WebGPU 在浏览器里逼近实时运行。

它到底是什么:浏览器里的人形机器人仿真场 🤖

metatron-browser 仓库本身只包含两个 ONNX 模型文件,它们是同一个"统一场景/恢复策略"(unified scene/recovery policy)的两种运行时导出:

  • 单机器人演示版:demo/model.onnx(约 385 MB)
  • 六机器人竞速版:racer/network.onnx(约 385 MB)

配套的浏览器应用负责物理仿真(MuJoCo WASM)、观测构造与控制逻辑;模型本身只是"大脑"。策略是一个MaskedMimic 风格的 Transformer 学生模型,带确定性先验和 decoder,用 FP32 在浏览器中推理。

完整说明可查阅仓库的 README.md,许可与署名信息见 LICENSE.pdf 和 NOTICE.txt。

两份模型的关系:权重相同,接口不可互换 ⚠️

这是新手最容易踩的坑——两个文件大小几乎一样,但绝对不能互相替换:

文件接口定位规模
demo/model.onnx单机器人完整流水线(含观测处理 + 动作转换)403,375,789 字节
racer/network.onnx六机器人批处理网络,观测处理在图外完成403,036,698 字节

官方提示(来自 README 原文要点):不要把 demo 的原始输入直接喂给 Racer 网络,也不要在不重建、不验证的情况下修改它的 batch size。

G1 Racer 批处理推理的三大优化点 🚀

1. 一次前向计算驱动 6 台机器人

传统做法是 6 台机器人各跑一遍网络,6 次前向计算;Racer 把 6 台机器人的状态打包成一个batch,用同一张计算图一次算完 6 个动作输出。这就是标题中"批处理推理优化"的核心——吞吐翻倍不是 6 倍开销,而是接近 1 次开销。

2. 观测处理移出神经网络图

Racer 的观测(observation)计算放在图外由应用侧完成,网络只暴露action和raw_action输出,PD 控制参数来自配套运行时。这样做的好处是:

  • 计算图更"干净",更容易做批量化和编译器优化
  • 图外部分可以用 WASM/JS 灵活处理,不必全部塞进 ONNX 图里

对比之下,demo 版是 39 个输入的完整流水线(含 8 帧历史状态、9 项原始动作历史、场景盒子上下文等),图更大但开箱即用。

3. ONNX Runtime Web + WebGPU 加速

浏览器端推理走ONNX Runtime Web:

  • 支持 WebGPU 的设备优先用WebGPU加速(推荐)
  • 其余设备回退到WebAssembly / CPU,但不保证 6 机器人实时运行
  • 启动时间与吞吐量会受 GPU 驱动、浏览器版本和硬件影响

改了图,效果会不会漂移?实测误差只有 5.55e-6 📊

批处理改造动了图的组织和 batching,但不动学到的权重。官方用 60 组不同/历史扰动测试状态,把六机器人 ONNX 路径 + 编译观测路径与单机器人 demo 导出逐一比对:

  • 最大绝对动作误差:5.55e-6
  • 恢复高度、恢复时机、动作历史、场景输入均被独立扰动验证过,输出确实随之变化(说明输入通路没有被"短路")

Racer 配套应用启动时还会跑动作一致性(action-parity)测试夹具,进一步兜底。注意:这些是数值导出校验,不是任务成功率或真机基准。

新手上手注意事项清单 📝

  1. 配对使用:模型必须与配套浏览器应用(提供物理、观测、目标与控制逻辑)一起用,单独的 ONNX 文件不是完整 Demo
  2. 保持约定一致:关节/身体顺序、四元数约定、历史排序、归一化、目标掩码、控制频率都不能乱动
  3. 可复现性:下载请锁定到具体 commit,而不是main
  4. 安全边界:这不是避障系统或安全控制器,游戏里的"低重力区""重生"是应用机制而非策略能力;真机部署需要独立的关节/力矩限制、监督测试和急停机制
  5. 许可:模型遵循 NVIDIA Open Model License,署名要求见 NOTICE.txt;运动数据集、机器人网格、游戏资产不在本仓库授权范围内

核心文件速查

路径说明
demo/model.onnx单机器人完整流水线导出,SHA2567180e82c…2a0cd4
racer/network.onnx六机器人批处理网络导出,SHA256130a2271…dfbeaf3
README.md接口、验证与限制说明
NOTICE.txt许可署名通知

总结

metatron-browser 用三个关键设计让"浏览器里跑 6 台 G1"成为可能:batch 化推理把 6 次前向压缩为 1 次、观测处理出图让计算图更轻、WebGPU 提供浏览器内 GPU 加速。而 5.55e-6 的导出误差则证明:改组织、不加误差——这正是 Racer 与 demo 共享同一策略、却拥有不同运行时形态的原因。想在浏览器里做多人形机器人推理实验,这套开源导出是目前非常值得研究的样板。

【免费下载链接】metatron-browser

项目地址:https://ai.gitcode.com/hf_mirrors/nvidia/metatron-browser
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考