NVIDIA Isaac GR00T N1 - 世界首个通用人形机器人基础模型实战
NVIDIA Isaac GR00T N1是全球首个用于通用人形机器人推理和技能的开源基础模型。这种跨实体模型可以接收多模态输入,包括语言和图像,以在各种环境中执行操作任务。GR00T的名称源自"Generalized Robot Operations and Telemetry",代表着其通用化的操作能力和遥测数据处理能力。
0. 概述与简介
NVIDIA Isaac GR00T N1是全球首个用于通用人形机器人推理和技能的开源基础模型。这种跨实体模型可以接收多模态输入,包括语言和图像,以在各种环境中执行操作任务。GR00T的名称源自"Generalized Robot Operations and Telemetry",代表着其通用化的操作能力和遥测数据处理能力。
GR00T N1 基于广泛的人形机器人数据集进行训练,这些数据集包括真实捕获的数据、使用NVIDIA Isaac GR00T Blueprint组件生成的合成数据,以及互联网规模的视频数据。通过训练后的适应过程,它可以针对特定的机器人实体、任务和环境进行优化。
作为一个真正的基础模型,GR00T N1不仅限于特定的机器人平台或任务,而是提供了一个通用框架,可以通过少量的特定任务数据进行微调,从而适应各种不同的机器人系统和应用场景。这种通用性和适应性使其成为机器人研究和应用开发的强大工具。
1. 模型架构与工作原理
GR00T N1的神经网络架构是视觉-语言基础模型与扩散变换器头部的结合,后者用于对连续动作进行去噪。整体架构如下:
- 多模态输入处理:
- 视觉模块处理视频和图像输入
- 语言模块处理文本指令和描述
- 状态编码器处理机器人的当前状态信息
- 基础模型核心:
- 结合了大型视觉-语言模型的架构
- 具有跨模态注意力机制,能够在不同输入模态之间建立关联
- 扩散变换器头部:
- 采用扩散模型,通过逐步去噪过程生成精确的连续动作
- 实现从高层次指令到低层次动作的有效映射
- 跨实体适应层:
- 允许模型适应不同的机器人形态和配置
- 通过特定的标记和参数,实现跨机器人平台的知识迁移
GR00T N1的工作流程如下:
- 用户需要收集机器人演示数据,格式为(视频、状态、动作)三元组
- 将演示数据转换为LeRobot兼容的数据模式
- 使用提供的配置示例为不同机器人实体设置不同的训练配置
- 利用提供的脚本微调预训练的GR00T N1模型
- 将
Gr00tPolicy
连接到机器人控制器,在目标硬件上执行动作
这种架构使GR00T N1能够理解复杂的场景和指令,并将其转化为精确的机器人动作序列,实现高度灵活和适应性强的机器人控制。
2. 系统要求与环境准备
在开始使用NVIDIA Isaac GR00T N1之前,请确保您的系统满足以下要求:
2.1 硬件要求
- GPU:
- 微调:推荐使用H100、L40、RTX 4090或A6000 GPU
- 推理:RTX 4090或A6000已经过测试并能良好运行
- 内存:建议至少16GB RAM,对于大型数据集的处理推荐32GB或更高
- 存储:至少50GB可用空间用于模型、代码和示例数据
2.2 软件要求
- 操作系统:已在Ubuntu 20.04和22.04上测试
- CUDA版本:12.4(这是确保flash-attn模块正常工作的关键)
- Python版本:3.10
- 系统依赖:ffmpeg、libsm6、libxext6
2.3 准备工作
在开始安装之前,请确保:
-
检查您的CUDA版本,如果尚未安装CUDA 12.4,请按照NVIDIA官方指南进行安装:
# 检查当前CUDA版本 nvcc --version # 如果需要安装或更新CUDA,请按照NVIDIA官方指南操作 wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run sudo sh cuda_12.4.0_550.54.14_linux.run
-
安装必要的系统依赖:
sudo apt-get update sudo apt-get install ffmpeg libsm6 libxext6 -y
-
确保您的GPU驱动程序是最新的,并且与CUDA 12.4兼容。可以使用以下命令检查GPU驱动程序版本:
nvidia-smi
遵循这些准备工作将确保您的系统已准备好安装和运行NVIDIA Isaac GR00T N1。
3. 详细安装指南
以下是安装NVIDIA Isaac GR00T N1的详细步骤:
3.1 克隆代码库
首先,从GitHub上克隆Isaac-GR00T代码库:
git clone https://github.com/NVIDIA/Isaac-GR00T
cd Isaac-GR00T
3.2 创建并配置Conda环境
我们推荐使用Conda来管理Python环境,这有助于避免依赖冲突:
# 安装Miniconda(如果尚未安装)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 按照提示完成安装
# 创建新的Conda环境
conda create -n gr00t python=3.10
conda activate gr00t
3.3 安装项目依赖
现在,在激活的Conda环境中安装GR00T所需的依赖项:
# 升级setuptools
pip install --upgrade setuptools
# 安装项目及其依赖
pip install -e .
# 特别注意:安装flash-attn时禁用构建隔离,以确保与CUDA正确兼容
pip install --no-build-isolation flash-attn==2.7.1.post4
特别提示:
flash-attn
的安装可能会比较耗时,因为它需要编译CUDA扩展- 如果遇到与CUDA相关的错误,请确保您的CUDA版本正确,并且已经按照上述说明安装了正确的版本
- 对于某些系统,可能需要安装额外的编译工具,如
build-essential
和ninja-build
3.4 下载示例数据(可选)
为了方便开始尝试,您可以下载提供的示例数据集:

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)