🚀 SpatialVLA Fine-Tuned on fractal & bridge
このモデルは、SpatialVLAモデルをフラクタルとブリッジのデータセットでファインチューニングすることで生成されました。最終的なパフォーマンスを向上させるために、学習データセットにいくつかの変更を加えました(詳細はSpatialVLA論文を参照)。このモデルは、ドメインデータセットにおけるファインチューニングのアブレーション実験のために、私たちのTABLE Vでのみ使用されます。
🚀 クイックスタート
SpatialVLAはHuggingFace Transformers 🤗のみに依存しており、デプロイが非常に簡単です。環境がtransformers >= 4.47.0
をサポートしている場合、以下のコードを直接使用してモデルをロードし、推論を実行できます(GPUメモリ8.5GBが必要)。
✨ 主な機能
- 画像とテキストを入力として、ロボットの行動を出力するビジョン・言語・行動モデル。
- 特定のデータセットでファインチューニングされ、特定のタスクでのパフォーマンスが向上。
📦 インストール
モデルをファインチューニングまたは事前学習する場合は、まず公式リポジトリをクローンする必要があります。
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
💻 使用例
基本的な使用法
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は、OXEとRH20Tデータセットからの110万件の実ロボットデモンストレーションを使用して、64台のA100 GPUのクラスタで約10日間、バッチサイズ2048で事前学習されています。以下のコマンドを使用して、モデルをゼロから事前学習できます。
bash scripts/spatialvla_4b_pretrain/torchrun_pretrain.sh
bash scripts/spatialvla_4b_pretrain/slurm_pretrain.sh
ファインチューニング
ほとんどのファインチューニング実験は、4または8台のA100 GPUでLoRAを使用して行われています。以下のスクリプトを使用して、全パラメータまたはLoRAによるファインチューニングを行うことができます。小さなデータセットを使用する実世界の実験では、LoRAによるファインチューニングを推奨します。
bash scripts/spatialvla_4b_finetune/finetune_full.sh
bash scripts/spatialvla_4b_finetune/finetune_lora.sh
評価
GoogleロボットタスクでのSimplerEnv評価
モデル |
ピックコーク缶(視覚マッチング) |
近くに移動(視覚マッチング) |
ドロワーの開閉(視覚マッチング) |
視覚マッチング平均 |
ピックコーク缶(バリアント集約) |
近くに移動(バリアント集約) |
ドロワーの開閉(バリアント集約) |
バリアント集約平均 |
RT-1 (Begin) |
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 (Converged) |
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 (zero-shot) |
72.7% |
66.3% |
26.8% |
56.3% |
68.3% |
56.0% |
8.5% |
46.3% |
RoboVLM (fine-tuning) |
77.3% |
61.7% |
43.5% |
63.4% |
75.6% |
60.0% |
10.6% |
51.3% |
SpatialVLA (zero-shot) |
81.0% |
69.6% |
59.3% |
71.9% |
89.5% |
71.7% |
36.2% |
68.8% |
SpatialVLA (fine-tuning) |
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 (zero-shot) |
37.5% |
20.8% |
33.3% |
25.0% |
8.3% |
8.3% |
0.0% |
0.0% |
13.5% |
RoboVLM (fine-tuning) |
54.2% |
29.2% |
25.0% |
25.0% |
45.8% |
12.5% |
58.3% |
58.3% |
31.3% |
SpatialVLA (zero-shot) |
25.0% |
20.8% |
41.7% |
20.8% |
58.3% |
25.0% |
79.2% |
70.8% |
34.4% |
SpatialVLA (fine-tuning) |
20.8% |
16.7% |
29.2% |
25.0% |
62.5% |
29.2% |
100.0% |
100.0% |
42.7% |
WidowXロボットでのゼロショットロボット制御評価

空間理解能力評価

📄 ライセンス
このモデルはMITライセンスの下で提供されています。
引用
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},
}