핵심 요약
LLM 추론 시 발생하는 KV 데이터는 계산 비용이 높으며, GPU 메모리 부족 시 이를 재계산해야 하는 비효율이 발생한다. vLLM은 이를 해결하기 위해 KV 캐시를 CPU DRAM으로 비동기 전송하는 '오프로딩 커넥터(Offloading Connector)' 기능을 도입했다. 특히 0.12.0 버전에서는 파편화된 KV 데이터를 하나의 연속된 물리적 블록으로 통합하는 메모리 레이아웃 최적화를 통해 DMA 전송 효율을 극대화했다. 이러한 기술적 개선을 통해 단일 요청의 TTFT를 최대 22배 단축하고 다중 요청 처리량을 획기적으로 개선했다.
배경
LLM 추론 프로세스(Prefill/Decode) 이해, KV Caching 개념, CUDA 및 GPU 아키텍처 기초 지식
대상 독자
LLM 추론 인프라 엔지니어 및 MLOps 개발자
의미 / 영향
GPU 메모리 한계로 인해 긴 컨텍스트나 많은 동시 요청 처리에 어려움을 겪던 환경에 비용 효율적인 대안을 제시한다. CPU DRAM을 계층적 캐시로 활용함으로써 고가의 GPU 자원을 더 효율적으로 운용하고 서비스 운영 비용을 절감할 수 있다.
섹션별 상세
이미지 분석

GPU 연산과 CPU 로드 간의 TTFT 차이를 보여준다. 프롬프트 길이가 길어질수록 CPU에서 로드하는 방식이 GPU 연산보다 훨씬 빠른 응답 속도를 제공함을 입증한다.
Llama-3.1-8B 모델의 프롬프트 길이에 따른 단일 요청 TTFT 비교 차트

CPU 오프로딩 사용 여부에 따른 처리량 차이를 보여준다. 히트율이 100%에 가까워질수록 처리량이 최대 9배까지 선형적으로 증가하는 경향을 확인할 수 있다.
CPU 캐시 히트율에 따른 동시 요청 처리량 변화 차트

DMA 방식과 커스텀 커널 방식의 성능을 비교한다. 블록 크기가 커질수록 DMA 방식이 커스텀 커널에 근접하거나 능가하는 성능을 보임을 나타낸다.
블록 크기에 따른 GPU에서 CPU로의 데이터 전송 처리량 비교
실무 Takeaway
- vLLM 사용 시 --kv_offloading_backend native 플래그를 통해 CPU 오프로딩을 활성화하여 GPU 메모리 부족 문제를 완화할 수 있다.
- 최신 vLLM(0.12.0 이상)은 메모리 레이아웃 최적화가 적용되어 이전 버전보다 훨씬 높은 오프로딩 효율을 제공하므로 업데이트가 권장된다.
- 대규모 동시 요청이 발생하는 환경에서 CPU 오프로딩은 재계산 비용을 줄여 전체 처리량을 획기적으로 개선하는 핵심 도구로 작용한다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료