kvcache-ai/Mooncake

Mooncake is the serving platform for Kimi, a leading LLM service provided by Moonshot AI.

해결하는 문제

Mooncake는 대규모 LLM 서빙의 비효율성, 특히 KV 캐시로 인해 발생하는 병목 현상을 해결합니다. GPU 클러스터 내의 하드웨어 리소스(CPU, DRAM, SSD) 활용 저하 문제와 추론 및 학습 중에 네트워크를 통해 대량의 데이터(KV 캐시 및 모델 가중치 등)를 이동할 때 발생하는 높은 지연 시간을 해결합니다.

작동 원리

Mooncake는 prefill 및 decode 클러스터를 분리하는 KV 캐시 중심의 분리형 아키텍처를 구현합니다. 데이터 및 실행 관리를 위해 세 가지 주요 구성 요소를 사용합니다:

  • Transfer Engine (TE): 토폴로지 인식 라우팅 및 대역폭 집계를 통해 다양한 스토리지 유형(DRAM, VRAM, NVMe) 및 네트워크 프로토콜(RDMA, TCP, AWS EFA 등) 간에 텐서를 이동시키기 위한 통합 인터페이스를 제공하는 고성능 데이터 전송 프레임워크입니다.
  • Mooncake Store: 멀티 티어 계층(DRAM 및 SSD/NVMe)과 제로 카피 데이터 전송을 활용하여 클러스터 전반의 재사용 가능한 KV 캐시 및 모델 가중치를 관리하는 분산 키-값 캐시 스토리지 엔진입니다.
  • Mooncake EP & PG: 결함 허용 분산 실행을 위한 도구로, 특히 Mixture-of-Experts (MoE) 모델을 위해 설계되어 시스템이 실패한 랭크를 우회하고 전체 서비스를 재시작하지 않고도 프로세스를 복구할 수 있도록 합니다.

대상 사용자

대규모 LLM 추론 및 학습 인프라의 개발자 및 운영자, 특히 멀티 노드 GPU 클러스터에서 처리량을 극대화하고 지연 시간을 줄여야 하는 vLLM, SGLang 또는 TensorRT-LLM과 같은 프레임워크 사용자에게 적합합니다.

주요 특징

  • 고대역폭 전송: 8x400 Gbps RoCE 네트워크에서 최대 190 GB/s를 제공하여 표준 TCP보다 훨씬 빠릅니다.
  • 분리형 스토리지: KV 캐시 스토리지를 추론 엔진에서 분리하여 엔진 재시작 없이 스토리지 노드의 탄력적 확장을 가능하게 합니다.
  • 멀티 티어 캐싱: DRAM 및 SSD/NVMe 계층을 지원하여 총 캐시 용량을 늘립니다.
  • 결함 허용 MoE: 실패한 랭크를 감지하고 우회하여 서비스 가용성을 유지할 수 있는 전문가 병렬(expert-parallel) 추론을 가능하게 합니다.
  • 광범위한 생태계 통합: vLLM, SGLang 및 TensorRT-LLM과 깊이 통합되어 효율적인 KV 캐시 및 가중치 전송을 지원합니다.