KV Cache가 추론을 빠르게 하는 원리
자기회귀 디코딩은 토큰을 하나 만들 때마다 전체 시퀀스를 다시 보는 것처럼 보이지만:
- 이전 토큰들의 K·V는 한 번 계산하면 변하지 않는다 → 캐시에 쌓아두고 재사용.
- 새 토큰은 자신의 Q로 캐시 전체와 attention만 하면 된다.
- 계산은 시퀀스당 O(n²) → 토큰당 O(n)으로.
대가는 메모리 — 캐시 크기는 레이어 × 헤드 × 길이 × 차원. 그래서 GQA/MQA(헤드 공유), 캐시 양자화, PagedAttention 같은 기법이 전부 “KV 캐시 다이어트”다.