CacheConfig — KV 캐시 메모리 설정

CacheConfig

vLLM의 CacheConfigKV 캐시의 크기와 동작을 제어하는 설정 클래스예요. 성능과 메모리 예산을 조율하는 핵심 노브들이 여기 있어요.

주요 파라미터

  • 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)는 더 적은 메모리로 더 긴 컨텍스트를 지원하지만 하드웨어 지원이 필요해요.
  • 캐시 크기·블록 수를 튜닝하면 동시 처리 시퀀스 수가 결정돼요.

더 알아보기