KV 캐시 — 긴 문맥이 메모리를 소모하는 방식 (2026)
AI 서비스에서 메모리 수요가 커지는 핵심 이유 중 하나가 KV 캐시다. 모델이 긴 문맥을 다루려면 앞서 처리한 내용을 계속 들고 있어야 하는데, 그 저장 공간이 KV 캐시다. 이 글은 KV 캐시가 무엇이고 왜 메모리를 많이 쓰는지, 그리고 이를 줄이려는 기술 방향을 정리한다.
반도체 업종의 흐름은 Passive의 섹터 화면에서 비교해 볼 수 있다.
KV 캐시가 하는 일
언어 모델은 답을 한 토큰씩 만들어낸다. 각 토큰을 만들 때 앞에 나온 모든 내용을 참조한다.
이때 매번 처음부터 다시 계산하면 비효율적이다. 그래서 앞서 계산한 중간 결과를 저장해 두고 재사용하는데, 이 저장분이 KV 캐시다. 어텐션 연산에 쓰이는 키(Key)와 값(Value)을 담고 있어 그런 이름이 붙었다.
효과는 분명하다. 계산량이 크게 줄어든다. 대신 저장 공간이 필요하다.
용량은 어떻게 늘어나나
KV 캐시 크기는 대략 다음에 비례한다.
KV 캐시 크기 ≈ 문맥 길이 × 층 수 × 헤드 수 × 차원 × 정밀도 × 동시 처리 사용자 수
여기서 실무적으로 중요한 것은 두 가지다.
- 문맥 길이에 비례한다: 문맥이 두 배로 길어지면 캐시도 두 배가 된다.
- 동시 사용자 수에 비례한다: 여러 요청을 함께 처리하면 각각의 캐시가 따로 필요하다.
그래서 긴 문서를 다루는 서비스나 에이전트처럼 대화가 길게 이어지는 방식에서 메모리 사용이 급격히 늘어난다. 모델 가중치는 고정돼 있지만 KV 캐시는 사용 패턴에 따라 계속 커진다.
| 요인 | 캐시 증가 |
|---|---|
| 문맥 길이 증가 | 비례 증가 |
| 동시 요청 증가 | 비례 증가 |
| 모델 크기 증가 | 층·차원에 따라 증가 |
왜 대역폭까지 문제가 되나
용량만 문제가 아니다. 토큰을 하나 만들 때마다 캐시 전체를 읽어야 한다.
그래서 문맥이 길어지면 읽어야 할 데이터양이 매 단계 늘어난다. 연산량 자체는 크지 않은데 메모리에서 데이터를 가져오는 시간이 전체 속도를 정한다. 생성 단계가 메모리 대역폭에 좌우된다고 말하는 이유다.
이 구조 때문에 같은 가속기라도 문맥이 길어지면 처리 속도가 떨어진다. 서비스 입장에서는 응답 지연과 비용이 함께 올라간다.
관련 기업의 분기 실적은 Passive의 기업 실적 화면에서 확인할 수 있다.
줄이려는 방향
업계가 쓰는 방법은 몇 갈래다.
- 어텐션 구조 변경: 키·값을 여러 헤드가 공유해 캐시 크기를 줄인다.
- 정밀도 축소: 캐시를 낮은 비트로 저장해 용량을 줄인다.
- 캐시 재사용: 같은 시스템 지침이나 문서를 여러 요청이 공유한다.
- 오프로딩: 자주 쓰지 않는 부분을 느린 메모리나 저장장치로 옮긴다.
- 메모리 계층 확대: HBM 용량을 늘리거나 별도 메모리 계층을 붙인다.
프롬프트 캐싱 서비스가 저렴한 이유도 세 번째와 관련이 있다. 반복되는 앞부분을 다시 계산하지 않고 저장된 상태를 불러오기 때문이다.
정리
KV 캐시는 이미 처리한 내용을 다시 계산하지 않기 위한 저장 공간이다. 연산은 줄지만 메모리를 쓴다.
크기는 문맥 길이와 동시 사용자 수에 비례해 늘어난다. 긴 문맥과 에이전트 작업이 늘면서 메모리 수요가 커지는 직접적인 이유다.
용량뿐 아니라 대역폭도 문제가 된다. 토큰마다 캐시를 읽어야 해서 생성 속도가 메모리에 좌우된다. 최근 메모리와 패키징 기술 논의가 이 지점에 몰리는 배경이다.
반도체 종목의 실적과 지표를 한 화면에서 보려면 Passive를 참고할 수 있다.
이 글은 기술 구조를 정리한 것이며, 특정 종목의 매매를 권유하지 않는다.