AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

KV 캐시 압축 – 긴 컨텍스트 LLM을 가능하게 한 메모리 최적화 흐름

KV 캐시 압축(KV cache compression)은 LLM이 긴 대화와 대형 문맥을 같은 GPU 메모리 안에서 처리하도록 만든 핵심 최적화 계열이다. MQA, GQA, MLA, KV 양자화, 선형 어텐션 하이브리드는 모두 토큰마다 저장해야 하는 key/value 상태를 줄여 긴 컨텍스트와 에이전트 워크플로를 가능하게 했다.

왜 KV 캐시가 병목인가

자동회귀 LLM은 이전 토큰의 key/value 벡터를 캐시에 저장해 다음 토큰 생성 때 재사용한다. 이 덕분에 매 스텝마다 전체 프롬프트를 다시 계산하지 않아도 되지만, 컨텍스트가 길어질수록 KV 캐시 메모리는 선형으로 증가한다.

70B급 dense 모델이 멀티헤드 어텐션(MHA)을 16비트로 그대로 쓴다고 가정하면, 긴 컨텍스트 하나가 수십~수백 GB의 GPU 메모리를 요구할 수 있다. 모델 가중치보다 KV 캐시가 서빙 병목이 되는 이유다.

발전 흐름

시기기법핵심 아이디어효과
2019MQA모든 query head가 하나의 KV head 공유큰 압축, 품질 손실 위험
2023GQAquery head 그룹별로 KV head 공유품질 손실을 줄인 표준 절충안
2023Sliding Window Attention일부 레이어가 최근 토큰만 attend캐시 증가 상한 완화
2024MLAK/V를 작은 latent vector로 압축DeepSeek 계열의 큰 캐시 절감
2024~KV 양자화K/V를 INT8·INT4 등 저정밀도로 저장2~4배 메모리 절감
2025~선형 어텐션 하이브리드일부 레이어를 고정 크기 상태로 대체1M급 컨텍스트 확장의 기반

MQA와 GQA

초기 멀티헤드 어텐션은 각 query head마다 별도 key/value head를 둔다. MQA(Multi-Query Attention)는 KV head를 하나로 공유해 캐시를 크게 줄인다. 하지만 압축이 강해 long recall과 품질이 떨어질 수 있다.

GQA(Grouped-Query Attention)는 중간 지점이다. 여러 query head가 하나의 KV head 그룹을 공유한다. Llama 2 70B, Mistral 등 많은 오픈 모델이 이 방식을 채택했고, 이후 장문 컨텍스트 모델의 기본 설계가 됐다.

MLA와 DeepSeek의 전환점

MLA(Multi-head Latent Attention)는 key/value를 직접 캐시하지 않고 더 작은 latent 표현으로 압축한다. DeepSeek V2 계열은 이 접근으로 KV 캐시 크기를 크게 줄였고, 단순한 비용 절감이 아니라 장문 컨텍스트와 고동시성 서빙의 구조적 이점을 보여줬다.

MQA가 “품질을 일부 포기하고 크게 줄인다”에 가까웠다면, MLA는 “모델 아키텍처를 바꿔 캐시 자체를 작게 만든다”에 가깝다.

선형 어텐션 하이브리드와 1M 컨텍스트

2025년 이후에는 모든 레이어가 full attention을 유지할 필요가 없다는 방향이 강해졌다. Qwen3-Next, Kimi Linear 같은 하이브리드 모델은 일부 레이어를 선형 어텐션이나 recurrent 상태로 대체해 고정 크기 상태를 유지한다.

이 흐름은 128K~200K에서 정체되던 컨텍스트 창을 1M 토큰 수준으로 밀어 올린 주요 원인 중 하나다. 에이전트가 대규모 코드베이스, 긴 로그, 여러 문서를 한 세션에서 다루려면 모델 품질뿐 아니라 이런 캐시 효율이 필요하다.

실무 관점

  • 긴 컨텍스트 가격과 속도는 모델 크기만으로 설명되지 않는다. KV 캐시 구조가 중요하다.
  • 같은 1M 컨텍스트라도 full attention, GQA, MLA, linear hybrid는 메모리 비용이 다르다.
  • 서빙 스택의 PagedAttention은 캐시를 “관리”하는 기법이고, GQA·MLA·양자화는 캐시를 “줄이는” 기법이다.
  • 에이전트 제품은 컨텍스트 길이보다 compaction 빈도, 동시 세션 수, TTFT를 함께 봐야 한다.

관련 문서

참고 자료



AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)