TurboVLA - Real-Time Vision-Language-Action Model at 32 Hz on an RTX 4090 with <1 GB VRAM
H. Xie, C. Yao, X. Wu, X. Xi, Y. Tang, D. Xu, Y. Zhu, D. Liang, X. Bai, and H. Ding, "TurboVLA: Real-Time Vision-Language-Action Model at 32 Hz on an RTX 4090 with <1 GB VRAM," arXiv:2607.27205, 2026.
로봇에게 "그릇 세 개를 쌓아"라고 말하면 로봇이 그 말을 알아듣고 팔을 움직입니다. 이걸 하나의 신경망으로 묶은 것이 Vision-Language-Action 모델, 줄여서 VLA입니다.
지금 이 분야의 표준 설계는 한가운데에 대형 언어 모델을 놓는 것입니다. 카메라 이미지를 언어 모델이 알아듣는 토큰으로 번역하고, 지시문과 함께 언어 모델에 통과시키고, 그 결과를 다시 액션으로 디코딩합니다. 시각에서 언어를 거쳐 액션으로 간다는 뜻에서 \(V \rightarrow L \rightarrow A\) 경로라고 부릅니다.
TurboVLA는 이 가운데 단계를 통째로 들어냅니다.
저자
화중과기대(HUST)에서 나온 논문입니다. 공동 1저자는 셰헝이와 야오천페이로, 두 사람의 표기 순서는 기여도가 아니라 성 알파벳순입니다.
프로젝트 리드는 량딩캉입니다. 이 사람의 이력이 논문의 성격을 거의 설명합니다. 자율주행과 3D 인식을 8년 넘게 했고, 점군 분석용 상태공간 모델인 PointMamba, 비전-언어 모델로 군중 계수를 비지도 학습한 CrowdCLIP 같은 작업을 해 왔습니다. 인식 쪽에서 오래 반복한 질문, 즉 "무거운 백본을 얼마나 줄이면서 성능을 지킬 수 있는가"를 그대로 VLA에 가져온 셈입니다.
시니어 저자는 두 명입니다. 바이샹은 IEEE·IAPR Fellow이고 HUST 컴퓨터비전 계보의 중심에 있는 인물입니다. 딩한은 기계과학공정학원 원장이자 2013년 중국과학원 원사로, 로봇공학과 제조의 접점을 연구해 온 사람입니다. 비전 연구실과 기계공학 쪽이 함께 이름을 올렸다는 사실이 이 논문이 시뮬레이터에서 끝나지 않고 실제 로봇 팔 위 실험까지 간 이유입니다.
Huawei Technologies에서 세 명이 참여했습니다.
배경
VLA에 대형 언어 모델을 놓는 것은 이유가 있는 선택이었습니다. 대규모 사전학습으로 얻은 넓은 의미 지식이 로봇 제어로 옮겨오고, 학습 때 못 본 물체 이름을 알아듣고, 상위 수준 추론까지 가능해집니다.
문제는 비용입니다. 정책을 한 번 호출할 때마다 수십억 파라미터를 통과해야 합니다. 논문은 기존 방식을 두 갈래로 정리합니다.
첫째는 자기회귀 계열입니다. OpenVLA나 RT-2처럼 액션을 토큰으로 이산화해 하나씩 뽑습니다. 언어 생성의 순차 디코딩 비용을 그대로 물려받습니다.
둘째는 액션 전문가(action expert) 계열입니다. \(\pi_0\)나 \(\pi_{0.5}\)처럼 별도의 연속 디코더를 붙여 액션을 병렬로 뽑습니다. 토큰 하나씩 뽑는 비용은 사라졌지만, 그 디코더가 먹는 입력은 여전히 대형 언어 모델이 만든 표현입니다.
\[\hat{A}_n = D_{\text{act}}\!\left(H_n^L,\, s_n\right)\]
액션 생성 방식은 달라졌는데 \(L\)이 시각과 액션 사이의 다리 노릇을 한다는 구조는 그대로입니다.
저자들의 관찰은 이렇습니다. 지시문이 이미 어떤 조작을 하라고 특정해 준 상황에서, 실행 단계의 정책은 열린 문장을 생성하지도 않고 과제를 스스로 쪼개지도 않습니다. 지시문을 써서 지금 눈앞의 시각 정보 중 무엇을 봐야 하는지 정하는 일만 하면 됩니다. 그 일에 범용 언어 모델의 생성·추론 능력은 과합니다. BERT 정도의 가벼운 텍스트 인코더로도 실행에 필요한 의미는 충분히 뽑힌다는 것이 출발점입니다.
어떻게 만들었나
TurboVLA의 구조는 의도적으로 단순합니다. 시각 인코더, 텍스트 인코더, 둘을 섞는 상호작용 모듈, 액션 청크 디코더가 전부입니다.
따로 인코딩하기
시각은 DINOv3, 언어는 BERT로 인코딩하고 둘 다 공유 차원 \(d = 256\)으로 투영합니다.
\[Z^l = P_l\!\left(f_{\text{text}}(x)\right) \in \mathbb{R}^{N_l \times d}\]
여기서 풀링된 문장 임베딩 하나를 쓰지 않고 토큰 시퀀스 전체를 남깁니다. "왼쪽 위 빨간 그릇"에서 물체·속성·공간 관계가 각각 다른 시각 영역에 걸려야 하기 때문입니다.
카메라가 \(K\)개면 각 뷰의 특징에 위치 임베딩과 뷰 임베딩을 더해 이어 붙입니다.
\[Z_n^{v,(i)} = P_v\!\left(f_{\text{img}}\!\left(I_n^{(i)}\right)\right) + E_{\text{pos}}^{(i)} + e_{\text{view}}^{(i)}\]
로봇 상태 \(s_n\)은 여기 끼지 않습니다. 관절 각도는 "지시문과 장면을 맞춰 보는" 일과 무관하고, 그 특징을 액션으로 바꿀 때만 필요하기 때문입니다. 상태는 별도 경량 네트워크로 인코딩해 디코더에 직접 넣습니다. 크로스모달 상호작용을 장면 이해에만 집중시키려는 배치입니다.
양방향으로 섞기
독립적으로 인코딩된 시각과 언어는 아직 서로를 모릅니다. 기존 VLA는 이 정렬을 대형 언어 모델 안에서 처리했습니다. TurboVLA는 크로스어텐션으로 직접 처리합니다.
\[\tilde{Z}^v = Z^v + \mathrm{Attn}\!\left(Q^v, K^l, V^l\right)\]
질의와 문맥 모달리티를 바꾸면 반대 방향, 즉 장면을 아는 지시문 특징이 나옵니다. 이 두 방향을 한 층에 묶어 \(N\)번 반복합니다.
\[V_n^{\ell},\, L_n^{\ell} = \mathrm{FusionLayer}^{\ell}\!\left(V_n^{\ell-1},\, L_n^{\ell-1}\right), \quad \ell = 1, \dots, N\]
각 층은 레이어 정규화, 양방향 크로스어텐션, 모달리티별 FFN, 잔차 연결로 구성됩니다. 마지막 층의 두 스트림을 이어 붙인 \(Z_n^{vl} = [V_n^{N}; L_n^{N}]\)이 액션 준비 특징입니다.
이 발상은 Grounding DINO에서 왔습니다. 텍스트 개념과 이미지 영역을 세밀하게 대응시키는 그 모듈을, 물체 위치를 찾는 대신 제어용 표현을 만드는 데 씁니다. 실제로 이 상호작용 층은 Grounding DINO의 특징 강화 가중치로 초기화합니다.
한 번에 뽑기
ACT 방식의 가벼운 트랜스포머 디코더가 마지막을 맡습니다.
\[\hat{A}_n = D_{\theta}\!\left(Q_a,\, Z_n^{vl};\, Z_n^{s}\right) \in \mathbb{R}^{H \times d_a}\]
\(Q_a = [q_1, \dots, q_H]\)는 학습되는 액션 질의이고, \(H\)개 질의를 전부 병렬로 디코딩해 \(H\)스텝 액션 청크를 단일 순전파로 뽑습니다. 액션 토큰화도 순차 생성도 없습니다.
학습은 전문가 시연에 대한 행동 복제(behavior cloning)이고 손실은 \(\ell_1\) 하나입니다. 보조적인 언어 모델링 목적함수를 두지 않습니다.
결과
주 실험은 LIBERO입니다. Spatial·Object·Goal·Long 네 스위트에 각 10개 과제, 과제당 50회 롤아웃으로 총 2,000회를 돌린 성공률입니다. 지연과 VRAM은 RTX 4090 한 장, 배치 크기 1에서 측정했습니다.
방법 |
Emb. PT |
파라미터 (B) |
VRAM (GB) |
지연 (ms) |
Spa. |
Obj. |
Goal |
Long |
평균 |
|---|---|---|---|---|---|---|---|---|---|
Diffusion Policy |
✗ |
0.3 |
1.1 |
924.8 |
78.3 |
92.5 |
68.3 |
50.5 |
72.4 |
OpenVLA |
✓ |
7.5 |
14.9 |
202.9 |
84.7 |
88.4 |
79.2 |
53.7 |
76.5 |
\(\pi_0\) |
✓ |
3.2 |
12.3 |
84.2 |
96.8 |
98.8 |
95.8 |
85.2 |
94.2 |
\(\pi_{0.5}\) |
✓ |
3.4 |
12.8 |
93.6 |
98.8 |
98.2 |
98.0 |
92.4 |
96.9 |
CogVLA |
✓ |
8.3 |
16.1 |
115.5 |
98.6 |
98.8 |
96.6 |
95.4 |
97.4 |
VLA-JEPA |
✓ |
2.8 |
5.3 |
108.7 |
96.2 |
99.6 |
97.2 |
95.8 |
97.2 |
OpenVLA-OFT |
✓ |
7.7 |
15.7 |
112.2 |
97.6 |
98.4 |
97.9 |
94.5 |
97.1 |
DDVLA |
✓ |
7.5 |
14.5 |
60.8 |
97.2 |
99.4 |
96.8 |
92.2 |
96.4 |
VLA-Adapter |
✗ |
1.5 |
4.3 |
87.3 |
97.8 |
99.2 |
97.2 |
95.0 |
97.3 |
Evo-1 |
✗ |
0.8 |
1.7 |
137.2 |
92.7 |
97.7 |
96.3 |
92.3 |
94.8 |
TurboVLA |
✗ |
0.2 |
0.9 |
31.2 |
99.2 |
99.8 |
97.4 |
94.2 |
97.7 |
Emb. PT는 LIBERO 밖의 로봇 데이터로 추가 구현 사전학습을 했는지 여부입니다.
읽어야 할 것은 세로줄 세 개입니다. TurboVLA는 \(\pi_{0.5}\)의 약 6% 파라미터로 평균 성공률을 96.9%에서 97.7%로 올렸고, 지연을 93.6ms에서 31.2ms로 줄였습니다. VRAM은 12.8GB에서 0.9GB로 내려갔습니다. 12GB대 VRAM은 소비자용 GPU에 얹기 부담스러운 숫자이고, 1GB 미만은 얹고도 남는 숫자입니다. 이 차이가 논문 제목이 굳이 RTX 4090을 명시한 이유입니다.
지연을 줄인 선행 연구와 비교해도 유리합니다. OpenVLA-OFT와 DDVLA는 액션 생성 쪽을 최적화해 112.2ms와 60.8ms를 냈지만, 언어 백본이 여전히 실행 경로 한가운데 있어 TurboVLA보다 느리고 평균도 낮습니다. 경량 계열인 Evo-1과 VLA-Adapter보다도 작고 빠르면서 평균이 높습니다.
31.2ms는 초당 32회 액션 청크 예측, 즉 32Hz입니다. \(\pi_{0.5}\)의 93.6ms는 11Hz입니다.
양팔 조작
RoboTwin 2.0은 50개 양팔 조작 과제입니다. 여기서는 DINOv3 ViT-L 백본을 써서 파라미터가 0.4B로 늘어납니다.
방법 |
학습 방식 |
파라미터 (B) |
지연 (ms) |
평균 성공률 (%) |
|---|---|---|---|---|
ACT |
과제별 |
0.1 |
20.4 |
29.7 |
DP3 |
과제별 |
0.3 |
78.4 |
55.2 |
\(\pi_0\) |
과제별 |
3.2 |
87.6 |
46.4 |
UP-VLA |
멀티태스크 |
1.6 |
74.3 |
52.9 |
\(\pi_{0.5}\) |
멀티태스크 |
3.4 |
95.6 |
57.0 |
StarVLA-\(\alpha\) |
멀티태스크 |
3.8 |
74.9 |
50.3 |
TurboVLA |
멀티태스크 |
0.4 |
43.4 |
60.2 |
ACT가 20.4ms로 더 빠르지만 성공률이 29.7%입니다. 속도만 줄이는 것으로는 안 된다는 대조군 노릇을 합니다.
실제 로봇
AgileX Piper 6-DoF 단일팔에 손목 RGB-D 카메라와 3인칭 RGB-D 카메라를 달고 네 과제를 평가했습니다. LIBERO 사전학습 체크포인트에서 시작해 과제당 65개, 총 260개 원격조작 시연으로 12.5k 스텝 미세조정했고, 과제당 40회 시행입니다.
롤러 집기 92.5%, 카드 치우기 80%, 스테이플러 누르기 90%, 그릇 세 개 쌓기 87.5%로 네 과제 모두 \(\pi_{0.5}\)를 앞섰습니다.
무엇이 실제로 기여했나
절제 실험이 이 논문에서 가장 정직한 부분입니다.
언어를 빼면 평균이 97.7%에서 70.8%로 무너집니다. 특히 LIBERO-Goal이 97.4%에서 11.6%로 떨어집니다. 같은 장면에서 여러 행동이 가능할 때 시각 사전지식만으로는 무엇을 해야 하는지 고를 수 없다는 뜻입니다. 언어를 학습된 과제 ID 임베딩으로 바꾸면 95.4%까지 회복되지만 여전히 2.3%p 부족합니다. 자연어가 닫힌 집합의 과제 식별자 이상을 준다는 근거입니다.
텍스트 인코더는 바꿔도 크게 흔들리지 않습니다. BERT 97.7%, T5-Small 97.1%, SigLIP 텍스트 인코더 95.5%입니다. 특히 T5-Small은 141.9M으로 전체 파라미터가 더 작으면서 97.1%를 냅니다. 구조가 특정 텍스트 표현에 묶여 있지 않다는 뜻입니다.
상호작용 설계는 다음과 같습니다.
상호작용 방식 |
Spa. |
Obj. |
Goal |
Long |
평균 |
|---|---|---|---|---|---|
상호작용 없음 (단순 연결) |
97.4 |
99.8 |
90.8 |
92.8 |
95.2 |
언어가 시각을 질의 |
98.4 |
99.4 |
94.2 |
92.4 |
96.1 |
시각이 언어를 질의 |
98.6 |
100.0 |
94.4 |
93.0 |
96.5 |
양방향 |
99.2 |
99.8 |
97.4 |
94.2 |
97.7 |
한쪽 방향만 열어도 1%p 안팎 오르고, 양방향으로 열면 2.5%p 오릅니다. 이 논문 제목의 핵심 주장이 이 표 한 장에 걸려 있습니다.
깊이 \(N\)은 2에서 6까지 93.5%에서 97.7%로 오르다가 8에서 96.6%로 꺾이고, 액션 지평 \(H\)는 8에서 96.4%, 12에서 97.7%, 15에서 95.6%로 가운데가 최고입니다. 둘 다 \(N = 6\), \(H = 12\)를 최종 설정으로 씁니다.
회고
먼저 저자들이 직접 적은 한계입니다. TurboVLA는 구체적인 실행 수준 지시문을 위해 설계되었고, 상위 수준 과제 계획에 필요한 복잡한 의미 이해와 추론은 제공하지 못할 수 있다고 결론에서 밝힙니다. 대형 언어 모델의 계획 능력과 TurboVLA의 실행 경로를 결합한 계층 구조가 후속 과제라고도 적었습니다. 논문이 언어 모델 무용론을 주장하는 것이 아니라 실행 계층에서 빼자는 주장이라는 점을 명확히 해 둘 필요가 있습니다.
다음은 논문이 강조하지 않은 쪽입니다.
평균 97.7%라는 헤드라인 숫자를 스위트별로 뜯으면 그림이 달라집니다. TurboVLA가 1위인 곳은 Spatial(99.2)과 Object(99.8)인데, 이 두 스위트는 상위권 모델들이 이미 98~99%대에 몰려 있는 포화 구간입니다. 반대로 가장 어려운 LIBERO-Long에서는 94.2%로 CogVLA(95.4), VLA-JEPA(95.8), VEGA-3D(95.2), VLA-Adapter(95.0), OpenVLA-OFT(94.5)에 모두 뒤집니다. 평균 1위는 포화된 스위트에서 소수점을 벌어 만든 결과에 가깝습니다. 긴 지평 과제에서 대형 언어 모델을 뺀 대가가 아직 남아 있다고 읽는 편이 정확합니다.
RoboTwin 2.0 실험에는 저자들이 밝힌 제약이 하나 더 있습니다. 컴퓨트 예산 때문에 공식 clean 시연만 쓰고 무작위화된 장면 데이터는 넣지 않았습니다. RoboTwin 2.0이 내세우는 특징이 강한 도메인 무작위화라는 점을 생각하면, 이 벤치마크가 원래 측정하려던 강건성은 측정되지 않은 셈입니다.
일반화 자체가 열린 질문입니다. TurboVLA는 Emb. PT가 ✗입니다. 추가 구현 사전학습 없이 벤치마크 내 시연만으로 행동 복제를 했다는 뜻이고, 사전학습한 모델들과 대등한 성능을 냈다는 점에서 유리한 대목입니다. 그러나 LIBERO와 RoboTwin 모두 분포 내 평가이고, 실기 실험도 260개 시연으로 미세조정한 뒤 같은 네 과제를 본 것입니다. 학습 때 못 본 물체 이름이나 새로운 조합을 얼마나 알아듣는지는 이 논문의 실험이 답하지 않습니다. 대형 언어 모델을 실행 경로에서 뺐을 때 가장 먼저 걱정할 지점이 바로 여기인데, 정면으로 다룬 실험이 없습니다.
실기 평가는 과제당 40회 시행이고 오차 막대가 없습니다. 92.5%와 87.5%의 차이는 40회 기준으로 두 번의 성패입니다. 이 정도 표본에서 개별 과제 순위를 크게 읽지 않는 편이 안전합니다.
효율 수치는 저자들이 공식 구현과 체크포인트로 직접 측정한 값입니다. 측정 조건(RTX 4090, 배치 1, 멀티모달 입력에서 액션 청크까지)을 명시했다는 점은 좋지만, 제3자 재현은 아직 없습니다.
마지막으로 파라미터 0.2B의 내역을 보면 흥미롭습니다. 절제 실험 표의 전체 파라미터가 216.1M인데 BERT-base만 110M 남짓입니다. 이 모델의 절반 가까이가 언어 인코더입니다. 언어 모델을 걷어낸 설계라는 서술이 언어 처리를 줄였다는 뜻은 아닙니다. 줄인 것은 언어 모델을 시각과 액션 사이의 다리로 쓰는 구조이지 언어 자체가 아닙니다. 언어를 뺐을 때 70.8%로 무너지는 절제 결과가 같은 이야기를 합니다.
정리
이 논문이 실제로 보여준 것은 세 가지입니다.
첫째, 실행 수준 조작에서 대형 언어 모델은 시각과 액션 사이의 필수 경유지가 아닙니다. BERT급 인코더와 6층 양방향 크로스어텐션으로 대체해도 LIBERO 평균 97.7%가 나옵니다.
둘째, 그 대체의 이득은 성능이 아니라 배치 가능성입니다. 0.9GB VRAM과 31.2ms는 소비자용 GPU 한 장, 나아가 온보드 장치까지 내려갈 수 있는 숫자입니다. 원격 서버 왕복을 전제하지 않는 로봇 정책이 가능해집니다.
셋째, 언어는 여전히 필수입니다. 빼면 70.8%로 무너지고, 과제 ID로 바꿔도 부족합니다. 이 논문의 주장은 언어를 줄이자는 것이 아니라 언어 모델을 실행 경로에서 계획 계층으로 올려 보내자는 것에 가깝습니다. 가장 어려운 LIBERO-Long에서 아직 1위를 못 잡았다는 사실이 그 이동이 아직 끝나지 않았음을 보여줍니다.
논문 원문은 arXiv:2607.27205에서, 코드는 H-EmbodVis/TurboVLA에서 볼 수 있습니다.