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 实现了一种以 KV 缓存为中心的解耦架构,将 prefill(预填充)和 decode(解码)集群分离。它使用三个主要组件来管理数据和执行:

  • Transfer Engine (TE): 一个高性能数据传输框架,通过拓扑感知路由和带宽聚合,为在不同存储类型(DRAM、VRAM、NVMe)和网络协议(RDMA、TCP、AWS EFA 等)之间移动张量提供统一接口。
  • Mooncake Store: 一个分布式键值缓存存储引擎,利用多级分层结构(DRAM 和 SSD/NVMe)和零拷贝数据传输,在集群中管理可重用的 KV 缓存和模型权重。
  • Mooncake EP & PG: 用于容错分布式执行的工具,专门针对 Mixture-of-Experts (MoE) 模型设计,允许系统绕过失败的 rank 并进行进程恢复,而无需重启整个服务。

适用对象

专为大规模 LLM 推理和训练基础设施的开发人员和运营人员设计,特别是那些在使用 vLLM、SGLang 或 TensorRT-LLM 等框架,并需要在多节点 GPU 集群中最大化吞吐量并降低延迟的用户。

亮点

  • 高带宽传输: 在 8x400 Gbps RoCE 网络中可提供高达 190 GB/s 的传输速度,显著快于标准 TCP。
  • 解耦存储: 将 KV 缓存存储与推理引擎解耦,允许在不重启引擎的情况下对存储节点进行弹性扩展。
  • 多级缓存: 支持 DRAM 和 SSD/NVMe 的层级结构,以增加总缓存容量。
  • 容错 MoE: 实现专家并行推理,能够检测并绕过失败的 rank,以保持服务可用性。
  • 广泛的生态系统集成: 与 vLLM、SGLang 和 TensorRT-LLM 深度集成,实现高效的 KV 缓存和权重传输。