详细手册在CSDN上:NVIDIA Isaac GR00T N1 - 世界首个通用人形机器人基础模型实战
一旦数据准备完毕,您可以使用预训练的GR00T N1模型进行推理。以下是基本的推理流程:
GR00T还提供了推理服务,支持服务器模式和客户端模式:
python scripts/inference_service.py --server
python scripts/inference_service.py --client
这种架构使得模型可以作为持久化服务运行,适合实际机器人应用。
GR00T N1在单个样本处理上的推理速度如下:
模块 | 推理速度 |
---|---|
VLM骨干网络 | 22.92毫秒 |
含4步扩散的动作头部 | 39.61毫秒 |
完整模型 | 62.53毫秒 |
通常情况下,4个去噪步骤足以使模型在约60毫秒内完成一次完整推理,适合实时控制应用。
GR00T N1的一个主要优势是支持通过微调来适应新任务和环境。微调过程使用自定义数据调整预训练模型的参数。
python scripts/gr00t_finetune.py --help
python scripts/gr00t_finetune.py --dataset-path ./demo_data/robot_sim.PickNPlace --num-gpus 1
python scripts/gr00t_finetune.py --dataset-path ./demo_data/robot_sim.PickNPlace --num-gpus 1 --lora_rank 64 --lora_alpha 128 --batch-size 32
LoRA(低秩适应)是一种参数高效的微调技术,可以显著减少需要更新的参数数量。
为了获得最佳微调效果,建议:
getting_started/3_new_embodiment_finetuning.ipynb
可以从Huggingface下载更大的模拟数据集进行微调:
huggingface-cli download nvidia/PhysicalAI-Robotics-GR00T-X-Embodiment-Sim \
--repo-type dataset \
--include "gr1_arms_only.CanSort/**" \
--local-dir $HOME/gr00t_dataset
然后使用该数据集路径进行微调:
python scripts/gr00t_finetune.py --dataset-path $HOME/gr00t_dataset/gr1_arms_only.CanSort --num-gpus 1
评估微调后的模型性能是确保其有效性的重要步骤。GR00T提供离线评估脚本,可以评估模型在数据集上的表现并生成可视化结果。
python scripts/inference_service.py --server \
--model_path <MODEL_PATH> \
--embodiment_tag new_embodiment
python scripts/eval_policy.py --plot \
--dataset_path <DATASET_PATH> \
--embodiment_tag new_embodiment
请确保数据集中有相应的annotation.human.coarse_action
字段,否则需要手动修改数据。
评估将生成真实动作与预测动作的对比图,以及动作的均方误差(MSE),这些指标有助于判断策略在数据集上的表现。