피드로 돌아가기
Dev.toAI/ML
원문 읽기
KV Cache 도입을 통한 LLM 추론 복잡도 O(n³)에서 O(n²)로 최적화
KV Cache in LLMs: The Optimization That Makes Modern AI Models Feel Fast
AI 요약
Context
Autoregressive Generation 특성상 다음 토큰 예측 시 이전 모든 토큰의 표현을 반복 계산하는 비효율 발생. 시퀀스 길이가 증가함에 따라 연산량과 추론 비용이 기하급수적으로 상승하는 병목 지점 존재.
Technical Solution
- Attention 메커니즘의 Key(K) 및 Value(V) 텐서를 메모리에 저장하여 재사용하는 KV Cache 구조 설계
- 신규 토큰 생성 시 해당 토큰의 K, V만 계산 후 기존 캐시에 Append 하는 증분 처리 방식 채택
- 모든 Attention Layer 및 Head별로 독립적인 KV Cache를 유지하여 계층적 정보 보존
- Query(Q) 벡터는 최신 토큰에 대해서만 계산하여 이전 토큰들과의 Attention Score를 산출하는 연산 최적화
- 중복 계산 제거를 통해 전체 시퀀스를 매번 처리하던 Forward Pass 과정을 단일 토큰 처리 과정으로 전환
실천 포인트
1. Long-context 추론 시 GPU Memory 사용량 급증 원인이 KV Cache 크기에 있음을 인지
2. 모델의 Layer 수, Head 수, Head Dimension에 따른 메모리 점유율 계산식 검토
3. Throughput 병목 발생 시 캐시 메모리 최적화 및 관리 전략 수립