[SparseVLM] Visual Token Sparsification for Efficient Vision-Language Model Inference
Yuan Zhang, Chun-Kai Fan, … Shanghang Zhang 외 · Peking University 외
한 줄 요약. 시각 토큰을 질문(text) 가이드로, 학습 없이 솎아내는 LLM-side 방법. 기존엔 별도 가지치기 네트워크를 학습했지만, SparseVLM은 training-free(추가 파라미터·fine-tuning 0). 네 단계 — ① 관련 텍스트 토큰을 "평가자(raters)" 로 고르고 ② VLM의 self-attention으로 시각 토큰 중요도를 매긴 뒤 ③ attention 행렬의 rank(중복도)로 층마다 적응적 압축률을 정하고 ④ 버린 토큰은 클러스터링해 재활용(recycle). LLaVA에서 4.5× 압축에 성능 97% 유지(지연 −37%·정확도 −0.9%), FastV를 11~20%p 능가. 이미지·비디오 모두.
배경
VLM에서 시각 토큰은 텍스트보다 정보 밀도가 낮은데도 연산을 크게 차지한다 — 예: LLaVA에서 672×672 이미지 한 장이 2304 토큰으로 컨텍스트의 절반 이상을 먹는다. 기존 방법들엔 두 가지 결이 있었다.
- 학습형 가지치기 — 대개 가지치기 네트워크를 학습 데이터로 훈련(추가 파라미터·fine-tuning). 비용이 들고 모델에 결합돼 이식이 어렵다.
- 디코딩 단계 축소인데 텍스트를 무시 — FastV 등 LLM 내부에서 자르는 방법도 있지만 언어 토큰의 가이드를 안 쓴다 → 멀티모달 패러다임에 어긋난다. 질문에 따라 모델이 주목하는 영역(전경/배경)이 달라지는데, 고정 기준으로 자르면 그 질문에 필요한 토큰을 잃는다.
그럼 질문(text)을 가이드로, 학습 없이, 게다가 이미지마다·층마다 적응적으로 시각 토큰을 솎아낼 수 없을까? (참고: 사용자 정리 Lightweight LVLM·VLM Summary의 SparseVLM 항목과 동일한 4단계 구조.)
방법 — 4단계
질문 토큰 전부를 기준으로 쓰면 안 된다 — 시각과 무관한 토큰이 많다(예: 약 이름 "Tylenol·Advil"이나 "sticker·fridge"만 시각 관련). 그래서 cross-attention으로 "시각 신호와 강하게 연관된" 텍스트 토큰만 골라 raters(평가자) 로 삼는다.
raters와 시각 토큰의 self-attention 점수로 각 시각 토큰이 질문에 얼마나 관련 있는지 평가. (FlashAttention 환경에서도 attention 행렬을 추출해 호환)
고정 비율이 아니다. attention 행렬 P가 full-rank면 행들이 독립(중복 없음)이라는 점을 이용 — 차원 − rank(P) = 중복도로 보고, 그 차이에 scaling factor를 곱해 층마다·이미지마다 자를 개수를 적응적으로 정한다.
버린 토큰을 바로 버리지 않고 KNN으로 묶어(cluster) 소수의 토큰으로 aggregate·재구성(reconstruct) → 시각 디테일을 적은 토큰에 보존, 정보 손실 최소화.
- training-free plug-and-play — 추가 파라미터·fine-tuning 없이 기존 VLM에 바로 끼운다. 한 Transformer 층당 약 6(N−C)D² + 2(N−C)²D FLOPs 절감(N=가지친 수, C=재활용 수).
FlashAttention 호환 — dual-flash attention
- 문제. attention 점수로 토큰을 골라야 하는데, FlashAttention은 속도를 위해 attention 행렬을 내놓지 않는다.
- 해법 = forward 2번(dual-flash).
- 1차 — 일반 FlashAttention 그대로 → 은닉상태 생성.
- 2차 — rater 행만
1/(rater 수)로 채운 특수 V 행렬을 넣으면, attention map과의 내적이 곧 rater 평균 attention 점수를 FlashAttention 안에서 바로 돌려준다.
- 결과. 그 점수로 top-k 시각 토큰만 남기고 나머지는 mask 처리 → FlashAttention 속도를 그대로 유지하며 가지치기.
적용·평가
| 항목 | 내용 |
|---|---|
| 적용 모델 | LLaVA-1.5 · Mini-Gemini · Qwen2-VL · Video-LLaVA (이미지+비디오) |
| 이미지 데이터셋 | GQA · MMBench · MME · MMVet · POPE · SEED · ScienceQA · TextVQA · VQAv2 · VizWiz |
| 비디오 데이터셋 | TGIF-QA · MSVD-QA · MSRVTT-QA · ActivityNet-QA · NExT-QA |
| Task | Image·Video Understanding (VQA·OCR·환각·종합·비디오 QA) |
| 대표 결과 | LLaVA 4.5× 압축에 성능 97% 유지(지연 −37%, −0.9%) · FastV 대비 +11.2~17.3%(LLaVA)·+9.2~20.4%(Mini-Gemini)·+14.7%(Video-LLaVA) |
결과
- 압축·정확도 — LLaVA-1.5에서 4.5× 압축에 성능 97% 유지(지연 −37%, 평균 −0.9%).
- 동급 대비 — 같은 설정에서 FastV 대비 +11.2~17.3%p(LLaVA), Mini-Gemini +9.2~20.4%, Video-LLaVA +14.7% — Qwen2-VL(Table 2)·Video-LLaVA(Table 3)·MGM(Fig 4)로도 일반화.
한 줄 정리 & 의의
- 질문 가이드 · 학습 없는 시각 토큰 희소화. ①raters ②self-attention 중요도 ③rank 기반 적응 압축 ④재활용 — 4단계로 정보 손실을 줄이며 줄인다.
- 차별점. 가지치기 네트워크를 학습하던 방식과 달리 training-free. FastV가 attention 점수로 한 층에서 자른다면, SparseVLM은 질문 관련 raters + rank 기반 적응 비율 + 재활용으로 같은 지연에서 더 높은 정확도(FastV +11~20%p).
- 위치. LLM — LLM 내부 self-attention 단계에서 질문을 보고 줄인다. → Efficient VLM 개요