通过百舸平台快速开始 GEAR-SONIC 训练
更新时间:2026-05-15
一、产品简介
GEAR-SONIC 是一个基于强化学习的通用人形机器人全身运动控制框架,能够让人形机器人实现多种运动模式(行走、跑步、跳跃等)的统一控制。该方法利用大规模人体运动数据进行训练,通过 token 化的动作表示和 Transformer 架构,使机器人能够泛化到多样化的运动技能。
二、快速开始
环境准备与开发机创建
推荐硬件配置
| 配置项 | 最低要求 | 推荐配置 |
|---|---|---|
| GPU | 1 * L20 或更高规格的加速卡 | 8 * L20 或更高规格的加速卡 |
| 内存 | 32GB | 64GB+ |
| CPU | 8 核 | 16 核+ |
| 存储 | 50GB+ | 100GB+(含数据集) |
1.1 创建开发机
打开百舸控制台 → 进入开发机页面 → 点击【创建实例】,按以下信息配置:
基本信息:
| 配置项 | 填写说明 |
|---|---|
| 实例名称 | 自定义命名 |
| 资源池类型/资源池/队列 | 根据您已有的资源池类型选择 |
| 资源规格 | 按上方推荐硬件配置选择 |
| 云磁盘 | 推荐预留 50GiB,保证运行空间 |
1.2 登录开发机
创建成功后,在开发机列表中找到刚创建的实例,等待状态变为「运行中」后,点击【登录】进入终端,打开目录下预置 notebook。
提示:如果开发机状态长时间处于「创建中」,请检查资源池是否有可用资源。
1.3 开始操作
首先进入项目目录:
Bash
1cd /root/workspace/GR00T-WholeBodyControl
第一步:下载资源
使用 bcecmd 从 BOS 同步模型权重和数据:
Bash
1bcecmd bos sync bos:/aihc-models-bj/nvidia/GEAR-SONIC ../GEAR-SONIC/
第二步:验证下载文件
Bash
1ls ../GEAR-SONIC/
2ls ../GEAR-SONIC/sonic_release/last.pt
第三步:启动训练(单卡)
使用单卡运行训练脚本,适用于快速验证和调试。
Bash
1/workspace/isaaclab/isaaclab.sh -p \
2 gear_sonic/train_agent_trl.py \
3 +exp=manager/universal_token/all_modes/sonic_release \
4 +checkpoint=/root/workspace/GEAR-SONIC/sonic_release/last.pt \
5 num_envs=256 headless=True \
6 ++manager_env.commands.motion.motion_lib_cfg.motion_file=/root/workspace/GEAR-SONIC/sample_data/robot_filtered \
7 ++manager_env.commands.motion.motion_lib_cfg.smpl_motion_file=/root/workspace/GEAR-SONIC/data/smpl_filtered \
8 algo.config.num_learning_iterations=100
单卡预期结果:
| 指标 | 预期值 |
|---|---|
| Iteration time | ~2.5s |
| steps/s | ~2,500 |
第三步:启动训练(八卡)
使用 8 卡并行训练,通过 accelerate 启动多进程分布式训练,适用于大规模正式训练场景。相比单卡,环境数从 256 提升到 4096,训练迭代次数从 100 提升到 1000。
Bash
1/workspace/isaaclab/isaaclab.sh -p -m accelerate.commands.launch --num_processes=8 \
2 gear_sonic/train_agent_trl.py \
3 +exp=manager/universal_token/all_modes/sonic_release \
4 +checkpoint=/workspace/data/sonic_release/last.pt \
5 num_envs=4096 headless=True \
6 ++manager_env.commands.motion.motion_lib_cfg.motion_file=/workspace/data/sample_data/robot_filtered \
7 ++manager_env.commands.motion.motion_lib_cfg.smpl_motion_file=/workspace/data/data/smpl_filtered \
8 algo.config.num_learning_iterations=1000
八卡预期结果:
| 指标 | 预期值 |
|---|---|
| Iteration time | ~4.9 - 5.0s |
| Computation (steps/s) | ~158,000 - 161,000 |
| Collection time | ~2.6 - 2.7s |
| Learning time | ~2.2s |
| GPU 显存 | ~14 - 15 GB / 24 GB |
| GPU 利用率 | ~80 - 85% |
| Mean rewards (iter 10) | ~19(从 checkpoint finetune) |
| Mean episode length (iter 10) | ~186 steps |
附录:按需补充资源
A. Policy ONNX(仅部署推理时需要)
HuggingFace 开源地址:https://huggingface.co/nvidia/GEAR-SONIC
Bash
1pip install huggingface_hub[cli]
2
3hf download nvidia/GEAR-SONIC \
4 model_encoder.onnx \
5 model_decoder.onnx \
6 observation_config.yaml \
7 --local-dir gear_sonic_deploy
B. Bones-SEED 完整训练数据集
- 申请访问(gated,需同意 license):https://huggingface.co/datasets/bones-studio/seed
- 下载
g1.tar.gz(23.5 GB) - 转换:
Bash
1python gear_sonic/data_process/convert_soma_csv_to_motion_lib.py \
2 --input /path/to/bones_seed/g1/csv/ \
3 --output data/motion_lib_bones_seed/robot \
4 --fps 30 --fps_source 120 --individual --num_workers 16
- 过滤:
Bash
1python gear_sonic/data_process/filter_and_copy_bones_data.py \
2 --source data/motion_lib_bones_seed/robot \
3 --dest data/motion_lib_bones_seed/robot_filtered
- 训练时替换
motion_file路径为data/motion_lib_bones_seed/robot_filtered
评价此篇文章
