🚀 OpenVLA 7B
OpenVLA 7B (openvla-7b
) 是一個開源的視覺-語言-動作模型,它基於 Open X-Embodiment 數據集中的 970K 個機器人操作片段進行訓練。該模型以語言指令和相機圖像作為輸入,生成機器人動作。它支持開箱即用的多機器人控制,並且可以通過(參數高效的)微調快速適應新的機器人領域。
所有 OpenVLA 模型檢查點以及我們的 訓練代碼庫 均在 MIT 許可證下發布。
如需瞭解完整詳情,請閱讀 我們的論文 並查看 我們的項目頁面。
📦 安裝指南
在使用 OpenVLA 7B 之前,需要安裝一些必要的依賴項。可以使用以下命令安裝最小依賴:
pip install -r https://raw.githubusercontent.com/openvla/openvla/main/requirements-min.txt
💻 使用示例
基礎用法
以下是一個在 [BridgeV2 環境] 中使用 Widow - X 機器人進行零樣本指令跟隨的示例,用於加載 openvla-7b
:
from transformers import AutoModelForVision2Seq, AutoProcessor
from PIL import Image
import torch
processor = AutoProcessor.from_pretrained("openvla/openvla-7b", trust_remote_code=True)
vla = AutoModelForVision2Seq.from_pretrained(
"openvla/openvla-7b",
attn_implementation="flash_attention_2",
torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True,
trust_remote_code=True
).to("cuda:0")
image: Image.Image = get_from_camera(...)
prompt = "In: What action should the robot take to {<INSTRUCTION>}?\nOut:"
inputs = processor(prompt, image).to("cuda:0", dtype=torch.bfloat16)
action = vla.predict_action(**inputs, unnorm_key="bridge_orig", do_sample=False)
robot.act(action, ...)
更多示例,包括在你自己的機器人演示數據集上微調 OpenVLA 模型的腳本,請查看 我們的訓練倉庫。
📚 詳細文檔
模型概述
用途
OpenVLA 模型以語言指令和機器人工作空間的相機圖像作為輸入,預測由 7 自由度末端執行器增量組成的(歸一化的)機器人動作,形式為 (x, y, z, roll, pitch, yaw, gripper)。要在實際機器人平臺上執行,動作需要根據每個機器人、每個數據集計算的統計信息進行 反歸一化。更多信息請查看 我們的倉庫。
OpenVLA 模型可以零樣本控制在 Open - X 預訓練混合數據集中出現的特定具身和領域組合的機器人(例如,使用 Widow - X 機器人的 BridgeV2 環境)。在給定最少的演示數據的情況下,也可以針對新任務和機器人設置進行高效的 微調;詳情見此。
適用範圍外情況:OpenVLA 模型不能零樣本泛化到新的(未見過的)機器人具身或預訓練混合數據集中未涵蓋的設置;在這些情況下,建議在所需設置上收集演示數據集,並對 OpenVLA 模型進行微調。
快速開始
OpenVLA 7B 可以開箱即用地控制預訓練混合數據集中涵蓋領域的多個機器人。例如,上述代碼展示瞭如何在 [BridgeV2 環境] 中使用 Widow - X 機器人進行零樣本指令跟隨。
📄 許可證
本項目採用 MIT 許可證。所有 OpenVLA 檢查點以及 訓練代碼庫 均在 MIT 許可證下發布。
📖 引用
BibTeX:
@article{kim24openvla,
title={OpenVLA: An Open-Source Vision-Language-Action Model},
author={{Moo Jin} Kim and Karl Pertsch and Siddharth Karamcheti and Ted Xiao and Ashwin Balakrishna and Suraj Nair and Rafael Rafailov and Ethan Foster and Grace Lam and Pannag Sanketi and Quan Vuong and Thomas Kollar and Benjamin Burchfiel and Russ Tedrake and Dorsa Sadigh and Sergey Levine and Percy Liang and Chelsea Finn},
journal = {arXiv preprint arXiv:2406.09246},
year={2024}
}