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-cleanup與youliangtan/so100_strawberry_grape。