긴 문맥 LLM 서비스의 첫 응답 시간을 줄이는 KV 캐시 재사용 계층
긴 대화나 문서 분석을 처리할 때, 이전 요청에서 이미 계산한 데이터를 다시 써서 첫 토큰이 나오는 시간을 단축할 수 있습니다. LMCache는 이 데이터를 임시 메모리가 아닌 영구적으로 저장하고 여러 엔진 간에 공유하는 관리 계층입니다. 이를 통해 반복적인 계산 부담을 줄이고 추론 비용을 낮춥니다.
최근 변화와 생태계 확장
1월에는 다중 노드 간 CPU 메모리 공유 기능이 실험 단계에서 프로덕션 수준으로 승격되었습니다. 2025년 10월에는 PyTorch Foundation에 합류하며 생태계 내 입지를 다졌습니다.
계층형 저장과 비접두어 재사용
GPU 메모리에 있는 KV 캐시를 CPU 메모리, 로컬 저장소, 원격 백엔드로 이동시켜 재사용합니다. 이 계층형 구조 덕분에 요청 간, 세션 간, 엔진 인스턴스 간에 데이터를 공유할 수 있습니다. 특히 RAG나 다중 턴 대화처럼 긴 컨텍스트를 다루는 워크로드에서 반복적인 프리필 계산이 줄어들어 첫 토큰 응답 시간(TTFT)이 개선됩니다. 또한 프롬프트의 어떤 위치에서든 캐시된 KV 블록을 재사용할 수 있는 비접두어 재사용 기능도 지원합니다.
엔진 독립 배포와 관측성
LMCache는 독립적인 데몬 프로세스로 실행되어 추론 엔진과 분리됩니다. 이로 인해 추론 엔진이 충돌해도 KV 캐시 데이터가 손실되지 않습니다. Kubernetes 환경에 적합한 헬스 모니터링과 성능 진단 메트릭을 제공하며, 요청 및 토큰 수준의 캐시 히트율과 라이프사이클을 추적할 수 있습니다. 이러한 관측성 기능은 프로덕션 환경에서 시스템 상태를 파악하고 문제를 진단하는 데 도움을 줍니다.
플러그인 저장소 및 전송 백엔드
통합 인터페이스를 통해 다양한 저장소와 전송 백엔드를 쉽게 통합할 수 있습니다. CPU RAM, 로컬 SSD, Redis/Valkey, Mooncake, InfiniStore, S3 호환 객체 저장소, NIXL, GDS 등을 지원합니다. 또한 NVLink, RDMA, TCP를 통해 프리필 워커에서 디코드 워커로 KV 캐시를 전송하는 PD 분리와 전송 기능을 제공합니다. 연구자들은 SERDE 인터페이스를 통해 압축, 토큰 드롭, 커스텀 직렬화 등 KV 변환 로직을 직접 작성할 수도 있습니다.
적용 전 확인 사항
LMCache는 Apache License 2.0으로 배포되며, vLLM 등 주요 오픈소스 서빙 엔진과 호환됩니다. 설치 시 pip install lmcache 명령으로 간단히 시작할 수 있습니다. 하드웨어 벤더에 중립적이므로 AMD, NVIDIA, Arm, Ascend 등 다양한 환경에서 사용할 수 있습니다. 다만 특정 하드웨어나 저장소 백엔드와의 구체적인 성능 차이는 실제 워크로드에 맞춰 벤치마크를 수행해 확인하는 것이 좋습니다. 프로덕션 배포 전에는 관측성 메트릭을 통해 캐시 히트율과 시스템 부하를 모니터링해야 합니다.