kvcache-ai/Mooncake
Mooncake is the serving platform for Kimi, a leading LLM service provided by Moonshot AI.
해결하는 문제
Mooncake은 KV (Key-Value) 캐시와 모델 데이터가 클러스터 전반에서 관리되고 이동되는 방식을 최적화하여 대규모 LLM 추론 및 학습의 성능 병목 현상을 해결합니다. 이는 계산 집약적인 작업(prefill 및 decoding 등)을 독립적으로 분리하고 확장할 수 있는 "분리형(disaggregated)" 아키텍처를 가능하게 하며, 동시에 고성능 분산 캐시 풀을 공유하여 중복 계산을 방지합니다.
작동 원리
Mooncake은 vLLM이나 SGLang과 같은 추론 엔진 아래에 위치하는 인프라 계층으로 작동합니다. 두 가지 주요 구성 요소로 이루어져 있습니다. 이기종 네트워크(RDMA, TCP 등) 및 하드웨어 가속기 전반에서 저지연, 고대역폭 데이터 이동을 처리하는 Transfer Engine (TE), 그리고 DRAM과 SSD 전반에서 캐시된 KV 상태를 관리하는 분산 스토리지 엔진인 Mooncake Store입니다. 콘텐츠 주소 지정 스토리지와 토폴로지 인식 라우팅을 사용하여 서로 다른 추론 인스턴스가 캐시 데이터를 효율적으로 공유하고 재사용할 수 있도록 합니다.
대상 사용자
이 프로젝트는 대규모 LLM 서빙 시스템을 구축하는 ML 엔지니어 및 인프라 팀을 위해 설계되었으며, 특히 높은 처리량, 긴 컨텍스트 지원 또는 분리된 추론 파이프라인(예: prefill 노드와 decode 노드 분리)이 필요한 모델을 배포하는 팀에 적합합니다.
주요 특징
- 고성능 데이터 전송: 여러 RDMA NIC를 활용하여 대규모 대역폭(8x400 Gbps 네트워크에서 최대 190 GB/s)을 달성합니다.
- 생태계 통합: vLLM, SGLang, TensorRT-LLM, LMDeploy를 포함한 주요 서빙 프레임워크와 깊게 통합되어 있습니다.
- 하드웨어 독립성: CUDA, ROCm, NPU, MUSA, EFA를 포함한 광범위한 가속기 및 인터커넥트를 지원합니다.
- 다중 계층 캐싱: DRAM과 NVMe/SSD 전반에 걸쳐 계층적 캐시 전략을 구현하여 용량과 재사용성을 극대화합니다.
- 프로덕션 검증: Kimi LLM 서비스를 구동하며, 기존 서비스 수준 목표(SLO) 내에서 요청 처리 용량을 크게 향상시킵니다.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트