🚀 OpenVLA 7B
OpenVLA 7B (openvla-7b
) は、Open X-Embodiment データセットの970Kのロボット操作エピソードで学習されたオープンなビジョン・言語・行動モデルです。このモデルは、言語指示とカメラ画像を入力として受け取り、ロボットの行動を生成します。複数のロボットをそのまま制御することができ、(パラメータ効率的な)微調整によって新しいロボットドメインに迅速に適応させることが可能です。
すべてのOpenVLAチェックポイントと学習コードベースは、MITライセンスの下で公開されています。
詳細については、論文を読み、プロジェクトページを参照してください。
📚 ドキュメント
モデルの概要
用途
OpenVLAモデルは、言語指示とロボット作業空間のカメラ画像を入力として受け取り、(x, y, z, roll, pitch, yaw, gripper) の形式の7自由度のエンドエフェクターの変位からなる(正規化された)ロボットの行動を予測します。実際のロボットプラットフォームで実行するには、行動を各ロボット、各データセットごとに計算された統計に基づいて逆正規化する必要があります。詳細はリポジトリを参照してください。
OpenVLAモデルは、Open-X事前学習ミックスで見られる特定のエンボディメントとドメインの組み合わせに対してゼロショットでロボットを制御することができます(例えば、Widow-Xロボットを使用したBridgeV2環境)。また、最小限のデモンストレーションデータを用いて新しいタスクやロボット設定に対して効率的に微調整することもできます(こちらを参照)。
適用範囲外: OpenVLAモデルは、新しい(未見の)ロボットエンボディメントや事前学習ミックスに含まれていない設定に対してはゼロショットで一般化できません。このような場合、目的の設定でデモンストレーションデータセットを収集し、OpenVLAモデルを微調整することをおすすめします。
🚀 クイックスタート
OpenVLA 7Bは、事前学習ミックスに含まれるドメインに対して複数のロボットをそのまま制御することができます。例えば、[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モデルを微調整するスクリプトについては、学習リポジトリを参照してください。
📄 ライセンス
このプロジェクトは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}
}