H-EmbodVis/TurboVLA
TurboVLA: Real-Time Vision-Language-Action Model at 32 Hz on an RTX 4090 with <1 GB VRAM
TurboVLA – ロボットのためのリアルタイム視覚・言語・動作モデル
要約 – TurboVLAは、視覚観察と言語指示を直接融合して連続的なロボット動作を予測するコンパクトなロボットポリシーモデルです。民生用RTX 4090上で32 Hzで動作し、< 1 GB VRAMを使用しながら、LIBEROおよびRoboTwin 2.0ベンチマークで最先端の成功率を達成しています。
🎯 プロジェクトの目的
- タスク: ロボットのカメラ映像とテキストコマンドを、低レベルの関節位置動作のシーケンスに変換します。
- 主要なアイデア: 大規模言語モデル(LLM)の「仲介役」をスキップします。代わりに、視覚(DINOv3経由)と言語(BERT経由)を別々にエンコードし、軽量な双方向モジュールを通じて相互作用させ、直接アクションチャンクにデコードします。
- 結果: 0.2 Bパラメータ、31 msレイテンシ、0.9 GiB VRAM、LIBEROで平均97.6 %、RoboTwin 2.0で88 %の成功率。
🏗️ アーキテクチャ概要
| コンポーネント | 役割 |
|---|---|
| 視覚エンコーダ | DINOv3 ViT‑B(LIBERO)またはViT‑L(RoboTwin)– 高密度な視覚トークンを提供。 |
| 言語エンコーダ | BERT‑base uncased – 指示のトークン埋め込みを生成。 |
| 双方向視覚・言語相互作用 | 視覚トークンとテキストトークンが情報を交換できる小さなクロスアテンションブロック。 |
| 動作デコーダ | 連続的なアクションチャンク(LIBEROでは12ステップ、RoboTwinでは50ステップ)を出力するコンパクトなフィードフォワードネットワーク。 |
assets/figures/architecture-overview.pngの図は、フローを示しています:V + L → 相互作用 → デコーダ → A。
📊 パフォーマンスのハイライト
- LIBERO(4スイート、10k以上のエピソード): 平均97.6 %の成功率、0.2 Bパラメータ、31 ms推論。
- RoboTwin 2.0(50タスク、クリーン+ランダム化): 88.06 %の成功率、0.4 Bモデルで、より大きなベースラインに匹敵。
- 速度: RTX 4090上で32 Hzの推論、< 1 GB VRAM(bf16精度)を使用。
assets/figures/performance.pngの図は、LLM中心のVLAベースラインと比較したレイテンシ、成功率、パラメータ数を示しています。
📦 はじめに
1. クローンと環境構築
git clone https://github.com/H-EmbodVis/TurboVLA.git
cd TurboVLA
各ベンチマーク(LIBEROまたはRoboTwin)用に別々のConda環境を作成してください。どちらもPython 3.10とCUDA互換のPyTorch(2.3.1)が必要です。
2. 依存関係のインストール
- LIBERO
conda create -n turbovla-libero python=3.10 -y
conda activate turbovla-libero
pip install torch==2.3.1 torchvision==0.18.1 --index-url https://download.pytorch.org/whl/cu121
pip install -e "[libero]"
- RoboTwin
conda create -n turbovla-robotwin python=3.10 -y
conda activate turbovla-robotwin
pip install -e "[robotwin]"
pip install flash-attn==2.7.4.post1 --no-build-isolation
それぞれのシミュレータ(LIBERO、RoboTwin)を指示に従って別途インストールしてください。
3. モデルチェックポイントとデータのダウンロード
pip install -U huggingface_hub
hf download H-EmbodVis/TurboVLA --local-dir pretrained/TurboVLA
READMEの表に従って、DINOv3、BERT、GroundingDINOの重みを取得し、LIBERO TFDS/RLDSデータセットまたはRoboTwin変換データを準備してください。
🏋️♀️ トレーニングと評価
LIBERO(例)
torchrun --nproc_per_node=4 experiments/libero/train.py \
--dataset_dir data/libero/libero_10_no_noops/1.0.0 \
...(READMEの他の引数)...
評価は、チェックポイントパスとスイート名を指定してexperiments/libero/evaluate.pyを1行で呼び出します。
RoboTwin(例)
export ROBOTWIN_DATA_ROOT=/path/to/converted/RoboTwin
bash scripts/robotwin/train.sh # READMEで定義された環境変数を使用
評価は、scripts/robotwin/evaluate.shを介してRoboTwinシミュレータに対してポリシーサーバーを実行します。
🤝 拡張方法 / 貢献方法
- ハードウェアサポート – TODOリストには、Huawei Ascend NPUサポートの追加が記載されています。
- モデルスケーリング – リポジトリには0.2 Bと0.4 Bのバリアントがすでに用意されています。より大きな視覚バックボーンやより長いアクションチャンクを試すことができます。
- 新しいベンチマーク – 同じ観察(RGB画像)+指示形式に従う任意の視覚・言語・動作データセットをプラグインできます。
すべてのコードはApache‑2.0ライセンスであり、研究や商用プロトタイプに自由に適応できます。
📚 引用
@article{xie2026turbovla,
title = {TurboVLA: Real-Time Vision-Language-Action Model at 32 Hz on an RTX 4090 with <1 GB VRAM},
author = {Xie, Hengyi and Yao, Chenfei and Wu, Xianjin and Xi, Xuanyang and Tang, Yiping and Xu, Di and Zhu, Yingying and Liang, Dingkang and Bai, Xiang and Ding, Han},
journal = {arXiv preprint arXiv:2607.27205},
year = {2026}
}
結論 – TurboVLAは、視覚、言語、ロボット制御を接続するために巨大なLLMは必要ないことを示しています。その効率的な設計により、単一の高性能GPU上でリアルタイムのロボット操作が可能になり、オンデバイスや低コストでの展開の道を開きます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト