kvcache-ai/Mooncake
Mooncake is the serving platform for Kimi, a leading LLM service provided by Moonshot AI.
해결하는 문제
Mooncake은 대규모 LLM 서빙에서 발생하는 효율성 저하 문제, 특히 KVCache 관리의 높은 비용과 이질적 하드웨어 간 데이터 이동의 성능 격차를 해결합니다. GPU 클러스터 내에서 CPU, DRAM, SSD 자원이 미사용되는 문제를 해결하기 위해 비통합형 KV 캐시 풀을 구축하여 프리필 및 디코딩 클러스터를 분리함으로써 처리량을 향상시키고 지연을 감소시킵니다.
작동 방식
Mooncake은 KVCache 중심의 비통합 아키텍처를 채택합니다. 주요 구성 요소는 다음과 같습니다:
- Transfer Engine (TE): TCP, RDMA, AWS EFA 등 다양한 네트워크와 가속기(CUDA, ROCm, Ascend 등)를 통합하여 배치 데이터 이동을 제공하는 고성능 프레임워크로, 토폴로지 인식 라우팅과 다중 NIC 대역폭 집약을 활용합니다.
- Mooncake Store: 클러스터 간 재사용 가능한 KV 캐시와 모델 가중치를 관리하는 분산형 키-값 저장 엔진입니다. DRAM과 SSD/NVMe를 활용한 다층 캐시 계층을 사용하며, 제로코피 데이터 전송을 지원하여 대역폭을 극대화합니다.
- Mooncake EP & PG: MoE(Mixture-of-Experts) 추론을 위한 장애 내성 분산 실행 계층으로, 전문가 병렬 디스패치와 PyTorch 호환 프로세스 그룹 백엔드를 제공하여 실패한 랭크를 재시작하지 않고도 프로세스를 유연하게 복구할 수 있습니다.
대상 사용자
대규모 LLM 추론 및 학습 인프라를 개발하거나 운영하는 개발자 및 운영자에게 적합합니다. 특히 다중 노드 GPU 클러스터에서 거대 모델(예: MoE 모델)을 배포하고 하드웨어 활용도를 극대화하며 엄격한 서비스 수준 목표(SLO)를 유지해야 하는 사용자에게 최적입니다.
주요 특징
- 고대역폭 데이터 전송: 8x400 Gbps RoCE 네트워크에서 최대 190 GB/s를 제공하며, 표준 TCP보다 훨씬 빠릅니다.
- 비통합 스토리지: KVCache 스토리지를 추론 엔진에서 분리하여 스토리지 노드를 엔진 재시작이나 업그레이드와 독립적으로 확장할 수 있습니다.
- 장애 내성 MoE 서빙: 실패한 랭크를 우회하고 프로세스를 유연하게 복구할 수 있는 MoE 추론을 가능하게 합니다.
- 광범위한 생태계 통합: vLLM, SGLang, TensorRT-LLM, PyTorch 생태계와 깊이 통합되어 있습니다.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트