モデル概要
モデル特徴
モデル能力
使用事例
license: mit language:
- en base_model:
- IPEC-COMMUNITY/spatialvla-4b-224-pt pipeline_tag: image-text-to-text library_name: transformers tags:
- VLA
- 基礎ビジョン言語行動モデル
- 汎用ロボットポリシー
- ロボット工学
SpatialVLAをfractalとbridgeでファインチューニング
このモデルは、SpatialVLAモデルをよりシンプルな環境のベンチマーク用のbridgeデータセットでファインチューニングして作成されました。
モデルの詳細
モデルの説明
- 開発者: 上海人工知能実験室、上海科技大学、TeleAIの研究者から成るSpatialVLAチーム
- モデルの種類: ビジョン言語行動(言語、画像 => ロボットの行動)
- 使用言語 (NLP): 英語
- ライセンス: MIT
- ファインチューニング元のモデル: paligemma2-3b-pt-224
- 事前学習データセット: Open X-Embodiment と RH20T
- リポジトリ: https://github.com/SpatialVLA/SpatialVLA
- 論文: SpatialVLA: Exploring Spatial Representations for Visual-Language-Action Model
- プロジェクトページと動画: https://spatialvla.github.io/
利用方法
SpatialVLAはHuggingFace Transformers 🤗 のみに依存しているため、デプロイが非常に簡単です。あなたの環境が transformers >= 4.47.0
をサポートしていれば、以下のコードを直接使用してモデルをロードし、推論を実行できます。(GPUメモリ8.5GB必要)
直接利用
import torch
from PIL import Image
from transformers import AutoModel, AutoProcessor
model_name_or_path="IPEC-COMMUNITY/spatialvla-4b-224-pt"
processor = AutoProcessor.from_pretrained(model_name_or_path, trust_remote_code=True)
model = AutoModel.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16).eval().cuda()
image = Image.open("example.png").convert("RGB")
prompt = "What action should the robot take to pick the cup?"
inputs = processor(images=[image], text=prompt, return_tensors="pt")
generation_outputs = model.predict_action(inputs)
actions = processor.decode_actions(generation_outputs, unnorm_key="bridge_orig/1.0.0")
print(actions)
想定外の利用
SpatialVLAモデルは、事前学習のデータセットに含まれていない新しい(未見の)ロボットの形態やセットアップに対してゼロショットで一般化することはできません。このような場合は、目的のセットアップに関するデモンストレーションのデータセットを収集し、SpatialVLAモデルをファインチューニングすることをおすすめします。
モデルを始める方法
モデルをファインチューニングまたは事前学習する場合は、まず公式リポジトリをクローンする必要があります。
git clone https://github.com/SpatialVLA/SpatialVLA.git
次に、必要なパッケージをインストールし、Hugging Faceのモデルハブからモデルをダウンロードします。SpatialVLAのVLMバックボーンはPaLiGemma2であり、transformers >= 4.47.0が必要です。そのため、Python >= 3.10のPython環境を作成します。
conda create -n spatialvla python=3.10
conda activate spatialvla
requirements.txt
ファイルからパッケージをインストールします。再現性のためにシード設定をサポートするため、カスタマイズされた dlimp
を使用しています。何か問題が発生した場合は、dlimp_custom からdlimpを手動でインストールしてください。
pip install -r requirements.txt
ゼロから学習する
SpatialVLAは、OXEとRH20Tデータセットからの110万件の実際のロボットのデモンストレーションを使って、64台のA100 GPUクラスタで約10日間、バッチサイズ2048で事前学習されました。以下のコマンドを使用して、モデルをゼロから事前学習することができます。
# torchrun
bash scripts/spatialvla_4b_pretrain/torchrun_pretrain.sh
# またはslurmクラスタで
bash scripts/spatialvla_4b_pretrain/slurm_pretrain.sh
ファインチューニング
ほとんどのファインチューニング実験は、4または8台のA100 GPUでLoRAを使用して行われています。 以下のスクリプトを使用して、全パラメータまたはLoRAを使ったファインチューニングを行うことができます。小さなデータセットを使った実世界の実験では、LoRAを使ったファインチューニングをおすすめします。
# 全パラメータのファインチューニング
bash scripts/spatialvla_4b_finetune/finetune_full.sh
# LoRAを使ったファインチューニング
bash scripts/spatialvla_4b_finetune/finetune_lora.sh
評価
- GoogleロボットのタスクでのSimplerEnv評価
モデル | 視覚的マッチング | バリアント集約 | ||||||
---|---|---|---|---|---|---|---|---|
コーラ缶を持つ | 近くに移動 | 引き出しを開閉 | #平均 | コーラ缶を持つ | 近くに移動 | 引き出しを開閉 | #平均 | |
RT-1 (開始時) | 2.7% | 5.0% | 13.9% | 6.8% | 2.2% | 4.0% | 6.9% | 4.2% |
RT-1 (15%) | 71.0% | 35.4% | 56.5% | 60.2% | 81.3% | 44.6% | 26.7% | 56.2% |
RT-1 (収束時) | 85.7% | 44.2% | 73.0% | 74.6% | 89.8% | 50.0% | 32.3% | 63.3% |
HPT | 56.0% | 60.0% | 24.0% | 46.0% | -- | -- | 31.0% | 45.0% |
TraceVLA | 28.0% | 53.7% | 57.0% | 42.0% | 60.0% | 56.4% | 29.4% | 39.6% |
RT-1-X | 56.7% | 31.7% | 59.7% | 53.4% | 49.0% | 32.3% | 35.3% | 64.3% |
RT-2-X | 78.7% | 77.9% | 25.0% | 60.7% | 82.3% | 79.2% | -- | -- |
Octo-Base | 17.0% | 4.2% | 22.7% | 16.8% | 0.6% | 3.1% | 1.1% | 1.1% |
OpenVLA | 16.3% | 46.2% | 35.6% | 27.7% | 54.5% | 47.7% | 17.7% | 39.8% |
RoboVLM (ゼロショット) | 72.7% | 66.3% | 26.8% | 56.3% | 68.3% | 56.0% | 8.5% | 46.3% |
RoboVLM (ファインチューニング) | 77.3% | 61.7% | 43.5% | 63.4% | 75.6% | 60.0% | 10.6% | 51.3% |
SpatialVLA (ゼロショット) | 81.0% | 69.6% | 59.3% | 71.9% | 89.5% | 71.7% | 36.2% | 68.8% |
SpatialVLA (ファインチューニング) | 86.0% | 77.9% | 57.4% | 75.1% | 88.0% | 72.7% | 41.8% | 70.7% |
- WidowXロボットのタスクでのSimplerEnv評価
モデル | スプーンをタオルの上に置く | ニンジンを皿の上に置く | 黄色いブロックの上に緑のブロックを積む | 黄色いバスケットの中にナスを入れる | #全体平均 | ||||
---|---|---|---|---|---|---|---|---|---|
スプーンをつかむ | 成功 | ニンジンをつかむ | 成功 | 緑のブロックをつかむ | 成功 | ナスをつかむ | 成功 | ||
RT-1-X | 16.7% | 0.0% | 20.8% | 4.2% | 8.3% | 0.0% | 0.0% | 0.0% | 1.1% |
Octo-Base | 34.7% | 12.5% | 52.8% | 8.3% | 31.9% | 0.0% | 66.7% | 43.1% | 16.0% |
Octo-Small | 77.8% | 47.2% | 27.8% | 9.7% | 40.3% | 4.2% | 87.5% | 56.9% | 30.0% |
OpenVLA | 4.1% | 0.0% | 33.3% | 0.0% | 12.5% | 0.0% | 8.3% | 4.1% | 1.0% |
RoboVLM (ゼロショット) | 37.5% | 20.8% | 33.3% | 25.0% | 8.3% | 8.3% | 0.0% | 0.0% | 13.5% |
RoboVLM (ファインチューニング) | 54.2% | 29.2% | 25.0% | 25.0% | 45.8% | 12.5% | 58.3% | 58.3% | 31.3% |
SpatialVLA (ゼロショット) | 25.0% | 20.8% | 41.7% | 20.8% | 58.3% | 25.0% | 79.2% | 70.8% | 34.4% |
SpatialVLA (ファインチューニング) | 20.8% | 16.7% | 29.2% | 25.0% | 62.5% | 29.2% | 100.0% | 100.0% | 42.7% |
- WidowXロボットでのゼロショットロボット制御評価

- 空間理解能力評価

引用
BibTeX:
@misc{qu2025spatialvlaexploringspatialrepresentations,
title={SpatialVLA: Exploring Spatial Representations for Visual-Language-Action Model},
author={Delin Qu and Haoming Song and Qizhi Chen and Yuanqi Yao and Xinyi Ye and Yan Ding and Zhigang Wang and JiaYuan Gu and Bin Zhao and Dong Wang and Xuelong Li},
year={2025},
eprint={2501.15830},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2501.15830},
}









