Efficient VLM — Overview
한 줄 요약. VLM은 시각 토큰이 텍스트보다 훨씬 많아(예: LLaVA 한 장에 576개) LLM 입력이 길어지고 연산이 토큰 수의 제곱으로 폭증한다. Efficient VLM은 이 시각 토큰을 줄여(선택·압축·복구) latency·메모리·FLOPs를 낮추는 방법들이다. 이 글은 분야를 두 축으로 지도화한다 — ① 어디서 줄이나(인코더 · 브리지 · LLM), ② 무엇으로 고르나(중요도 · 다양성 · 중복 · 민감도 · 공간 …). 그 위에 발전 흐름과 20개 방법 한눈에 보기 표를 얹는다.
왜 Efficient VLM인가
VLM은 이미지를 수백 개의 시각 토큰으로 바꿔 LLM에 넣는다. 그런데 LLM의 self-attention은 입력 길이에 제곱으로 비싸지므로, 긴 시각 토큰 시퀀스가 곧 비용이다.
- LLM 단계 비용이 지배적 — ViT 토큰 축소가 비전 인코더 안의 비용을 줄였다면, VLM에선 LLM에 들어가는 시각 토큰 수가 전체 latency·메모리를 좌우한다.
- 순수 시각만 보면 위험 — 시각 정보에만 의존해 토큰을 자르면 질문에 필요한 정보를 잃는다(oversimplification). 그래서 많은 방법이 질문 텍스트를 “어떤 시각 토큰이 답에 필요한지”의 단서로 쓴다.
즉 Efficient VLM = “질문을 고려해, 답에 필요 없는 시각 토큰을 — 어느 단계에서·어떤 기준으로 — 얼마나 줄일까” 의 문제다. 아래 두 축이 그 “어느 단계”와 “어떤 기준”이다.
축 ①: 어디서 줄이나 (위치)
① Encoder Encoder
시각 인코더 안에서 토큰을 미리 줄인다. 인코더 연산까지 함께 절감(ToMe·VisionZip). 인코더를 재설계해 애초에 토큰을 적게 내는 길도(FastVLM).
② Bridge / Pre-LLM Bridge
인코더와 LLM 사이(projector 부근)에서 추려 LLM에 넣는다. LLM 비용을 직접 줄인다(DivPrune·CDPruner·PruMerge·G-Prune).
③ LLM LLM
LLM 내부(주로 얕은 디코더 층)에서 시각 토큰을 솎아낸다. attention 관찰에서 출발(FastV·SparseVLM·PyramidDrop·DART).
한 방법이 여러 단계에 걸치기도 한다 — IVTP는 인코더와 LLM 양쪽에서 2-stage로 자르고(Encoder+LLM), Recoverable Compression은 브리지에서 자르되 질문 텍스트로 되살린다.
축 ②: 무엇으로 고르나 (선택 기준)
위치가 “어디서”라면, 선택 기준은 “어떤 신호로 남길 토큰을 정하나” 다. 초기엔 사실상 attention 하나였지만, 그 한계(층·헤드마다 불안정, 중복 잔존)가 드러나며 기준이 분화했다.
① 중요도 (attention)
시각 토큰이 받는 attention으로 중요도를 매겨 낮은 걸 버린다 — 가장 기본(FastV·PyramidDrop·ATP-LLaVA). 단, attention은 불안정하고 비슷한 토큰을 함께 남겨 중복이 생긴다.
③ attention 너머의 새 신호
attention의 불안정·중복을 피해 더 직접적인 신호로 — 그래프 정보 전파(G-Prune), 비용 최적화(TopV), 출력 민감도(ZOO-Prune), 공간 근접(VLM-Pruner).
④ 질문(텍스트) 가이드
위 기준에 질문을 더한다 — 질문과 관련된 시각 토큰을 우선 남겨 순수 시각의 과압축을 막는다(SparseVLM raters·Recoverable·IVTP·CoViPAL).
게다가 대부분 버린 토큰을 그냥 두지 않고 복구·재활용한다 — 클러스터링해 합치거나(SparseVLM·PruMerge·VLM-Pruner의 SWA) 질문 단서로 되살린다(Recoverable). 그리고 추가 학습이 필요 없는 training-free로 수렴하는 추세다.
관련 논문 한눈에 보기
아래 표는 두 축(위치 · 학습 유형)과 핵심을 연도순으로 정리한 지도다. 위치는 색 태그로 — Encoder / Bridge / LLM / 걸치면 Encoder+LLM.
| Method | Venue | 위치 | 학습 | 핵심 |
|---|---|---|---|---|
| ToMe | ICLR 2023 | Encoder | training-free | bipartite soft matching으로 유사 토큰 병합 — ViT 토큰 축소의 토대 |
| MADTP | CVPR 2024 | Encoder | fine-tuning | 비전·언어 인코더에서 동적으로 토큰 가지치기(MAG 정렬 + DTP 동적비율) |
| CrossGET | ICML 2024 | Encoder | fine-tuning | cross-modal 가이드로 토큰을 매칭·병합(ensemble) + complete-graph soft matching |
| FastV | ECCV 2024 | LLM | training-free | 깊은 층의 시각 attention 희소성 → 초기 층(layer 2) 뒤 토큰 가지치기 |
| IVTP | ECCV 2024 | Encoder+LLM | training-free | 2단계 — 인코더 GTP(attention rollout, frozen ViT 대응) + LLM 단계 instruction 필터(pseudo CLS) · LLaVA-1.5 토큰 88.9%↓ |
| VLTP | WACV 2025 | Encoder | training-based | MLLM 가이드로 task 관련 토큰만 깊은 ViT 층에 통과(다단계·재활성) — task 지향 분할(TOS) 가속 |
| SparseVLM | ICML 2025 | LLM | training-free | text raters로 self-attention 중요도 평가 → rank 기반 적응 압축 + token recycling (FastV 능가) |
| Recoverable Compression | AAAI 2025 | Bridge | training-free | CLS 1차 필터 → 질문 텍스트 유사 토큰을 복구(recover) → 나머지 병합 · 토큰 ~10%로 |
| G-Prune | AAAI 2025 | Bridge | training-free | 시각 토큰을 그래프 노드로 — 의미 유사도 간선 + 정보 전파로 중요도 매겨 top-k 선택(전경·배경 모두) · LLM attention 불필요 |
| VisionZip | CVPR 2025 | Encoder | training-free | 인코더 출력에서 dominant 토큰 선택 + contextual 병합 · text-agnostic(멀티턴 강점) |
| DivPrune | CVPR 2025 | Bridge | training-free | 가지치기를 Max-Min Diversity(MMDP) 로 — 중요도 아닌 다양성 최대 부분집합 선택(LLM 입력 전 1회) |
| ATP-LLaVA | CVPR 2025 | LLM | training-based | ATP 모듈로 인스턴스·층별 적응 압축률 + SAP(공간 보강) · 토큰 75%↓에 1.9% |
| TopV | CVPR 2025 | LLM | training-free | 가지치기를 비용 최적화(특징 유사도·공간·중심거리 + Sinkhorn)로 — attention 휴리스틱 대신, prefill 1회라 FlashAttention·KV cache 호환·메모리↓ |
| PyramidDrop (PDrop) | CVPR 2025 | LLM | training-free | 깊을수록 중복↑ → stage별 피라미드처럼 점진 드롭(고해상도 학습도 가속) |
| FastVLM | CVPR 2025 | Encoder | pretraining | FastViTHD(conv+transformer) 인코더 재설계로 고해상도에서 토큰 4~16×↓·인코딩 지연↓ → 가지치기 불필요, TTFT 3.2×↑ (Apple) |
| LLaVA-PruMerge | ICCV 2025 | Bridge | training-free | CLS-패치 attention 희소성 → IQR로 적응적 선택(입력마다 다른 개수) + k-NN 가중 병합(PruMerge+) · 토큰 ~5.5%(~32개) |
| CDPruner | NeurIPS 2025 | Bridge | training-free | attention·유사도를 넘어 질문에 조건화한 다양성을 DPP로 최대화 → 다양+질문관련 토큰만 · LLaVA FLOPs 95%↓에 94% |
| CoViPAL | EMNLP 2025 | Bridge | training-based | 가볍고 model-agnostic한 PPM이 LVLM 전에 문맥 기반으로 잉여 토큰 예측·제거(얕은 층도) · training-free·based 양쪽 능가(이미지·비디오) |
| DART | EMNLP 2025 | LLM | training-free | “중요도는 random보다 못하다” → 중복(duplication) 기준 — pivot 토큰(≤2%)과 중복 낮은 토큰만 유지 · FlashAttention 호환·88.9%↓ |
| ZOO-Prune | CVPR 2026 | Bridge | training-free | 민감도(sensitivity) 기준 — projection layer에서 zeroth-order 섭동으로 출력 영향 추정(backprop 없이) + 다양성 결합(Score=Div×Sens) · 토큰 94.4%↓ |
| VLM-Pruner | CVPR 2026 | LLM | training-free | 중복+공간 희소성 균형 — pivot에서 근→원(centrifugal) 선택(BSS 기준)·버린 토큰 SWA 회복 → 흩어짐 없이 객체 디테일 보존 · 88.9%↓ |
「학습」 유형 — 각 방법(가지치기·병합·복구·인코더 설계)을 적용하는 데 어떤 학습이 필요한가를 나타낸다.
· training-free : 추가 학습 없이 사전학습된 모델에 그대로 끼운다(plug-and-play). 대부분의 추세.
· fine-tuning : 가지치기를 켠 채 모델(VLM) 가중치를 미세조정해 성능을 회복·적응시킨다.
· training-based : 모델 본체는 두고 가지치기용 모듈을 따로 학습한다(예: 중요도 예측기·분류기).
· pretraining : 가지치기가 아니라 인코더 자체를 새로 설계·사전학습해 토큰을 적게 내놓는다(FastVLM).
발전 흐름
분야가 2년 남짓으로 짧아 “세대”로 가르긴 이르지만, 무게중심이 옮겨온 흐름은 뚜렷하다 — 위치(축①)와 기준(축②)이 함께 움직였다.
② LLM-side의 발견 LLM
FastV가 "깊은 LLM 층에선 시각 토큰 attention이 거의 0"임을 관찰 → 무게중심이 LLM 내부로. 한 층 뒤 잘라내고(FastV) stage별 점진 드롭(PyramidDrop)까지, 게다가 training-free로.
③ 질문 가이드 · 브리지 선별 Bridge
순수 시각만 보면 위험 → 질문(텍스트)을 단서로 답에 필요한 토큰만 LLM 전(브리지)에서 선별·복구한다(SparseVLM·Recoverable·CoViPAL). plug-and-play 모듈이 폭발적으로 늘었다.
벤치마크
평가는 대부분 image/video understanding 벤치마크로 한다 — MME · POPE · GQA · TextVQA · MMBench · SEED · ScienceQA · OCRBench 등. 각 벤치마크가 무엇을 보는지는 VLM Overview의 주요 벤치마크에 정리해 두었다. 핵심 비교 지표는 압축률(유지 토큰 수) 대비 정확도 유지 + latency이며, 특히 고압축(토큰 ~90%↓)·OCR/문서처럼 디테일이 중요한 task에서 방법 간 차이가 크게 갈린다.