英偉達震撼發布GR00T N1,全球首個開放通用人形機器人模型,顛覆多模態操控,開啟機器人智能新紀元 精華
近日,英偉達發布 NVIDIA Isaac GR00T N1。
在人工智能與機器人技術的交匯處,NVIDIA Isaac GR00T N1的誕生標志著人形機器人領域的一次重大突破。作為全球首個開放的通用人形機器人推理與技能基礎模型,GR00T N1不僅能夠處理包括語言和圖像在內的多模態輸入,還能在多樣化的環境中執行復雜的操控任務。這一模型的訓練基于龐大的人形機器人數據集,結合了真實捕捉數據、合成數據以及互聯網規模的視頻數據,使其具備了強大的適應性和可定制性。無論是研究人員還是專業開發者,GR00T N1都提供了一個強大的平臺,以最小的數據量實現特定任務的模型微調,并最終部署到實際硬件中執行。
白皮書鏈接:??https://d1qx31qr3h6wln.cloudfront.net/publications/GR00T_1_Whitepaper.pdf??
項目鏈接:??https://github.com/NVIDIA/Isaac-GR00T/?tab=readme-ov-file??
網站鏈接:??https://developer.nvidia.com/isaac/gr00t?? Huggingface
鏈接:?https://huggingface.co/nvidia/GR00T-N1-2B??
NVIDIA Isaac GR00T N1
NVIDIA Isaac GR00T N1 是世界上第一個用于通用人形機器人推理和技能的開放基礎模型。該跨實體模型采用多模態輸入(包括語言和圖像)來在不同環境中執行操作任務。
GR00T N1 是在廣泛的人形數據集上進行訓練的,該數據集包括真實捕獲的數據、使用 NVIDIA Isaac GR00T Blueprint 組件生成的合成數據以及互聯網規模的視頻數據。它可通過后期訓練適應特定的實施例、任務和環境。
GR00T N1 的神經網絡架構是視覺語言基礎模型和擴散 Transformer 頭的組合,可對連續動作進行去噪。以下是架構示意圖:
以下是使用 GR00T N1 的一般步驟:
- 假設用戶已經以(視頻、狀態、動作)三元組的形式收集了機器人演示的數據集。
- 用戶首先將演示數據轉換為 LeRobot 兼容的數據模式(更多信息見),該模式與上游Huggingface LeRobotgetting_started/LeRobot_compatible_data_schema.md兼容。
- 我們的 repo 提供了配置不同配置的示例,用于使用不同的機器人實施例進行訓練。
- 我們的 repo 提供了方便的腳本,用于根據用戶數據微調預先訓練的 GR00T N1 模型并運行推理。
- 用戶將連接Gr00tPolicy到機器人控制器以在目標硬件上執行操作。
目標受眾
GR00T N1 適用于人形機器人研究人員和專業人士。此存儲庫提供以下工具:
- 利用預先訓練的基礎模型進行機器人控制
- 對小型自定義數據集進行微調
- 使用最少的數據使模型適應特定的機器人任務
- 部署模型進行推理
重點是通過微調實現機器人行為的定制。
先決條件
- 我們已經在 Ubuntu 20.04 和 22.04、GPU:H100、L40、RTX 4090 和 A6000 上測試了代碼以進行微調,并且 Pythnotallow==3.10、CUDA 版本 12.4。
- 為了進行推理,我們在 Ubuntu 20.04 和 22.04 上進行了測試,GPU:RTX 4090 和 A6000
- 如果您尚未安裝 CUDA 12.4,請按照此處的說明(https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)進行安裝。
- 請確保您的系統中安裝了以下依賴項:ffmpeg,libsm6,libxext6
安裝指南
克隆倉庫:
創建新的 conda 環境并安裝依賴項。我們建議使用 Python 3.10:
請注意,請確保您的 CUDA 版本為 12.4。否則,您可能無法正確配置 flash-attn 模塊。
開始使用此 repo
我們在文件夾中提供了可訪問的 Jupyter 筆記本和詳細文檔./getting_started。實用程序腳本可在文件夾中找到./scripts。
數據格式及加載
- 為了加載和處理數據,我們使用Huggingface LeRobot 數據(https://github.com/huggingface/lerobot),但具有更詳細的元數據和注釋模式(我們稱之為“LeRobot 兼容數據模式”)。
- 此模式要求數據在特定的目錄結構中格式化才能夠加載。
- 這是此處存儲的模式的示例:./demo_data/robot_sim.PickNPlace
- 數據組織指南可在getting_started/LeRobot_compatible_data_schema.md
- 一旦您的數據以這種格式組織起來,您就可以使用類加載數據LeRobotSingleDataset。
- getting_started/0_load_dataset.ipynb是一個關于如何加載數據并處理數據以便與 GR00T N1 模型交互的交互式教程。
- scripts/load_dataset.py是一個可執行腳本,內容與筆記本相同。
推理
- GR00T N1 模型托管在Huggingface(https://huggingface.co/nvidia/GR00T-N1-2B)上。
- 示例交叉實施數據集可在 demo_data/robot_sim.PickNPlace 獲得。
- getting_started/1_gr00t_inference.ipynb 是一個用于構建推理管道的交互式 Jupyter 筆記本教程。
用戶還可以使用提供的腳本運行推理服務。推理服務可以在服務器模式或客戶端模式下運行。
在不同的終端上,運行客戶端模式向服務器發送請求。
微調
用戶可以運行下面的微調腳本,使用示例數據集對模型進行微調。教程可在 中找到getting_started/2_finetuning.ipynb。
然后運行微調腳本:
您還可以從我們的 huggingface sim 數據發布中下載示例數據集
建議的微調配置是將批量大小增加到最大,并進行 20k 步的訓練。
硬件性能考慮因素
- 微調性能:我們使用 1 個 H100 節點或 L40 節點進行最佳微調。其他硬件配置(例如 A6000、RTX 4090)也可以使用,但可能需要更長時間才能收斂。確切的批次大小取決于硬件以及正在調整模型的哪個組件。
- 推理性能:對于實時推理,大多數現代 GPU 在處理單個樣本時的表現都差不多。我們的基準測試顯示 L40 和 RTX 4090 之間的推理速度差異很小。
對于新實施例的微調,請查看getting_started/3_new_embodiment_finetuning.ipynb。
評估
為了對模型進行離線評估,我們提供了一個腳本,該腳本可以在數據集上評估模型并將其繪制出來。
運行新訓練的模型
運行離線評估腳本
然后,您將看到真實值與預測值動作的圖表,以及動作的非規范 MSE。這將指示該策略在數據集上是否表現良好。
本文轉自AI生成未來 ,作者:AI生成未來
原文鏈接:??https://mp.weixin.qq.com/s/Ak3iOji0q9x0BdgDBB6P3Q??
