Q1:GR00T N1 开源吗?能商用吗?
能。权重直下 nvidia/GR00T-N1-2B(HuggingFace),商用许可,NVIDIA GPU 推理(CUDA + TensorRT 优化)。🌐微调用 LoRA 在单 H100 上 1–2 天可见结果。
论文:Bjorck et al.(NVIDIA GEAR / Isaac Lab 团队). GR00T N1: An Open Foundation Model for Generalist Humanoid Robots. GTC 2025 / arXiv:2503.14734. 🌐 · 开源权重 nvidia/GR00T-N1-2B,商用许可。
让机器人有"大脑+脊髓"分工。
大脑慢思考、看图听话。
脊髓快反射、高频出动作。
GR00T 之于人形机器人大脑,就像皮层+脊髓之于人。
要解决的问题:让人形机器人端到端学会看图、读指令、出全身动作。📎
人形指双足带双臂的整机,如 H1、G1、Figure。
老办法:之前的视觉-语言-动作模型(VLA)已成熟。
但都是为桌面机械臂设计的。📎
桌面臂只有 7 个关节,末端位姿就是一切。
人形有 30+ 关节、要协调躯干和双腿。
频率需求也分裂。
高层语义要 100 毫秒思考。
低层关节要 100 赫兹才稳。
一个网络想既大又快,做不到。
GR00T N1 的转身:把策略拆成两个网络,各跑各的频率。
慢网络叫 System 2,是个视觉-语言模型。
它看清图像、读懂指令,输出一段"语义提示"。
快网络叫 System 1,是个动作专家。
它拿着提示以 120 赫兹出关节动作。
GR00T 之于人形,就像公司里战略部和流水线。
战略部慢想方向,流水线快出货。
方法核心(大白话):分两头训、部署时接力。📎
System 2 是个现成的视觉-语言模型(约 14 亿参数)。
它吃图像和语言指令,吐出一段"中间特征"。
特征不是字、也不是动作,就是一串数字。
System 1 是个动作专家(约 8.6 亿参数的扩散变压器 DiT)。
它一边拿 System 2 给的特征,一边拿机器人当前关节角。
然后去"画"出接下来 16 步关节动作。
"画"用的是 flow matching。
从一团噪声出发,沿模型指引的直线走 4 小步就到。
4 步远少于传统扩散的几十到上千步。
所以能做到 120 赫兹。
部署时 System 2 慢更新特征。
System 1 高频拿最新特征出动作。
类比人:大脑想好"伸手拿杯子"。
脊髓就把这话翻译成连续的肌肉命令。
你不会每毫秒都重新想"伸手"这件事。
关键工程贡献·视频当训练数据:YouTube 上有海量人类动作视频。
但没有机器人关节标签,本来用不了。
GR00T 用 LAPA 把每对相邻帧压成一个"伪动作编码"。
人类手在视频里的动作和机械手在真机上的动作,被翻译到同一套编码里。
于是大量无标签视频也能拿去预训 System 1。📎
你会看到:开源、商用许可、权重可下载的人形 VLA 基础模型。
同一份模型 fine-tune 后能在 H1、G1、Figure 多种机型上干活。
接物、倒水、整理、开门都行。📎
这套双系统骨架,π0(2024-10)、Helix(2025-02)已有。
GR00T N1(2025-03)是开源 + 商用代表,不是发起者。
一句话类比:GR00T 之于人形 VLA,就像把董事长和流水线工塞进同一机器人。
董事长慢想,工人快做。
两边靠"语义指令单"传话。
核心机制·双系统解耦:System 2 出语义特征,System 1 在 120 赫兹拿最新特征当条件出动作。📎
System 2 · Eagle-2 VLM(约 14 亿参数):
SmolLM2 语言模型 + SigLIP-2 视觉编码器。
NVIDIA 在大规模网络数据上预训。
图像 224×224 输入,pixel shuffle 后每帧产生 64 个图像 token。
关键 trick:抽 LLM 第 12 层中间层 embedding 作为输出特征。
实测比 final layer 更快、下游 policy 成功率更高。
final layer 对齐语言模型头,擅长语义推理。
中间层保留更多空间视觉细节,对动作预测更友好。
System 1 · DiT 动作专家(约 8.6 亿参数):
变体 DiT,cross-attention 与 self-attention 交替(类 Flamingo / VIMA)。
self-attention 处理 noised action token + state。
cross-attention condition 在 System 2 给的特征上。
动作 expert 含本体独立 MLP(State Encoder、Action Encoder、Action Decoder)。
每个机型一套,把不同维 state/action 投到共享 embedding 空间。
训练时 LLM 语言部分冻结,视觉编码器和 DiT 解冻。
Flow matching action head:
给定动作 chunk 长度 H=16、timestep τ∈[0,1]、噪声 ε。
noisy action = τ·真动作 + (1-τ)·噪声。
模型回归向量场 ε − A_t,loss 是平方误差。
τ 采样偏小(更 noisy),继承 π0 的设计。
推理 4 步 forward Euler——这就是 120 赫兹的来源。
4 步远少于传统扩散的 50–1000 步。
Action chunking H=16:每次输出 16 步动作而非 1 步。
16 步 @ 120 Hz 执行约 133 ms 一个 chunk。
真正的决策率另看:System 2 @ 10 Hz 给特征。
System 1 在 L40 上 63.9 ms 采一个 chunk,约 15 Hz。
120/16 = 7.5 只是 chunk 时长的倒数,不是决策率。
和 Diffusion Policy 同思路,减少高频决策噪声。
LAPA 预训练:用 VQ-VAE 风格的 latent action tokenizer 把相邻帧对变成离散伪动作编码。
三种 flow-matching target 混用。
人类视频用 latent action、机器人数据用真动作加 latent action、神经轨迹用 latent action 加逆动力学预测的动作。
SFT 时把 latent action 换成真机动作。📎
数据金字塔:真人 teleop 88 小时,神经轨迹增广到 827 小时(约 10 倍)。
仿真由 DexMimicGen 11 小时内生成 780K 轨迹等于 6500 小时。📎
训练超参(Table 6):AdamW;cosine LR、warmup ratio 0.05。
预训 batch 16,384、200,000 步;post-training batch 128–1024、20k–60k 步。
成本:预训约 50,000 H100 GPU 小时,峰值 1024 GPU。
常见误区(先抛一个,完整版见末尾):"System 1 是 MoE 吧?"
错。N1 是普通 DiT(cross-attn + self-attn 交替)。
MoE 是 N1.5+ 才引入。📎
System 2 频率(PDF Sec.1 明示):
System 2(VLM)在 L40 GPU 上以 10 Hz 运行——PDF 原文 "runs at 10Hz on an NVIDIA L40 GPU"。
System 1 闭环出动作 120 Hz,采一个 16 步 chunk 在 L40 上耗 63.9 ms(≈15 Hz)。
两者异步:System 2 慢给语义特征,System 1 高频拿最新特征出动作。📎
参数精确分布:总 2.2 B = VLM 1.34 B + DiT + encoder/decoder。
VLM = SmolLM2(PDF 未指定 size 变体)+ SigLIP-2。
PDF 正文不指定 DiT 层数(Fig.3 标 xN),约 0.86 B 来自社区估算。
Cross-attn 与 self-attn 交替的具体作用:
self-attn 让 noised action token + state 互相 attend(chunk 内多步动作协调)。
cross-attn 把 VLM 特征注入每一步动作 token。
AdaLN(adaptive layer normalization)注入 flow matching timestep τ。
Flow matching 精确公式(Eq.1):
$A^\tau_t = \tau A_t + (1-\tau)\epsilon$;
模型 $V_\theta$ 回归向量场 $\epsilon - A_t$;
推理 4 步 forward Euler:$A_t^{\tau+1/K} = A_t^\tau + \frac{1}{K} V_\theta$,$K=4$。
τ 采样分布(继承 π0):$p(\tau) = \mathrm{Beta}(\tfrac{s-\tau}{s}; 1.5, 1)$,$s=0.999$。
变量替换后 τ 越小密度越高,采样集中在 noisy 端。
这让模型多学 hard denoising,推理时 4 步就够。
Flow matching vs diffusion:diffusion 是反向 SDE/ODE,路径弯曲。
flow matching 直接回归向量场,路径用直线(OT 路径)。
N1 选 flow matching 的关键在 4 步推理。
π0、RDT-1B、GR00T N1 都因此走 flow matching 而非 DDPM。
$\tau$ 采样的细节:$p(\tau)=\text{Beta}(\frac{s-\tau}{s}; 1.5, 1)$——变量替换后 $\tau$ 越小密度越高,采样集中在 noisy 端。
这让模型多学 hard denoising step,推理时 4 步就够。
不能换成 uniform——实测 K=4 推理效果依赖于此偏置。
LAPA 数据混合(Sec.2.3):
跨本体 fine-tune(compute-constrained finetune):单 A6000 GPU 测试。
只调 adapter(state/action encoder + decoder)+ DiT 时 batch 可到 200;调 vision encoder 时 batch 只能到 16。
latent action 是 embodiment-invariant 的——YouTube 里的人类手和 G1 的机械手统一到同一 codebook,迁移时只需 fine-tune 一个映射。
System 2 ablation:去掉 VLM、直接 DiT + image embedding,长程任务成功率掉一半——证明 VLM 提供的语义特征是必要的,不是装饰。
训练基础设施:H100 + Quantum-2 InfiniBand fat-tree,NVIDIA OSMO + Ray 分布式训练。
数据生成速度:合成数据约 1 秒视频需 2 分钟生成。📎
实验(自家 demo 为主):仿真三 benchmark(RoboCasa / DexMG / GR-1)的对比基线是 BC-Transformer + Diffusion Policy(不是 OpenVLA)。
Table 2(仿真,100 demo/task):GR-1 任务 GR00T N1 50.0% vs Diffusion Policy 32.7%——论文原话 "outperforms by more than 17%"。
Table 3(真机 GR-1):比 Diffusion Policy +30.4%(full data)/ +32.4%(10% data)。📎
N1.5/N1.7 在 H1、G1、Booster T1、Fourier GR1、Figure 上 demo 都过。
人形 VLA 暂无统一 benchmark——HumanoidBench 是早期尝试但覆盖窄;论文成功率数字多自家 demo,第三方不可复现。
局限:
图谱定位:GR00T N1 是 T06 VLA 五段演进的第五段"人形 VLA + 双系统"的开源代表,也是 T10 VLA+WBC 整合的开源代表。📎
它是第一个真正开源、商用许可、权重可下载的人形 VLA foundation model。
直接催生整个开源人形 VLA 生态(OpenVLA-OFT、π0 复现、Octo 系等对比基线)。
继承 / 催生:
副产品:Cosmos + GR00T Mimic + Isaac Lab 三件套形成"合成数据→训练 VLA→真机部署"完整 pipeline,把合成数据工业化。
LAPA 范式被 OpenVLA-OFT、Helix 部分借鉴。
Open problems:
"System 1 是 MoE" —— 错。
N1 是普通 DiT(cross-attn + self-attn 交替);MoE 是 N1.5+ 才引入(generalist + specialist expert)。
把 N1.5+ 的设计写到 N1 笔记里是常见误传,读 PDF Sec.2.1 原话即明。📎
"System 2 输出 final layer embedding" —— 不是最优。
论文实测 LLM 第 12 层中间层 embedding 推理更快、下游 policy 成功率更高;final layer 对齐 LM head 对语义推理有用但失 spatial 细节。
选中间层是 action prediction 友好的工程选择。📎
"$\tau$ 采样偏向接近真值" —— 错。
$p(\tau) = \text{Beta}(\frac{s-\tau}{s};1.5,1)$ 经变量替换后 $\tau$ 越小密度越高,采样集中在 noisy 端。
让模型多学 hard denoising,推理时 4 步就够——和 π0 同思路。
"GR00T N1 开源 = 可以直接部署" —— 部分错。
权重可下载、商用许可没问题;但要部署到自己的机型,仍需采集该机型的少量真机数据做 SFT。
N1 是"基础模型"不是"成品 policy",post-training fine-tune 是必经一步。
"System 2 和 System 1 同频运行" —— 错。
两者异步:System 2(VLM)在 L40 上以 10 Hz 运行(PDF Sec.1 明示),System 1 在 120 Hz 快跑、采一个 chunk 耗 63.9 ms。
这正是双系统解耦的核心——System 2 算力大但慢,System 1 算力小但快。
GR00T 把策略拆成 System 2 和 System 1 两个网络,各跑各的频率。System 2 是哪种网络、负责什么?System 1 又是哪种网络、负责什么?两者是怎么"传话"的?
💡 参考答案
为什么 GR00T 不让一个又大又深的 transformer 同时干"看图听话"和"快速出关节动作"两件事?用人脑的类比解释。
💡 参考答案
GR00T 的 System 1 用 flow matching 出动作,推理只走 4 步;老式的 diffusion 要走几十到上千步。这 4 步够用是靠训练时做了什么?
💡 参考答案
YouTube 上有海量人类做事的视频,但没有机器人关节标签。GR00T 怎么把这些无标签视频用进预训练?
💡 参考答案
用"董事长+流水线工"或你自己举的类比,向一个没学过机器人的朋友解释 GR00T 双系统是怎么分工的——说清两者各跑什么频率、靠什么传话。
💡 参考答案
能。权重直下 nvidia/GR00T-N1-2B(HuggingFace),商用许可,NVIDIA GPU 推理(CUDA + TensorRT 优化)。🌐微调用 LoRA 在单 H100 上 1–2 天可见结果。
PDF 描述的是联合训练:System 2 LLM 语言部分冻结,视觉编码器和 DiT 都解冻;LAPA pretrain 后 SFT 把 latent action 换成真机 action。📎两阶段是"预训练(视频+多本体)→ post-training(具体机型 SFT)",不是 System 2/System 1 分训。
diffusion 推理要 50–1000 步去噪,做不到 120 Hz;flow matching 路径直、4 步就够。这是 N1 能跑高频的关键。📎π0、RDT-1B 都因此选 flow matching。
不能零样本。你的机型关节配置、电机特性都不同。需要采少量该机型 teleop 数据做 SFT——post-training batch 128–1024、20k–60k 步。📎System 1 的本体独立 MLP(State/Action Encoder/Decoder)是适配新机型的关键接口。
N1(2025.03)是首版,2.2 B,普通 DiT。N1.5(2025 中)引入 MoE System-1(generalist + specialist expert)。N1.6/N1.7 进一步扩数据、加机型、加参数到 3 B。📎把 N1.5+ 的 MoE 写到 N1 笔记里是常见误传。