[FastVLM] Efficient Vision Encoding for Vision Language Models
Pavan Kumar Anasosalu Vasu, Fartash Faghri, … Oncel Tuzel, Hadi Pouransari · Apple
한 줄 요약. 토큰을 인코더 뒤에서 잘라내는 대신, 인코더 자체를 바꾼다. 고해상도일수록 CLIP 같은 ViT 인코더는 토큰이 너무 많아지고 인코딩 지연도 커진다. FastVLM은 FastViTHD라는 하이브리드(convolution + transformer) 비전 인코더를 새로 설계 — 고해상도에서 더 적은 토큰을 내놓고 인코딩 시간도 크게 단축한다. 덕분에 토큰 수와 해상도의 균형을 입력 이미지 해상도만 키워서 맞출 수 있어 별도의 토큰 가지치기가 필요 없다(설계 단순화). LLaVA-1.5 세팅에서 TTFT(time-to-first-token) 3.2× 가속에 성능 유지, LLaVA-OneVision(1152²) 대비 같은 0.5B LLM으로 SeedBench·MMMU·DocVQA에서 더 좋고 TTFT 85×·인코더 3.4× 작음.
배경
VLM에서 입력 해상도를 키우면 글자 많은 이미지(문서·OCR) 이해가 좋아진다. 그런데 그 비용을 ViT 인코더가 떠안는다.
- 고해상도 = 토큰 폭증 + 인코딩 지연 — ViT는 해상도가 오르면 토큰 수가 급증하고 self-attention이 제곱으로 비싸져, 인코딩 지연과 LLM에 들어가는 토큰 수가 동시에 커진다.
- 두 축을 함께 줄여야 — VLM 전체 지연을 낮추려면 인코더의 ① 인코딩 지연과 ② 출력 토큰 수를 같이 줄여야 한다. 기존 접근은 인코더는 두고 뒤에서 토큰을 잘랐다(가지치기).
토큰을 사후에 자르지 말고, 인코더를 처음부터 “적은 토큰·빠른 인코딩”으로 설계하면 가지치기 없이도 해상도·토큰·정확도의 균형을 잡을 수 있지 않을까?
핵심 아이디어
convolution 단계(Stem·RepMixer) + self-attention + 학습형 pooling을 결합한 하이브리드. 고해상도에서 저지연으로 인코딩하면서 토큰을 다운샘플 — FastViT보다 4×, ViT-L/14(336)보다 16× 적은 토큰을 출력.
토큰 수·해상도의 최적 균형을 입력 이미지 해상도를 키우는 것만으로 달성 — 추가 token pruning이 불필요해 모델 설계가 단순해진다. 인코딩 지연·토큰 수 두 축을 한 번에 줄인다.
- 학습 — FastViTHD는 LLaVA와 같은 세팅으로 학습된 새 인코더(아키텍처 자체가 기여). 즉 사후 가지치기가 아니라 인코더 재설계 접근.
적용·평가
| 항목 | 내용 |
|---|---|
| 적용 모델 | LLaVA-1.5 세팅(Vicuna-7B) · 고용량은 Qwen2-7B LLM · 비교 대상 LLaVA-OneVision·Cambrian-1 |
| 데이터셋 | SeedBench · MMMU · DocVQA · GQA · TextVQA · POPE 등(텍스트 풍부·고해상도 포함) |
| Task | Image Understanding (특히 고해상도·text-rich 문서 이해) |
| 대표 결과 | LLaVA-1.5 세팅 TTFT 3.2×↑ 성능 유지 · vs LLaVA-OneVision(1152²) 동일 0.5B LLM에서 SeedBench·MMMU·DocVQA 우세·TTFT 85×·인코더 3.4× 작음 |
결과
정량
- 인코더 효율 — FastViTHD는 ViT-L/14보다 ~4× 낮은 지연에서 더 높은 정확도. 해상도를 768로 올리면 토큰이 5× 감소.
- VLM 전체 — LLaVA-1.5 세팅 TTFT 3.2×↑(성능 유지), Qwen2-7B 버전은 Cambrian-1-8B를 단일 인코더로 능가하며 TTFT 7.9×↑.
정성
- “타일링보다 해상도 스케일”(Fig 6). 흔히 쓰는 AnyRes 타일 분할은 대부분 구간에서 FastViTHD의 정적 해상도 스케일링보다 트레이드오프가 나쁘다 — 인코더가 고해상도를 효율적으로 처리하니 타일·가지치기 같은 우회가 불필요함을 보여준다.
한 줄 정리 & 의의
- 토큰을 자르지 말고 인코더를 고치자. FastViTHD(하이브리드)로 고해상도에서 적은 토큰·빠른 인코딩 → 해상도만 키워 균형을 맞추고 가지치기 자체를 없앤다.
- 차별점. 대부분의 Efficient VLM이 인코더 뒤에서 토큰을 줄이는 데 비해, FastVLM은 인코더 설계로 토큰 수와 인코딩 지연을 근본적으로 낮춘다 — on-device(아이폰·맥)에서 빠른 TTFT가 핵심.
- 위치. Encoder — 비전 인코더 단계에서 토큰·지연을 줄인다. → Efficient VLM 개요