0. 前言
GR00T N1 的详细介绍
Isaac-GR00T 在6.11 进行了全面升级,从 N1 进化为 N1.5,但基本还是基于之前的架构,官方发布了一个技术报告,并更新了github库,之前的N1也做了独立版本 N1
N 1.5 github
技术报告
model
GR00T N1.5 其实是一种改进的通用人形机器人开源基础模型。这个跨形体模型可以接收多模态输入(比如语言和图像),用来在不同环境中完成操作任务。
这是面向人形机器人的 GR00T N1 基础模型的升级版。通过在架构、数据和建模方面的多项改进,Nvidia 发现 N1.5 在模拟操控基准测试和真实 GR-1 机器人上的表现都超过了 N1。Nvidia 预计使用 N1.5 的用户将看到比 N1 更好的表现,尤其在泛化能力和语言指令理解方面有显著提升。
1. 模型和数据更新
1.1 结构
和 N1 一样,GR00T N1.5 使用了 NVIDIA 的 Eagle VLM 来编码文本和视觉观察信息。
由 VLM 输出的“视觉-语言嵌入向量”会被另一个模块 DiT(Denoising Transformer)用“跨注意力机制”处理,它同时还处理机器人当前的状态和带噪声的动作。
和N1的主要不同:
- VLM 模型在预训练和微调阶段都保持冻结
- 简化了从视觉编码器到大语言模型(LLM)的 adapter MLP,并在输入 LLM 的视觉和文本 token embeddings 上都加了层归一化
adapter MLP:可以理解成“翻译官”,它把视觉编码器输出的向量变成 LLM 能懂的格式。原来可能有好几层线性变换+激活函数,现在缩减层数,让信息传递更直接,不容易“走偏”。
LayerNorm(层归一化):是在网络内部做“数据标准化”,让输入向量的数值分布更“均匀”、更“可控”。
这些改动带来的好处:
- 更强的语言跟随能力:机器人听指令不会“走神”,更准确地执行你说的每一句话。
- 更好的泛化:即使碰到新场景、新物体、新说法,也能跨过去,不容易“卡壳”。
1.2 改进了 VLM 的定位能力
他们将 GR00T N1.5 中的视觉–语言模型升级到 Eagle 2.5,并针对更好的**“定位”能力和物理理解进行了微调。在 RefCOCOg 基准和他们内部的 GEAR GR-1 定位数据集(含指代表达)上,发现 N1.5 的 VLM 表现优于同级别的开源模型 Qwen2.5-VL-3B。
左图:测试数据集的示例标注**。右图:模型输出示例。
1.3 将策略学习与世界模型联合
除了 N1 使用的流匹配损失(flow matching loss)之外,N1.5 还引入了“未来潜在表示对齐”(Future LAtent Representation Alignment,简称 FLARE,详见 FLARE 项目)。与其去“生成”未来帧图像,不如直接让模型对齐到未来目标的向量表示。他们发现,加入 FLARE 不仅能提升策略性能,还能解锁从真人视频中学习的能力。
流匹配损失(Flow Matching Loss):用于让模型学会从当前状态“流畅地”过渡到未来状态,好比对动作轨迹做平滑拟合。
策略学习(Policy Learning):教机器人“下一个动作该怎么做”。
世界建模(World Modeling):让模型理解环境如何运转,比如“如果我推一下盒子,它会往哪儿滚?”FLARE不生成未来帧,而是让模型对齐到“未来帧的向量表达”上:
生成未来帧图像很耗资源,还容易模糊;
对齐向量更高效,也能直接对比“我预测的未来”与“真实未来”的差距。
1.4 训练
在 1,000 块 H100 GPU 上以全局批量大小(global batch)16,384,训练了 250,000 步。如同 N1,使用 AdamW 优化器,配合余弦学习率调度(含 5% 预热)。在预训练与后训练阶段,FLARE 的损失系数均设置为 0.2。
预训练数据混合集 包括:内部 GR-1 真实数据、OpenXE 数据集、模拟 GR-1(又名 DexMG)、DreamGen 生成的神经轨迹,以及 AgiBot-Beta。
2. 实验结果
2.1 架构验证
为了为 N1.5 调优模型架构,他们从头开始在两个需要“听指令做任务”的仿真机器人基准上训练策略:一个叫 “Language Table”,另一个是一组包含五个需语言指令的模拟 GR-1 任务(“Sim GR-1 Language”)。我们发现 N1.5 的新架构在这两个基准上的成功率都明显更高,说明其“基于语言的控制”能力更强。
2.2 在模拟环境中有限数据的后训练
遵循 GR00T N1 的评估流程,在数据受限的后训练场景下评估 N1.5 的表现。对于 Sim GR-1,这里既能做少样本(few-shot)评估,也能做零样本(0-shot)评估,因为预训练时已包含了同一具身的其他 Sim GR-1 任务。可以发现,在数据极度稀缺的情况下(零样本和仅 30 个示例演示),N1.5 的表现明显优于 N1。
2.3 真实环境 GR-1 语言跟随
在真实 GR-1 评估中加入了一个简单的语言跟随任务:桌子上有两个水果,机器人需要把其中一个放到盘子里。目标水果的初始位置以 50% 的概率更靠近左手或右手。
相较于 N1,N1.5 在真实 GR-1 机器人上执行语言指令的能力有了显著提升。尽管两者策略都会把某个水果放到盘子里,N1.5 在“听懂并执行正确指令”这一点上表现更好,从而获得了更高的整体成功率。
2.4 从人类第一视角视频中学习操控新物体
为了评估模型的泛化能力,使用一组 10 件在预训练中未见过的新物体来测试抓取和放置性能。
如同 FLARE 项目所示,“未来潜在表示对齐”使得模型能够直接从人类的第一视角视频中学习。这就能让机器人仅凭人类视频和极少量的机器演示,就学会操作新物体。使用 N1.5,他们发现这种学习方式在零样本条件下也能奏效。
但是这样似乎只能学到灵巧手的操作吧
2.5 使用“神经轨迹”实现对新行为的泛化
为了超越遥操作数据,使人形机器人能够在新环境中学习新任务,使用 DreamGen 生成合成机器人数据进行训练。
通过 DreamGen 流程,展示了 GR00T N1.5 在 12 个新动词 上取得了不俗的结果(任务详情见 DreamGen 博客)。这些新动词被加入到预训练数据中。而 GR00T N1 对新动词的泛化能力很弱,仅能重复预训练中见过的任务(比如抓取和放置)。
他们发现,GR00T N1.5 在这 12 个 DreamGen 任务上的成功率达到了 38.3%,而 GR00T N1 仅为 13.1%。尽管这些新动词在严格意义上是“零样本”(从未为这些任务收集遥操作数据),但仍通过 DreamGen 轨迹对它们进行了显式训练;将完全的零样本动词和环境泛化留给未来工作。
2.6 在 Unitree G1 机器人上的后训练
在 Unitree G1 机器人上使用 1,000 条遥操作示范对 GR00T N1 和 N1.5 进行了后训练。与 GR-1 语言跟随实验相同,场景中初始化放置一个目标物体和一个干扰物体,目标物体有 50% 概率更靠近左手或右手。
可以观察到,后训练后的 GR00T N1.5 对预训练中见过的玩具水果(在 GR-1 预训练语料中出现过)取得了远高于 N1 的成功率,并且还能泛化到多种此前未见过的物体。
总体来看, GR00T-N1.5 相较于 GR00T-N1 有了显著提升。
它取得了更高的成功率;能够利用更丰富多样的数据来源;并且在语言指令跟随能力上有显著改善。他们将这些改进归功于更强的“定位”能力、FLARE 损失的引入,以及来自 DreamGen 的多样化数据。该模型已经开源,希望各位实践者在对自己的机器人进行微调时,能看到更好的效果。
3. N1.5 github repo
N 1.5 github
3.1 使用 GR00T N1.5 的大致流程:
- 用户先收集机器人演示数据,形式为(三元组):(视频, 状态, 动作)。
- 将演示数据转换为 LeRobot 兼容的数据格式(详见 getting_started/LeRobot_compatible_data_schema.md),该格式与 Huggingface 上游的 LeRobot 工具链兼容。
- 我们的代码仓库提供了不同形体配置的训练示例。
- 仓库还附带了微调脚本,帮助用户在自有数据上快速微调预训练好的 GR00T N1.5,以及推理脚本用于实时运行。
- 最后,用户将 Gr00tPolicy 连接到机器人控制器,即可在目标硬件上执行生成的动作。
LeRobot 兼容格式: 一种统一的数据规范,让各种输入(三元组)能无缝接入 Huggingface 的 LeRobot 训练工具。
3.2 GR00T N1.5 新变化总览
3.2.1 模型与数据
- 冻结 VLM
视觉–语言模型在预训练和微调阶段始终“冻结”参数,保持其强大的语言理解能力,同时提升泛化效果。 - 增强的 VLM 定位能力
升级到 Eagle 2.5,物理感知和目标“定位”更精准——在 GR-1 定位任务上达到 40.4 IoU(而 Qwen2.5-VL 为 35.5)。 - 简化的 Adapter
视觉编码器到大语言模型(LLM)之间的多层感知机(MLP)被瘦身,并且在视觉与文本 token 输入处均加入了层归一化(LayerNorm),让信息传递更稳定、更对齐。 - FLARE 引入
在原有的流匹配(flow matching)损失之外,又加了“未来潜在表示对齐”(FLARE)目标,使模型能直接从人类第一视角视频中高效学习新动作。 - DreamGen 集成
利用 DreamGen 合成的“神经轨迹”数据,让机器人学会一堆预训练里没见过的新行为,大幅扩展了任务多样性。
3.2.2 性能提升
- 语言跟随:GR00T N1.5 在 GR-1 操作任务上的语言指令执行率达到 93.3%,而 N1 只有 46.6%。
- 数据效率:在极少示例(0-shot 和 few-shot)条件下,N1.5 表现更稳。
- 新物体泛化:拿到从未见过的物品也能“零样本”抓放。
- 新形体支持:
- 单臂机械臂(EmbodimentTag.OXE_DROID)可用末端执行器(EEF)控制;
- 带抓手的人形机器人(EmbodimentTag.AGIBOT_GENIE1)也能直接接入—超越了单纯的关节空间控制,适配更广硬件。
3.2.3 适用场景
目标用户:人形机器人研究员与工程师。
功能亮点:
- 利用预训练基础模型快速上手机器人控制;
- 在小规模自定义数据上高效微调;
- 针对特定任务和硬件做最少量的后训练;
- 一键部署推理,直接对接机器人控制器
3.2.4 环境与依赖
系统测试:Ubuntu 20.04/22.04 + GPU(H100、L40、RTX 4090、A6000) + Python 3.10 + CUDA 12.4。
推理测试:Ubuntu 20.04/22.04 + GPU(RTX 3090、4090、A6000)。
必装依赖:CUDA 12.4、TensorRT、ffmpeg、libsm6、libxext6。
其他的详细使用教程与步骤可以看官方的repo。