개요
KV 캐시 최적화는 해당 메모리를 축소하고 관리하므로 모델은 한 번에 더 많은 사용자에게 더 긴 컨텍스트를 제공합니다.
심층 분석
In a transformer, each new token attends to all previous tokens via attention's keys (K) and values (V). Recomputing K and V for the whole sequence at every step would be quadratic and wasteful, so models cache them: the KV cache. The downside is size. The cache grows linearly with sequence length, batch size, layers, and heads, so a long-context request can consume more GPU memory than the model weights themselves. Optimization tackles this from several angles: paged memory (vLLM's PagedAttention) stores the cache in non-contiguous blocks to reduce fragmentation and enable sharing; quantization stores K and V in 8-bit or 4-bit; and architectural changes like Grouped-Query Attention (GQA) and Multi-Query Attention (MQA) let many query heads share fewer key/value heads, slashing cache size at the source.
실제 구현
vLLM's PagedAttention serving many concurrent chat sessions by packing KV blocks while reducing memory fragmentation
Llama 모델의 Grouped-Query Attention은 KV 캐시 크기를 줄여 더 긴 컨텍스트가 GPU 메모리에 적합하도록 합니다.
긴 문서를 요약하는 동안 캐시 메모리를 대략 절반으로 줄이기 위해 KV 캐시를 8비트(KV8)로 양자화
수천 개의 API 요청에서 공유 시스템 프롬프트의 KV 블록을 재사용하는 접두사 캐싱
KV 캐시 최적화의 미래
컨텍스트 창이 수십만 또는 수백만 개의 토큰으로 확장됨에 따라 KV 캐시가 지배적인 서비스 비용이 됩니다. 공격적인 캐시 압축 및 제거(낮은 주의 토큰 삭제), 기본적으로 교차 요청 접두사 공유, 콜드 캐시를 CPU 또는 NVMe로 오프로드, MLA 및 GQA와 같은 아키텍처가 표준이 될 것으로 예상됩니다. 캐시 관리는 계층 및 스마트 프리페칭을 갖춘 전체 메모리 계층 구조와 점점 더 유사해질 것입니다.
실천에 옮기기
왜 중요한가요?
- 비용 및 예산. 아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.
- 더 명확한 결정들. 기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.
- 품질 관리. 더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.
조심하세요
- 하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.
- 인프라 및 유지 관리 비용은 종종 과소평가됩니다.
- 시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.
다음 단계
- 구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.
- 현실적인 로드 및 데이터 조건에서 벤치마킹합니다.
- 오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.
- 확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.
계속 탐색하세요
무료 뉴스레터
일일 AI 브리핑 받기
매주 평일 아침마다 3개의 검증된 AI 스토리를 일반 영어로 작성합니다. 무료이며, 광고 없음.
매주 평일마다 한 번 이메일을 받습니다. 한 번 클릭으로 구독 해지. 주소를 판매하거나 공유하지 않습니다.
자신을 테스트해 보세요
Take the KV Cache Optimization quiz
모든 답변에 즉각적인 피드백과, 과정을 통과하면 검증 가능한 ID가 있는 공유 가능한 인증서를 제공합니다.
무료 AI 교육을 지원합니다. AI Understanding는 501(c)(3) 비영리 단체입니다 — 광고 없음, 유료 장벽 없음, 영원히. 기부하기
자주 묻는 질문
KV 캐시 최적화란 무엇입니까?
KV 캐시는 변환기가 이미 계산한 키와 값을 저장하므로 모든 새 토큰에 대해 작업을 다시 실행하지는 않지만 기가바이트까지 늘어날 수 있습니다. KV 캐시 최적화는 해당 메모리를 축소하고 관리하므로 모델은 한 번에 더 많은 사용자에게 더 긴 컨텍스트를 제공합니다.
KV 캐시는 무엇을 저장하며 그 이유는 무엇입니까?
이전 토큰의 키와 값을 캐싱하면 모든 새 토큰에 대한 주의 계산을 다시 수행하지 않아 시간이 절약됩니다.
KV 캐시가 메모리 문제가 될 수 있는 이유는 무엇입니까?
캐시 크기는 컨텍스트 길이와 동시성에 따라 확장되므로 긴 요청은 엄청난 양의 GPU 메모리를 사용할 수 있습니다.
PagedAttention은 어떤 운영 체제 개념을 차용합니까?
PagedAttention은 OS 페이징과 마찬가지로 테이블을 통해 매핑된 연속되지 않은 고정 크기 블록에 캐시를 저장합니다.
Grouped-Query 및 Multi-Query Attention은 KV 캐시 크기를 어떻게 줄입니까?
여러 쿼리 헤드에서 키/값 헤드를 공유한다는 것은 저장할 K 및 V 벡터 수가 훨씬 적다는 것을 의미합니다.
KV 캐시에서 접두사 공유의 이점 중 하나는 무엇입니까?
공유 시스템 프롬프트는 동일한 KV 항목을 생성하므로 여러 요청이 중복되는 대신 동일한 블록을 가리킬 수 있습니다.