← AI 용어집

AI 용어집 · 심화 · 효율·인프라

KV 캐시 KV cache

KV 캐시는 LLM이 글을 한 토큰씩 만들어 갈 때, 앞에서 이미 계산해 둔 중간 결과(Key와 Value)를 메모리에 저장해 두고 다시 쓰는 장치다.

쉽게 말하면 긴 책을 요약하면서 한 문장 쓸 때마다 책을 처음부터 다시 읽는 대신, 읽으면서 적어 둔 메모를 보고 다음 문장을 쓰는 것과 같다. 다만 책이 길어질수록 메모 노트도 계속 두꺼워진다.

어떻게 작동하나

트랜스포머 모델은 어텐션이라는 계산으로 새 토큰을 만들 때 앞의 모든 토큰을 참고하는데, 이때 각 토큰마다 Key와 Value라는 값을 계산한다. 먼저 프롬프트 전체를 한 번에 읽어 이 값들을 만들고 KV 캐시에 저장한다. 그다음 토큰을 하나씩 생성할 때는 캐시에 있는 값을 꺼내 쓰고, 새로 만든 토큰의 Key·Value만 계산해 캐시에 덧붙인다. 그래서 앞부분을 매번 다시 계산하지 않아도 된다.

KV 캐시가 쓰이는 흐름프롬프트 → 한 번에 읽기; 한 번에 읽기 → KV 캐시(저장); KV 캐시 → 다음 토큰 생성(꺼내 쓰기); 다음 토큰 생성 → KV 캐시(K·V 추가); 다음 토큰 생성 → 생성된 답프롬프트한 번에 읽기모든 토큰의 K·V 계산KV 캐시GPU 메모리에 저장다음 토큰 생성캐시를 참고생성된 답저장꺼내 쓰기K·V 추가
KV 캐시가 쓰이는 흐름 프롬프트를 한 번 읽어 캐시를 채운 뒤, 토큰을 하나 만들 때마다 캐시를 꺼내 쓰고 새 토큰의 Key·Value를 덧붙이는 반복 구조다.

왜 중요한가

KV 캐시가 없으면 답이 길어질수록 같은 계산을 반복하느라 속도가 크게 느려진다. 캐시 덕분에 챗봇이 긴 답을 빠르게 이어 쓸 수 있다. 반대로 캐시는 GPU 메모리를 많이 차지해서, 컨텍스트 윈도가 길거나 동시에 받는 사용자가 많을수록 메모리가 병목이 된다. 그래서 추론(인퍼런스) 비용과 속도를 줄이려는 기술 상당수가 KV 캐시를 어떻게 아껴 쓰느냐에 집중한다.

알아 둘 점

KV 캐시는 모델이 새로 배우는 것이 아니라, 한 번의 대화나 요청 안에서 계산을 재사용하는 일시적인 저장소다. 캐시를 작은 숫자 형식으로 줄이는 양자화, 메모리를 조각 단위로 나눠 관리하는 방식, 오래된 부분을 덜어 내는 방식 등 다양한 절약 기법이 있다. 여러 요청이 같은 앞부분을 공유하면 그 캐시를 재활용하는데, 이것이 프롬프트 캐싱의 바탕이 된다. 캐시를 너무 줄이면 답의 품질이 떨어질 수 있어 균형이 필요하다.

예시

LLM을 서비스하는 추론 엔진은 KV 캐시를 얼마나 효율적으로 관리하느냐로 처리량이 크게 달라진다. 이 사이트에서 다룬 'vLLM v0.31.0 출시…DeepSeek-V4.1-Flash 추론 성능 최적화 집중' 소식처럼, 오픈소스 추론 엔진의 업데이트는 새 모델을 더 빠르고 싸게 돌리는 데 초점을 두는 경우가 많고, KV 캐시 관리는 그 핵심 요소 중 하나다. 영상 생성 연구에서도 긴 영상을 만들 때 KV 캐시를 어떻게 운용할지가 주제가 된다.

이 사이트에서 나온 사례

함께 보면 좋은 용어