使用 GR00T N1.7 加速镜像训练机器人操作策略模型
概述
GR00T N1.7 加速镜像面向机器人操作策略模型的 embodiment finetune 场景,内置 NVIDIA Isaac GR00T 训练环境与预置执行脚本,适用于基于 GR00T-N1.7-3B 基座模型,在 DROID、BOWL 等数据集上进行操作策略模型的训练与调优。
通过百舸平台,您可以直接选择已适配的 RPBZZZ6(sm_120 Blackwell)加速镜像、GPU 资源规格、数据集与模型权重,通过开发机 SSH 连接快速启动单机 8 卡分布式训练任务,无需手动拉起 Docker 容器或自行维护底层运行环境。
适用场景
- 使用 DROID 或 BOWL 数据集进行机器人操作策略模型训练。
- 基于 GR00T-N1.7-3B 基座模型进行 embodiment finetune。
- 在百舸平台上验证单机 8 卡 GPU 训练性能。
- 需要使用预置训练脚本和执行环境快速复现实验流程。
环境与资源要求
| 项目 | 推荐配置 |
|---|---|
| GPU 规格 | sm_120 Blackwell(RPBZZZ6 96G 或同等),单机 8 卡 |
| 存储空间 | 建议可用不少于 100G,推荐使用PFS /mnt/pfs, |
| CUDA / 驱动 | 13.2 |
| PyTorch | 2.12.0 |
| 工作目录 | /root/workspace/Isaac-GR00T(训练代码) |
| 启动脚本 | /root/workspace/run_train.sh(env 覆盖式) |
| 数据集目录 | 内置 bowl:/root/workspace/Isaac-GR00T/demo_data/cube_to_bowl_5 |
| 模型目录 | 建议外部存储,如 PFS:/mnt/pfs/models/ |
| 输出目录 | 建议外部存储,如 PFS:/mnt/pfs/output/gr00t/ |
说明:本文中的代码路径均以百舸训练任务内的 /root/workspace 为例,模型与输出等持久化路径以外部存储 /mnt/pfs 为例。实际使用时可根据任务挂载目录调整;所有下载资源必须落外部存储(如 PFS 路径 /mnt/pfs/...),禁止写入根盘。
准备工作
百舸平台已提供数据集和模型权重的 BOS 地址,您可以直接从 BOS 下载到训练任务的外部存储目录,避免依赖外部网络。本文涉及的 BOS 地址均为公共读,无需配置 AK/SK。
步骤一:准备数据集
方式一:使用内置 BOWL 数据集(推荐 smoke 验证)
BOWL 数据集已内置在代码仓库中,无需额外下载,可直接用于快速验证训练链路是否打通:
1ls /root/workspace/Isaac-GR00T/demo_data/cube_to_bowl_5/
步骤二:准备模型权重
训练需要准备 GR00T-N1.7-3B 基座模型和 Cosmos VLM 权重。建议优先通过 BOS 下载到外部存储目录。
1# 基座模型 GR00T-N1.7-3B(约 6.5G)
2mkdir -p /mnt/pfs/models/GR00T-N1.7-3B
3cd /mnt/pfs/models/GR00T-N1.7-3B
4bcecmd bos sync bos:/aihc-models-bj/nvidia/GR00T-N1.7-3B/ ./ --concurrency 16 --yes
5
6# Cosmos VLM(约 4.6G)
7mkdir -p /mnt/pfs/models/Cosmos-Reason2-2B
8cd /mnt/pfs/models/Cosmos-Reason2-2B
9bcecmd bos sync bos:/aihc-models-bj/nvidia/Cosmos-Reason2-2B/ ./ --concurrency 16 --yes
验证下载
下载完成后,可以检查模型关键文件是否存在:
1# 基座模型:分片 safetensors
2ls /mnt/pfs/models/GR00T-N1.7-3B/model.safetensors.index.json
3
4# Cosmos VLM
5ls /mnt/pfs/models/Cosmos-Reason2-2B/model.safetensors
步骤三:配置训练参数
启动脚本 /root/workspace/run_train.sh 全量支持环境变量覆盖,您只需传入想修改的变量,其余走默认值即可。
默认配置(GBS=3072,bowl/SO100,smoke 验证)
无需额外配置,直接启动即可。
自定义配置示例
1export PFS_ROOT=/mnt/pfs
2export HF_HOME=/mnt/pfs/models
3export BASE_MODEL=/mnt/pfs/models/GR00T-N1.7-3B
4export COSMOS_MODEL_PATH=/mnt/pfs/models/Cosmos-Reason2-2B
5export GBS=2048
6export MAX_STEPS=500
关键环境变量说明
| 变量 | 默认值 | 说明 |
|---|---|---|
GBS |
3072 |
Global Batch Size |
MAX_STEPS |
20 |
最大训练步数 |
NUM_GPUS |
8 |
GPU 数量 |
PFS_ROOT |
— | PFS 用户根目录,设为 /mnt/pfs |
HF_HOME |
— | HuggingFace 缓存目录,设为 /mnt/pfs/models |
BASE_MODEL |
— | 基座模型路径 |
COSMOS_MODEL_PATH |
— | Cosmos VLM snapshot 目录(含 model.safetensors) |
GR00T_BACKBONE_COMPILE |
1 |
backbone torch.compile 开关,OOM 时设为 0 |
GR00T_STEP_TIME |
0 |
设为 1 打印每步 GPU 耗时 |
HF_HUB_OFFLINE |
1 |
强制离线模式 |
GR00T_GPU_PATCHIFY |
1 |
GPU patchify,消除 collator CPU 瓶颈 |
步骤四:启动训练
1cd /root/workspace/Isaac-GR00T
2
3export PFS_ROOT=/mnt/pfs
4export HF_HOME=/mnt/pfs/models
5export BASE_MODEL=/mnt/pfs/models/GR00T-N1.7-3B
6export COSMOS_MODEL_PATH=/mnt/pfs/models/Cosmos-Reason2-2B
7export GBS=3072
8export MAX_STEPS=20
9export GR00T_BACKBONE_COMPILE=1
10export GR00T_STEP_TIME=1
11
12bash /root/workspace/run_train.sh
建议使用 tmux 后台运行,避免 SSH 断开导致训练中断。
性能参考
在单机 8 卡 RPBZZZ6 测试环境下,参考性能基线如下:
| 配置 | Runtime | Samples/s | Step Time | Loss | 峰值显存 |
|---|---|---|---|---|---|
| GBS=64, bowl | 84s | 15.2 | ~336ms | 1.098 | ~9G |
| GBS=2048, bowl | 128s | 319.8 | ~1416ms | 1.083 | ~56G |
| GBS=3072, bowl(默认) | 140s | 438.1 | ~2060ms | 1.083 | ~84G |
镜像已预置
/tmp/torchinductor_root(1.4G)编译缓存,包含 GBS=64/2048/3072 三种 shape 的 triton kernel,相同 shape 训练可免编译。以上数据为特定测试环境下的参考值,实际性能会受资源规格、数据读取方式、任务参数等因素影响。
常见问题
编译期 OOM(最常见)
现象:step1 崩溃,报错含 InductorError: CUDA driver error: out of memory。
根因:GR00T_BACKBONE_COMPILE=1 首步编译 triton kernel 时打爆 CUDA driver module 内存,并非显存不足。
解决方案:
| 方案 | 做法 | 说明 |
|---|---|---|
| 烘焙缓存(推荐) | 镜像已预置缓存 | 同 shape 免编译,不 OOM |
| 关闭 backbone compile | export GR00T_BACKBONE_COMPILE=0 |
慢约 4%,任意 shape 兜底 |
| 连续冷启动 warm | 跑 2 次冷启动 | 第 1 次 OOM 跑一半入缓存,第 2 次跑通 |
GPU 架构要求
必须使用 sm_120 Blackwell 架构 GPU,inductor 缓存 cubin 不可跨架构移植。
后续操作
训练任务启动后,可以在百舸平台查看任务日志、资源利用率和输出目录。训练产物默认输出到 /mnt/pfs/output/gr00t/。如需长期保留训练结果,可在任务结束后将输出目录同步到 BOS 或其他持久化存储。
评价此篇文章
