🚀 OpenVLA v0.1 7B
注: OpenVLA v0.1は開発目的で訓練した初期のモデルです。最新のモデルについては、openvla/openvla - 7bを参照してください。
OpenVLA v0.1 7B (openvla - v01 - 7b
) は、Open X - Embodiment データセットの80万件のロボット操作エピソード(Octo で使用されているのと同じデータミックス)を使って訓練されたオープンなビジョン・言語・行動モデルです。このモデルは、言語指示とカメラ画像を入力として受け取り、ロボットの行動を生成します。複数のロボットをそのまま制御でき、(パラメータ効率的な)ファインチューニングによって新しいロボットドメインに迅速に適応させることができます。
すべてのOpenVLAチェックポイントと訓練コードベースは、MITライセンスの下で公開されています。
詳細については、論文を読み、プロジェクトページを参照してください。
🚀 クイックスタート
OpenVLA 7Bは、事前学習ミックスに含まれるドメインの複数のロボットをそのまま制御するために使用できます。例えば、以下はWidow - Xロボットを使ったBridgeV2環境でのゼロショット命令追従のために openvla - v01 - 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-v01-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(...)
system_prompt = (
"A chat between a curious user and an artificial intelligence assistant. "
"The assistant gives helpful, detailed, and polite answers to the user's questions."
)
prompt = f"{system_prompt} USER: What action should the robot take to {<INSTRUCTION>}? ASSISTANT:"
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, ロール, ピッチ, ヨー, グリッパ)からなるロボットの行動を予測します。実際のロボットプラットフォームで実行するには、行動を各ロボット、各データセットごとに計算された統計に基づいて非正規化する必要があります。詳細はリポジトリを参照してください。
OpenVLAモデルは、Open - X事前学習ミックスで見られる特定のエンボディメントとドメインの組み合わせに対してゼロショットでロボットを制御するために使用できます(例えば、BridgeV2環境とWidow - Xロボット)。また、最小限のデモンストレーションデータが与えられた場合、新しいタスクやロボット設定に対して効率的にファインチューニングすることができます。詳細はこちらを参照してください。
適用範囲外: OpenVLAモデルは、新しい(未見の)ロボットエンボディメントや事前学習ミックスに含まれていない設定に対してはゼロショットで一般化できません。このような場合、目的の設定でデモンストレーションデータセットを収集し、OpenVLAモデルをファインチューニングすることをお勧めします。
📚 ドキュメント
モデル概要
📄 ライセンス
すべての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}
}