H-EmbodVis/TurboVLA

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

TurboVLA – 로봇을 위한 실시간 시각-언어-행동 모델

TL;DR – TurboVLA는 시각적 관찰과 언어 지시를 직접 융합하여 연속적인 로봇 행동을 예측하는 컴팩트한 로봇 정책 모델입니다. 소비자용 RTX 4090에서 32Hz로 실행되며 1GB 미만의 VRAM을 사용하여 LIBERO 및 RoboTwin 2.0 벤치마크에서 최첨단 성공률을 달성합니다.


🎯 프로젝트가 하는 일

  • 작업: 로봇 카메라 피드 + 텍스트 명령을 저수준 관절 위치 동작의 시퀀스로 변환합니다.
  • 핵심 아이디어: 대규모 언어 모델(LLM) "중간 단계"를 건너뜁니다. 대신 시각(DINOv3)과 언어(BERT)를 별도로 인코딩하고, 가벼운 양방향 모듈을 통해 상호 작용하게 한 다음, 동작 청크로 직접 디코딩합니다.
  • 결과: 0.2B 매개변수, 31ms 대기 시간, 0.9GiB 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개 스위트, 10,000개 이상의 에피소드): 평균 성공률 97.6%, 0.2B 매개변수, 31ms 추론.
  • RoboTwin 2.0(50개 작업, 깨끗함 + 무작위): 0.4B 모델로 88.06% 성공률, 더 큰 기준 모델과 동등합니다.
  • 속도: RTX 4090에서 32Hz 추론, VRAM 사용량 1GB 미만(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를 한 줄로 호출하면 됩니다.

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.2B 및 0.4B 변형이 제공되며, 더 큰 비전 백본이나 더 긴 동작 청크를 실험할 수 있습니다.
  • 새 벤치마크 – 동일한 관찰(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에서 실시간 로봇 조작이 가능해져 온디바이스 또는 저비용 배포의 문이 열립니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트