트랜스포머가 토큰을 생성할 때마다 이전 계산 결과를 재사용할 수 있도록 저장해두는 캐시. 반복 계산을 줄여 추론 속도를 크게 높인다.
LLM이 텍스트를 생성할 때 새 토큰을 하나 추가할 때마다 이전 모든 토큰에 대한 어텐션을 다시 계산하면 엄청난 낭비다. KV Cache는 어텐션 연산의 Key와 Value 행렬을 저장해두고, 새 토큰이 올 때 기존 캐시를 그대로 재사용한다. 첫 번째 토큰은 느리지만 이후 토큰은 훨씬 빠르게 생성되는 이유가 여기 있다.
긴 시스템 프롬프트를 매번 재계산하는 대신 Anthropic의 프롬프트 캐싱 API로 KV Cache를 서버에 고정해두면 비용과 지연을 동시에 줄일 수 있다. vLLM 같은 추론 서버에서 PagedAttention은 KV Cache를 메모리 페이지처럼 관리해 여러 요청을 효율적으로 처리한다.