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에서 실시간 로봇 조작이 가능해져 온디바이스 또는 저비용 배포의 문이 열립니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트