一份 403MB 的 ONNX、一个冻结的策略:英伟达把 G1 的全身控制做成了「写目标、不用重训」的接口
一个冻结的策略,加上一段描述「手和脚要去哪」的代码,就能让 29 个关节的 G1 走路、起身、踢球。英伟达这次开源的重点不是模型,是那个把「训一个新技能」变成「写一段目标」的接口——以及它自己写进文档的那句「5.55e-6 不代表任务成功」。
- 是什么:英伟达在 Hugging Face 发布 Metatron v1,一个冻结的单策略,控制 29 个关节的宇树 G1 完成行走、场景交互、跌倒后起身;权重不变,新技能靠改「目标」而不是重训。
- 接口怎么用:输入不是每一帧的完整姿态,是手、脚、躯干的粗目标(位置、朝向、速度、到达时间),策略负责补全全身动作;写目标的代码可以由编码智能体生成、在仿真里测、由人决定要不要上真机。
- 两份工件:demo 与 racer 两套 ONNX 导出,FP32,各约 403MB(其中一份 459,455,983 字节);racer 版只是为六机批处理重排了计算图,权重相同;浏览器侧走 ONNX Runtime Web(推荐 WebGPU,WASM 兜底)配 MuJoCo WASM 仿真。
- 三个数字要分开读:54 项全身到达任务 83%(对照组 39%、28%、0%)、1 m/s 行走受 800N/1000N 冲量后恢复 75%(600N 时反而只有 62%)、60 个扰动状态导出误差 5.55e-6——最后这个只证明「导出没算错」,不证明「活干得好」。
- 官方自己划的线:仓库不含训练数据、动作片段、机器人网格;恢复/平衡/跟踪在评估分布外可能失败;不是避碰控制器、不是安全控制器;真机部署需独立验证、力矩限制、监督测试与急停。
- 判断:这份东西的真正价值,是把「具身智能的能力上限」从「模型多大」换成了「预训练动作库有多宽」——写目标很容易,写到动作库里没有的动作,就是天花板。
先说结论:这不是一个「更强的机器人大模型」,这是一个接口设计。它做的事,是把「让机器人学会一个新动作」从「收集数据、重新训练、调参、部署」这一长串,压缩成「写一段描述目标的代码」。
传统的人形全身控制策略,输入是一段参考动作轨迹——每一帧每个关节该在什么角度,模型跟着模仿。这种方式的问题是:你想让机器人做一件新事,就得先有一段「这件事」的动作数据。
Metatron 换了输入。它接收的是手、脚、躯干的粗目标:位置、朝向、速度、到达时间。你告诉它「右手在 0.8 秒后到桌子左上角、掌心朝下」,它负责把全身 29 个关节的轨迹补出来——包括重心怎么移、另一只手怎么配合、身体要不要前倾。
这个设计带来一个很实际的结果:新增能力不需要动权重。策略是冻结的,新技能来自那段写目标的代码。官方给出的工作流是:编码智能体写目标代码 → 在仿真里跑、看结果、改 → 人决定要不要上真机。
判断:这个分工很像「动画师 + 程序员」的组合,而不像「强化学习工程师」。它把门槛从「会训模型」降到了「会描述任务」,但也把天花板钉死在了一个地方——预训练时见过的动作分布。你写不出模型没学过的身体协调方式。
关于这个模型,目前流通着三组数字。它们在传播里经常被混在一起,但衡量的东西完全不同。
| 数字 | 测的是什么 | 能不能当能力证据 |
|---|---|---|
| 5.55e-6 | 60 个历史扰动状态下,ONNX 导出与原生权重的最大绝对动作误差 | 不能。这是「文件没导错」的检查,官方明确写了不是任务成功或真机性能的度量 |
| 83% | 54 项 MuJoCo 全身到达任务成功率,对照组 39%、28%、0% | 可以,但仅限仿真、仅限「到达」类任务 |
| 75% | 1 m/s 行走时受到 800N/1000N、100 毫秒冲量后的恢复成功率;600N 时 62% | 可以,同样是仿真;且三个力值非单调,不能当「抗扰能力随力递增」读 |
把 5.55e-6 单独拎出来说,是因为它最容易被误读成「精度高到不可思议」。它其实只说明一件事:同一个权重导出成 ONNX 之后,在相同的输入下算出来的动作和原生版本几乎一致。这是工程交付层面必须做的检查,但它和「机器人能不能站稳」没有关系。
83% 那个数字更有意思。它比对照组高出 44 到 83 个百分点,看起来是碾压。但要看清任务定义:54 项「全身到达」任务,即把手或脚送到指定位置。这是一个动作原语级的测试,不是装配、不是搬运、不是长流程作业。判断:83% 说明这个策略在「补全全身姿态」这件事上确实比轨迹跟踪类方法强很多,但它不能外推成「能干 83% 的活」。
官方在真机上展示了四件事:手柄操控行走、用 PICO 头显遥操作抓取、坐到沙发上再站起来、以及从各种跌倒姿态自主恢复。这些演示是真的,但没有附任何量化数据——没有成功率、没有次数、没有测试时长。
更值得记的是评测方补的一句:坐沙发这个任务,事先需要人工把机器人摆到沙发旁边,并输入目标提示。这句话把「自主」的边界划得很清楚:环境是预置的,起点是人摆的,任务是代码给的。
判断:这不是黑点,这是行业当下的真实水位。真机量化测试的成本极高——要重复几百次、要控制变量、要有人守着急停,而且失败一次可能就摔坏一台机器。所以绝大多数团队选择只放成功片段。英伟达至少把免责写进了模型卡:恢复、平衡、跟踪在评估分布之外可能失败;这不是避碰控制器,也不是安全控制器;硬件部署需要独立验证、关节与力矩限制、有人监督的测试、以及急停机制。
这份工件不是「下载就能用」的即插即用包。官方说明里列了五条容易踩坑的地方,值得抄下来当检查单:
ONNX 文件不能和原生 checkpoint 的接口混用,必须匹配相同的观测/控制接口、张量布局、排序约定与运行时清单。改一个通道顺序,输出的动作就全错。
不含训练数据、动作片段、机器人网格、应用资产。这些仍单独授权分发。也就是说,你拿到的是「会动的策略」,不是「能复现训练的完整环境」。
ONNX Runtime Web + MuJoCo WASM 让它在浏览器里就能跑,推荐 WebGPU。这是展示与教学用途,不是控制真实机器人的通道。
racer/network.onnx 只是为六机批处理重排了计算图,权重与 demo 版相同。要做多机并行评测才需要它。
第五条在文档里,但最容易被跳过:这不是安全控制器。任何上真机的动作,都必须自己加力矩上限、碰撞检测和硬件急停。模型卡把这句话写得毫不含糊,原因也很清楚——一个在仿真里能连续跨四个栏架、摔倒后爬起来接着跑的策略,在真实地面上一旦判断失误,摔的是几十公斤的金属。
把这次的发布放到英伟达过去一年的路径上看,位置很清楚:先有仿真平台与训练框架,再有基础模型,现在补上「可运行的策略工件」。这条链每补一环,「自研全身控制」这件事的性价比就下降一档——对高校实验室和小团队尤其明显,过去要几个月才能搭起来的 G1 行走控制,现在可以先用一份 403MB 的文件跑通,再把精力放到自己的任务上。