NVIDIA Isaac GR00T N1.5:LeRobot SO-101 手臂的後訓練

NVIDIA 宣布推出 Isaac GR00T N1.5,這是 GR00T N1 基礎模型的首次重大更新。此跨形態模型允許開發者處理多模態輸入——包括語言和圖像——以在多樣環境中執行操作任務,且能針對特定機器人硬體、任務與環境進行後訓練。

透過 EmbodimentTag 進行跨形態適應

Isaac GR00T N1.5 使用 EmbodimentTag 系統,以實現不同機器人平台之間的無縫客製化。此系統允許模型適配原本未預訓練的硬體,例如價格親民且開源的 LeRobot SO-101 手臂。透過將機器人指定為 new_embodiment,開發者可以微調基礎模型的推理與操作能力,以符合其特定硬體配置。

LeRobot SO-101 的後訓練工作流程

將 GR00T N1.5 調整至 SO-101 手臂需要一個從資料集準備到實體部署的結構化流程。

資料集準備與相容性

微調需要相容的資料集,例如 so101-table-cleanup 資料集。若要使資料集「GR00T 相容」,開發者必須設定 modality.json 檔案,提供關於狀態與動作模態的必要資訊。單相機設定使用特定的模態配置,而雙相機設定則需要不同的配置檔案。

微調流程

模型使用 scripts/gr00t_finetune.py 腳本進行微調。訓練時的關鍵技術考量包括:

  • VRAM 要求:預設設定需要約 25GB VRAM。VRAM 較低的使用者可使用 --no-tune_diffusion_model 旗標以降低記憶體使用量。
  • 訓練參數:範例配置包括使用單一 GPU、設定 max-steps(例如 10,000)以及指定 data-config(例如 so100_dualcam)。

評估與部署

在實體部署之前,使用 scripts/eval_policy.py 在開環環境中評估策略。驗證通過後,模型透過 scripts/inference_service.py 部署為推論伺服器,並透過客戶端腳本與實體機器人手臂通訊。這使機器人能根據語言指令執行任務,例如「抓取筆並放入筆筒」。

社群見解與技術最佳化

發布後,社群成員與 NVIDIA 作者指出了多項提升模型效能的最佳化策略:

  • 降低運動抖動:為解決抖動問題,NVIDIA 建議移除 --no-tune_diffusion_model 旗標,以確保整個專家頭部被調整,並透過 data_config.py 增加動作視野。社群使用者亦建議將去噪步驟提升至 16,並將動作視野設定為 16,以應對複雜任務。
  • 資料集版本:目前的實作主要支援 LeRobot 資料集 v2。使用 v3 資料集的使用者可能需要將其轉換為 v2,或使用已整合 GR00T N1.5 且支援 v3 的 LeRobot 倉庫。
  • 泛化能力:部分使用者回報模型若過度訓練,可能會忽略文字提示,僅執行資料集中的單一動作,建議調整 max-steps 以避免過擬合。

"我建議任何執行複雜任務的人,至少將去噪步驟設為 16,且動作視野也設為 16。這是我唯一能取得好結果的方式。"

可用資源

  • 模型nvidia/GR00T-N1.5-3B 模型可於 Hugging Face 取得。
  • 程式碼:微調腳本與範例資料集託管於 Isaac-GR00T GitHub repository
  • 資料集:範例資料集包括 youliangtan/so101-table-cleanupyouliangtan/so100_strawberry_grape

Sources