CacheConfig — KV 캐시 메모리 설정
CacheConfig
vLLM의 CacheConfig는 KV 캐시의 크기와 동작을 제어하는 설정 클래스예요. 성능과 메모리 예산을 조율하는 핵심 노브들이 여기 있어요.
주요 파라미터
- gpu_memory_utilization: 모델 실행기가 쓸 GPU 메모리 비율. 나머지를 KV 캐시 등에 쓸 수 있어요.
- block_size: 연속 캐시 블록의 토큰 수(CUDA에선 최대 32).
- cache_dtype: KV 캐시 저장 데이터 타입. "auto"면 모델 타입을 따르고, CUDA 11.8+ 에선 fp8 지원.
- enable_prefix_caching: 프리픽스 캐싱 사용 여부(기본 True).
- num_gpu_blocks / num_cpu_blocks: GPU·CPU에 할당할 블록 수.
- kv_cache_memory_bytes: GPU당 KV 캐시 크기(바이트). 안 정하면 gpu_memory_utilization으로 자동 추론.
설정 예 — 메모리 절약
from vllm import LLM, EngineArgs
llm = LLM(
model="meta-llama/Llama-3.1-8B",
gpu_memory_utilization=0.8,
enable_prefix_caching=True,
)
주의점
- KV 캐시를 과하게 키우면 GPU 메모리가 부족해져요.
- fp8 캐시(
cache_dtype)는 더 적은 메모리로 더 긴 컨텍스트를 지원하지만 하드웨어 지원이 필요해요. - 캐시 크기·블록 수를 튜닝하면 동시 처리 시퀀스 수가 결정돼요.