LeRobot 文件

GR00T N1.5 政策

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

GR00T N1.5 政策

GR00T N1.5 是 NVIDIA 開發的一款開放基礎模型,專為通用人形機器人的推理與技能設計。它是一個跨本體(cross-embodiment)模型,能夠接收包括語言和圖像在內的多模態輸入,以在多樣化的環境中執行操作任務。

本文件概述了其在 LeRobot 框架中的整合與使用細節。

模型概覽

NVIDIA Isaac GR00T N1.5 是 GR00T N1 基礎模型的升級版本。它的建立旨在提升人形機器人的泛化能力與語言遵循能力。

開發人員與研究人員可以使用自己的真實數據或合成數據對 GR00T N1.5 進行後訓練(post-train),以使其適應特定的人形機器人或任務。

GR00T N1.5(具體為 GR00T-N1.5-3B 模型)是基於預訓練的視覺與語言編碼器構建的。它利用流匹配動作轉換器(flow matching action transformer)來模擬一系列動作,並以視覺、語言和本體感覺(proprioception)作為條件。

An overview of GR00T

其強大的性能源於在廣泛且多樣化的人形數據集上進行了訓練,其中包括:

  • 從機器人採集的真實數據。
  • 使用 NVIDIA Isaac GR00T Blueprint 生成的合成數據。
  • 網際網路規模的影片數據。

這種方法使模型能夠通過後訓練,針對特定的本體、任務和環境進行高度調整。

安裝需求

截至今日,GR00T N1.5 的內部運作需要 Flash Attention。

我們正在努力使其成為選項功能,但目前這意味著我們需要額外的安裝步驟,且只能在支援 CUDA 的裝置上使用。

  1. 請按照我們的安裝指南中的「環境設定」進行操作。注意:在此步驟中請勿安裝 lerobot
  2. 執行以下指令以安裝 Flash Attention
# Check https://pytorch.com.tw/get-started/locally/ for your system
pip install "torch>=2.2.1,<2.8.0" "torchvision>=0.21.0,<0.23.0" # --index-url https://download.pytorch.org/whl/cu1XX
pip install ninja "packaging>=24.2,<26.0" # flash attention dependencies
pip install "flash-attn>=2.5.9,<3.0.0" --no-build-isolation
python -c "import flash_attn; print(f'Flash Attention {flash_attn.__version__} imported successfully')"
  1. 執行以下指令以安裝 LeRobot:
pip install lerobot[groot]

使用方式

若要在您的 LeRobot 設定中使用 GR00T,請指定策略類型為:

policy.type=groot

訓練

訓練指令範例

以下是針對您自己的數據集微調基礎 GR00T 模型的完整訓練指令:

# Using a multi-GPU setup
accelerate launch \
  --multi_gpu \
  --num_processes=$NUM_GPUS \
  $(which lerobot-train) \
  --output_dir=$OUTPUT_DIR \
  --save_checkpoint=true \
  --batch_size=$BATCH_SIZE \
  --steps=$NUM_STEPS \
  --save_freq=$SAVE_FREQ \
  --log_freq=$LOG_FREQ \
  --policy.push_to_hub=true \
  --policy.type=groot \
  --policy.repo_id=$REPO_ID \
  --policy.tune_diffusion_model=false \
  --dataset.repo_id=$DATASET_ID \
  --wandb.enable=true \
  --wandb.disable_artifact=true \
  --job_name=$JOB_NAME

效能結果

Libero 基準測試結果

請遵循我們關於 Libero 使用的說明:Libero

GR00T 在 Libero 基準測試套件中展現了強大的性能。為了比較並測試其 LeRobot 實作,我們對 GR00T N1.5 模型在 Libero 數據集上進行了 30,000 步的微調,並將結果與 GR00T 的參考結果進行了比較。

基準測試 LeRobot 實作 GR00T 參考數據
Libero Spatial 82.0% 92.0%
Libero Object 99.0% 92.0%
Libero Long 82.0% 76.0%
平均 87.0% 87.0%

這些結果證明了 GR00T 在各種機器人操作任務中具備強大的泛化能力。若要重現這些結果,您可以按照 Libero 章節中的說明進行操作。

在您的硬體設置中進行評估

一旦您使用自己的參數訓練了模型,就可以在下游任務中進行推理。請按照 機器人模仿學習 (Imitation Learning for Robots) 中的說明操作。例如:

lerobot-record \
  --robot.type=bi_so_follower \
  --robot.left_arm_port=/dev/ttyACM1 \
  --robot.right_arm_port=/dev/ttyACM0 \
  --robot.id=bimanual_follower \
  --robot.cameras='{ right: {"type": "opencv", "index_or_path": 0, "width": 640, "height": 480, "fps": 30},
    left: {"type": "opencv", "index_or_path": 2, "width": 640, "height": 480, "fps": 30},
    top: {"type": "opencv", "index_or_path": 4, "width": 640, "height": 480, "fps": 30},
  }' \
  --display_data=true \
  --dataset.repo_id=<user>/eval_groot-bimanual  \
  --dataset.num_episodes=10 \
  --dataset.single_task="Grab and handover the red cube to the other arm" \
  --dataset.streaming_encoding=true \
  --dataset.encoder_threads=2 \
  # --dataset.vcodec=auto \
  --policy.path=<user>/groot-bimanual \ # your trained model
  --dataset.episode_time_s=30 \
  --dataset.reset_time_s=10

授權

此模型遵循 NVIDIA 的專有授權協議,與原始的 GR00T 儲存庫一致。未來的版本(從 N1.7 開始)將遵循 Apache 2.0 授權協議

在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.