중국과학원(ICT)에서 2026년 3월에 공개한 BitVLA 논문(arXiv:2506.07530v2)을 정리한다. 한 줄 요약은 — **모든 가중치를 {−1, 0, +1} 세 값으로만 표현한 1-bit VLA가 7B짜리 OpenVLA-OFT와 거의 같은 성능을 내면서 메모리는 1.4 GB(11배 감소), 지연은 73 ms(4.4배 감소)**다. 코드와 가중치 모두 공개됐다(GitHub / HuggingFace).
엣지 로봇 입장에서 “GPU 메모리 4 GB짜리 노트북 GPU(RTX 3050 Ti Laptop) 한 장으로 풀 사이즈 VLA를 굴린다"는 게 무슨 의미인지가 이 논문의 진짜 무게다.
왜 1-bit인가 — VLA의 배치 문제
요즘 나오는 VLA는 죄다 크다. π₀ 3.5B, OpenVLA 7.5B, OpenVLA-OFT 7.7B, UniVLA 8.5B. 다 full-precision(BF16)이라 단순 메모리만 7~17 GB가 들고, 추론 지연은 수백 ms 단위다. 그런데 실제 로봇 — 그것도 엣지 플랫폼 — 은 메모리·전력·열 모두 빠듯하다.
흔한 해법은 post-training quantization(PTQ)이다. 학습은 BF16으로 해 두고 추론 시점에만 INT8 / INT4로 떨궈서 쓴다. 깔끔하지만 두 가지 문제가 있다.
- 정확도가 떨어진다. 특히 4-bit 이하로 가면 캘리브레이션을 잘해도 무너지기 시작한다.
- 학습 dynamics와 어긋난다. 모델은 full-precision 분포를 가정하고 학습됐는데, 추론은 다른 게임을 한다.
BitVLA의 입장은 명확하다 — “압축은 사후가 아니라 학습 시점에 같이 설계해야 한다(training-time co-design).” 학습 자체를 1-bit 제약 안에서 진행하면, 모델이 처음부터 저정밀에 어울리는 표현을 배운다.
1.58-bit가 뭔가 — BitNet b1.58 베이스
엄밀히 말하면 “1-bit"는 마케팅용 호칭이고 실제로는 log₂(3) ≈ 1.58 bit다. 가중치가 세 값 {−1, 0, +1} 중 하나니까. 0이 끼어 있다는 게 중요한데, 사실상 sparse weight 역할을 해서 표현력이 binary(±1)보다 훨씬 낫다.
BitVLA는 BitNet b1.58 2B4T를 LLM 백본으로 그대로 가져온다. 이 BitNet은 이미 3B 규모부터 full-precision LLM과 맞먹는 성능을 내는 게 검증돼 있다. BitVLA는 그 위에 vision encoder도 1.58-bit로 깎고, 마지막에 로보틱스 학습을 얹는 구조다.
가중치·활성치 양자화 공식은 단순하다.
| 대상 | 양자화 방식 | 출력 범위 |
|---|---|---|
| 가중치 W | absmean → ternary | {−1, 0, +1} |
| 활성치 x | per-token absmax → INT8 | [−128, 127] |
선형 레이어 출력은 Y = (α/β) · Q_w(W) · Q_a(x) 한 줄로 끝난다. α는 weight L1 평균 기반 스케일, β는 입력 max 기반 스케일. 핵심은 곱셈이 아니라 덧셈으로 풀린다는 점이다. 가중치가 −1/0/+1이니 행렬 곱은 사실상 정수 덧셈·뺄셈·skip의 조합이고, 부동소수점 연산은 per-element 스케일링 정도만 남는다. 이게 4.4× 속도 향상의 출처다.
3단 학습 파이프라인 — Quantize-then-Distill이 핵심
BitVLA의 학습 구조는 단계별로 어떤 모듈을 풀고 잠그는지를 명확히 통제한다.
| 단계 | 학습 대상 | 동결 대상 | 데이터 |
|---|---|---|---|
| ① 멀티모달 학습 | Connector → LLM+Connector | ViT(처음엔 LLM도) | LLaVA-1.5-558k → MammoTH-VL 10M |
| ② Quantize-then-Distill | 1.58-bit Student ViT만 | 1-bit LLM, Connector | 5M 샘플 (≤10B 토큰) |
| ③ 로보틱스 학습 | 전체 (LLM, Connector, ViT) | — | Open X-Embodiment ≈1M 궤적 |
진짜 핵심은 ②단계, Quantize-then-Distill이다.
Quantize-then-Distill — 비전 인코더를 깎는 방법
1단계가 끝나면 1-bit LLM은 잘 정렬돼 있지만 SigLIP-L ViT는 여전히 BF16이다. 이걸 그대로 1.58-bit로 떨구면 표현이 망가져서 multimodal alignment가 깨진다.
BitVLA는 knowledge distillation으로 푼다.
- Teacher: full-precision SigLIP-L (동결)
- Student: 1.58-bit weight + INT8 activation으로 초기화한 같은 인코더
- Student만 학습, LLM과 Connector는 동결
손실은 두 갈래의 합이다.
L_total = L_LM + λ · L_aux
L_LM: 표준 autoregressive 언어 모델 loss (답변 토큰에만 적용)L_aux: 레이어별 hidden state의 MSE —Σ ‖h_teacher^l − h_student^l‖² / n
ablation 결과가 흥미롭다 — representation alignment loss를 빼면 평균 정확도가 50.8% → 42.4%로 폭락한다. teacher의 중간 표현을 student가 모방하게 강제하는 게 단순 SFT보다 결정적으로 효과적이라는 뜻이다.
추가로 흥미로운 발견 — 1-bit LLM 사전학습은 수조 단위 토큰이 필요했지만, 1.58-bit ViT의 QAT는 5~10B 토큰이면 충분하다. teacher가 있으니 데이터 효율이 훨씬 좋다.
t-SNE 시각화에서 layer 0에서는 teacher와 student 임베딩이 흩어져 있지만, layer 26쯤 가면 거의 겹친다. 깊이가 깊어질수록 student가 teacher의 기하 구조를 그대로 학습한다는 증거다.
모델 사양
| 구성 | 사양 |
|---|---|
| LLM 백본 | BitNet b1.58 2B4T (1.58-bit) |
| Vision encoder | SigLIP-L @ 224×224 (1.58-bit weight, INT8 activation) |
| Connector | 2-layer MLP + GeLU (BF16 유지) |
| Action head | OpenVLA-OFT 스타일 (BF16) |
| 총 파라미터 | 3.0B |
| 메모리 | 1.4 GB |
| Attention | causal (bi-directional로 바꾸니 성능 하락) |
| Action 처리 | parallel decoding + action chunking (K=8 시뮬, K=10 실로봇) |
| Action 손실 | L1 regression |
Connector와 action head는 일부러 BF16으로 둔다. 메모리 차지가 미미한데 양자화하면 정렬이 깨지기 쉬워서다.
실험 결과 — “11배 작은데 거의 안 진다”
LIBERO 시뮬레이션 (4종 suite 평균 성공률)
| 모델 | 크기 | 메모리 | Avg |
|---|---|---|---|
| OpenVLA-OFT | 7.7B | 15.4 GB | 97.1% |
| π₀ | 3.5B | 7.0 GB | 94.2% |
| GROOT-N1 | 2.2B | 4.4 GB | 93.9% |
| SmolVLA | 2.3B | 4.6 GB | 88.8% |
| BitVLA | 3.0B | 1.4 GB | 96.0% |
OpenVLA-OFT 대비 −1.1%p에 메모리는 11배 작다. π₀보다는 +1.8%p, 특히 long-horizon에서 +7.6%p로 명확히 앞선다.
PTQ와의 비교
이 표가 진짜 핵심이다.
| 모델 | 양자화 | 메모리 | Avg |
|---|---|---|---|
| OpenVLA INT4 | PTQ | 4.4 GB | 72.7% |
| OpenVLA-OFT INT4 | PTQ | 4.7 GB | 96.9% |
| BitVLA | native 1.58-bit | 1.4 GB | 96.0% |
OpenVLA-OFT를 INT4 PTQ로 줄여도 4.7 GB가 필요하다. BitVLA는 그보다 1/3 메모리로 거의 같은 성능을 낸다. “사후 압축 vs 학습 시 압축"의 격차를 그대로 보여주는 비교다.
실세계 — Franka 7-DoF
기본 태스크 3개(수박 잡기, 빵 바구니에 넣기, 종 세우기) + OOD 변형 3개(스폰지 잡기, 식탁보 배경, 수박을 바구니에).
- 3개 기본 태스크 평균에서 BitVLA가 π₀를 일관되게 능가, 7B OpenVLA-OFT와 거의 동등
- OOD에서도 catastrophic drop 없이 견디는 일반화 능력
- 사전학습 제거(w/o pre-training) 변형은 대부분 0%에 가까운 성공률 → Open X-Embodiment 사전학습이 실세계 성능에 결정적
추론 효율 — A100 기준
| 모델 | Latency | Throughput |
|---|---|---|
| BitVLA | 73 ms | 341.1 Hz |
| OpenVLA-OFT+ | 321 ms | 77.9 Hz |
| RDT-1B | 297 ms | 84.1 Hz |
| π₀ | 86 ms | 291.6 Hz |
| Diffusion Policy | 90 ms | 267.4 Hz |
50 Hz 제어 루프 기준, BitVLA는 매 스텝에 6배 가까이 여유가 생긴다.
한계 — 솔직한 부분들
저자가 정직하게 적어 둔 한계가 인상적이다.
- Drop-in 변환이 안 된다. BitVLA는 quantization-aware training이라, 이미 잘 학습된 풀 정밀도 LLM/VLM을 그대로 1-bit로 떨구면 성능이 크게 깨진다(BitNet 원논문에서 이미 관찰된 현상). 즉 기존 모델을 변환하는 레시피가 아니라 처음부터 다시 굽는 레시피다.
- 사전학습 스케일이 작다. Open X-Embodiment에서 ~1M 샘플만 썼다. 더 다양한 embodiment·환경에 일반화하려면 사전학습 데이터를 키워야 한다.
- 전용 가속기가 있어야 진가가 나온다. 현재는 BitBLAS 커스텀 커널로 ternary × INT8 matmul을 돌리지만, 본격적인 효율은 1-bit 전용 하드웨어가 나와야 풀린다. 저자도 결론에서 이 부분을 강조한다.
우리 입장에서 — 무엇을 가져갈까
Physical AI 드림팀 관점에서 이 논문이 던지는 신호들.
- 엣지 VLA의 현실적 후보가 처음으로 등장했다. 1.4 GB면 노트북 GPU·Jetson급에서 진짜 돌릴 수 있다. 사양 잡을 때 “VLA는 무조건 풀 사이즈 GPU 필요"라는 전제가 깨진다.
- 양자화 전략의 디폴트가 바뀐다. “일단 학습하고 나중에 INT8/INT4"가 아니라 “학습 시 1.58-bit 제약을 박는다"가 새 기준선이 될 수 있다. 적어도 비교 대상에 BitVLA를 넣어야 한다.
- Quantize-then-Distill 패턴은 일반화 가능해 보인다. 우리가 자체 VLA를 만들 때도 풀 정밀도로 한 번 학습한 모듈을 teacher로 두고 저정밀 student로 distill하는 흐름은 그대로 가져올 수 있다.
- 하드웨어-알고리즘 공동 설계가 다음 라운드의 진짜 게임이라는 신호. ternary × INT8 가속을 잘 받는 SoC가 나오면 휴머노이드·엣지 로봇 추론 비용 구조가 한 단계 더 떨어진다.
- 모델 가중치가 공개돼 있다(HuggingFace). 자체 환경에서 LIBERO·실로봇 재현 실험을 돌려 보는 게 가장 빠른 학습 경로다.
한 줄 정리
BitVLA가 보여준 것은 모델을 키워야만 성능이 오르는 게 아니라는 점이다 — 모든 파라미터를 −1·0·+1로 묶어도 학습 시점에 양자화를 같이 설계하면 7B VLA와 맞먹는 성능이 1.4 GB 안에 들어간다.