BitVLA 읽기 — 모든 파라미터가 −1·0·+1인 VLA, 메모리는 1/11

중국과학원(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로 깎고, 마지막에 로보틱스 학습을 얹는 구조다.

가중치·활성치 양자화 공식은 단순하다.

대상양자화 방식출력 범위
가중치 Wabsmean → ternary{−1, 0, +1}
활성치 xper-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+ConnectorViT(처음엔 LLM도)LLaVA-1.5-558k → MammoTH-VL 10M
Quantize-then-Distill1.58-bit Student ViT만1-bit LLM, Connector5M 샘플 (≤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 encoderSigLIP-L @ 224×224 (1.58-bit weight, INT8 activation)
Connector2-layer MLP + GeLU (BF16 유지)
Action headOpenVLA-OFT 스타일 (BF16)
총 파라미터3.0B
메모리1.4 GB
Attentioncausal (bi-directional로 바꾸니 성능 하락)
Action 처리parallel decoding + action chunking (K=8 시뮬, K=10 실로봇)
Action 손실L1 regression

Connector와 action head는 일부러 BF16으로 둔다. 메모리 차지가 미미한데 양자화하면 정렬이 깨지기 쉬워서다.

실험 결과 — “11배 작은데 거의 안 진다”

LIBERO 시뮬레이션 (4종 suite 평균 성공률)

모델크기메모리Avg
OpenVLA-OFT7.7B15.4 GB97.1%
π₀3.5B7.0 GB94.2%
GROOT-N12.2B4.4 GB93.9%
SmolVLA2.3B4.6 GB88.8%
BitVLA3.0B1.4 GB96.0%

OpenVLA-OFT 대비 −1.1%p에 메모리는 11배 작다. π₀보다는 +1.8%p, 특히 long-horizon에서 +7.6%p로 명확히 앞선다.

PTQ와의 비교

이 표가 진짜 핵심이다.

모델양자화메모리Avg
OpenVLA INT4PTQ4.4 GB72.7%
OpenVLA-OFT INT4PTQ4.7 GB96.9%
BitVLAnative 1.58-bit1.4 GB96.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 기준

모델LatencyThroughput
BitVLA73 ms341.1 Hz
OpenVLA-OFT+321 ms77.9 Hz
RDT-1B297 ms84.1 Hz
π₀86 ms291.6 Hz
Diffusion Policy90 ms267.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 안에 들어간다.

Hugo로 만듦
JimmyStack 테마 사용 중