H-EmbodVis/TurboVLA

TurboVLA: Real-Time Vision-Language-Action Model at 32 Hz on an RTX 4090 with <1 GB VRAM

TurboVLA – Real‑Time Vision‑Language‑Action for Robots

TL;DR – TurboVLA is a compact robot‑policy model that directly fuses visual observations and language instructions to predict continuous robot actions. It runs at 32 Hz on a consumer RTX 4090 while using < 1 GB VRAM, achieving state‑of‑the‑art success rates on the LIBERO and RoboTwin 2.0 benchmarks.


🎯 What the project does

  • Task: Turn a robot’s camera feed + a textual command into a sequence of low‑level joint‑position actions.
  • Key idea: Skip the large‑language‑model (LLM) “middle‑man”. Instead, encode vision (via DINOv3) and language (via BERT) separately, let them interact through a lightweight bidirectional module, and decode directly to action chunks.
  • Result: 0.2 B parameters, 31 ms latency, 0.9 GiB VRAM, 97.6 % average success on LIBERO and 88 % on RoboTwin 2.0.

🏗️ Architecture at a glance

Component Role
Vision encoder DINOv3 ViT‑B (LIBERO) or ViT‑L (RoboTwin) – provides dense visual tokens.
Language encoder BERT‑base uncased – produces token embeddings for the instruction.
Bidirectional vision‑language interaction Small cross‑attention blocks that let visual and textual tokens exchange information.
Action decoder Compact feed‑forward network that outputs continuous action chunks (12‑step for LIBERO, 50‑step for RoboTwin).

The diagram in assets/figures/architecture-overview.png shows the flow: V + L → interaction → decoder → A.


📊 Performance highlights

  • LIBERO (4 suites, 10‑k+ episodes): 97.6 % average success, 0.2 B params, 31 ms inference.
  • RoboTwin 2.0 (50 tasks, clean + randomized): 88.06 % success with a 0.4 B model, matching larger baselines.
  • Speed: 32 Hz inference on an RTX 4090, using < 1 GB VRAM (bf16 precision).

Figures in assets/figures/performance.png compare latency, success, and parameter count against LLM‑centric VLA baselines.


📦 Getting started

1. Clone & set up environments

git clone https://github.com/H-EmbodVis/TurboVLA.git
cd TurboVLA

Create a separate Conda env for each benchmark (LIBERO or RoboTwin) – both require Python 3.10 and a CUDA‑compatible PyTorch (2.3.1).

2. Install dependencies

  • 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

Install the respective simulators (LIBERO, RoboTwin) separately as instructed.

3. Download model checkpoints & data

pip install -U huggingface_hub
hf download H-EmbodVis/TurboVLA --local-dir pretrained/TurboVLA

Follow the README tables to obtain DINOv3, BERT, and GroundingDINO weights, and to prepare the LIBERO TFDS/RLDS datasets or the RoboTwin converted data.


🏋️‍♀️ Training & evaluation

LIBERO (example)

torchrun --nproc_per_node=4 experiments/libero/train.py \
  --dataset_dir data/libero/libero_10_no_noops/1.0.0 \
  ... (other args as in README) ...

Evaluation is a single‑line call to experiments/libero/evaluate.py with the checkpoint path and suite name.

RoboTwin (example)

export ROBOTWIN_DATA_ROOT=/path/to/converted/RoboTwin
bash scripts/robotwin/train.sh   # uses env vars defined in README

Evaluation runs the policy server against the RoboTwin simulator via scripts/robotwin/evaluate.sh.


🤝 How to extend / contribute

  • Hardware support – TODO list mentions adding Huawei Ascend NPU support.
  • Model scaling – The repo already provides a 0.2 B and a 0.4 B variant; you can experiment with larger vision backbones or longer action chunks.
  • New benchmarks – Plug in any vision‑language‑action dataset that follows the same observation (RGB images) + instruction format.

All code is Apache‑2.0 licensed, so you can freely adapt it for research or commercial prototypes.


📚 Citation

@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}
}

Bottom line – TurboVLA shows that you don’t need a massive LLM to connect vision, language, and robot control. Its efficient design makes real‑time robot manipulation feasible on a single high‑end GPU, opening the door for on‑device or low‑cost deployment.

Related

  • Project
  • Project
  • Project
  • Project
  • Project