[DART] Stop Looking for "Important Tokens": Duplication Matters More
Zichen Wen, Yifeng Gao, … Conghui He, Linfeng Zhang · SJTU / Shanghai AI Lab / SYSU / PKU
한 줄 요약. 도발적 주장 — "중요도(importance)는 좋은 가지치기 기준이 아니다." 중요도 기반 방법은 종종 무작위(random) 가지치기보다도 나쁘고, attention 점수를 써야 해 FlashAttention과도 호환되지 않는다. DART(Duplication-Aware Reduction of Tokens)는 대신 중복(duplication)을 본다 — ① 소수의 pivot 토큰(전체의 ≤2%, norm 기준 또는 무작위)을 고르고 ② pivot과의 코사인 유사도를 계산해 pivot과 덜 겹치는(중복 낮은) 토큰만 남긴다. 학습 없이 FlashAttention과 호환되고 0.08초 이내로 끝난다. 시각 토큰 88.9%↓에 성능 대등, 전체 1.99×·prefill 2.99× 가속.
배경
대부분의 토큰 가지치기는 중요도 점수(주로 vision-text attention)를 정의하고 그 낮은 토큰을 버린다. DART는 이 패러다임을 정면으로 반박한다.
- 중요도 ≈ random 이하 — 중요도 기반 가지치기는 토큰 간 상호작용을 무시한 채 “안 중요한” 토큰을 바로 버려, 무작위 가지치기보다 못한 경우가 많다.
- FlashAttention 비호환 — attention 점수를 명시적으로 써야 해, 융합 연산(FlashAttention)의 가속 이득이 사라진다.
- 핵심 통찰 — 여러 토큰이 거의 같은 표현이면 하나만 남겨도 된다. 즉 버릴지 말지는 “중요한가”가 아니라 “중복인가” 로 정해야 한다.
중요도 대신 중복을 기준으로, 게다가 attention 행렬 없이 가볍게 자를 수 없을까?
핵심 아이디어
전체의 2% 이하를 pivot 토큰으로 고른다(토큰 norm 기준 또는 심지어 무작위로 — 추가 연산이 거의 없다). 실험에선 layer 2 뒤, K-norm 상위 8개를 pivot으로 사용.
pivot과 나머지 토큰의 코사인 유사도(=중복도)를 계산하고, 목표 압축률에 맞춰 pivot과 중복이 가장 낮은 토큰만 남긴다. pivot이 2% 미만이라 계산·메모리가 가볍고 0.08초 이내 완료, FlashAttention과 호환.
- 학습 — 추가 파라미터·학습 없는 training-free plug-and-play. (선택적으로 학습 단계에 적용한 DART† 변형도 보고.)
적용·평가
| 항목 | 내용 |
|---|---|
| 적용 모델 | LLaVA-1.5(7B) 등 MLLM |
| 데이터셋 | GQA · MMBench(en/cn) · MME · POPE · SQA · VQAv2 · VizWiz · TextVQA · OCRBench 등 |
| Task | Image Understanding (VQA · OCR · 환각 등) |
| 대표 결과 | 시각 토큰 88.9%↓ 성능 대등 · 전체 1.99×·prefill 2.99× 가속 · FlashAttention 호환(오버헤드 <0.08s) |
결과
정량
- 고압축에 강함 — 토큰을 192/128/64로 줄여도(최대 88.9%↓) ToMe·FastV·SparseVLM·PyramidDrop을 앞선다. 192유지에서 평균 98.8%, 학습 적용 DART†는 100%+.
- FLOPs ≠ 속도(Table 2). SparseVLM은 DART보다 FLOPs가 2.8% 적어도 속도는 21.6% 느리다(순차 처리). DART는 FlashAttention 통합으로 prefill 2.99×·전체 1.99× 가속.
정성
- 환각 비교(Fig 1). 같은 농구 선수 이미지에서 FastV는 “칫솔을 물었다”는 환각을 내는 반면, DART는 “코에 밴드를 붙인 선수”처럼 원본에 가까운 묘사를 유지 — 중복 기반 선택이 답에 필요한 정보를 덜 잃는다.
한 줄 정리 & 의의
- “중요한 토큰을 찾지 말고, 중복을 지워라.” pivot 토큰과의 중복이 낮은 토큰만 남기는 단순·고속·FlashAttention 호환 가지치기 — 중요도 기반이 random보다 못하다는 관찰에서 출발.
- 차별점. FastV·SparseVLM이 attention 중요도로 자른다면, DART는 중복으로 자른다 — attention 행렬이 필요 없어 FlashAttention과 호환되고 실제 속도가 빠르다. (다양성으로 중복을 피하는 DivPrune와 문제의식이 통한다.)
- 위치. LLM — LLM 얕은 층(layer 2 뒤)에서 줄인다. → Efficient VLM 개요