推理、部署与运行时

Mooncake:以 KVCache 为中心的分布式 LLM 服务基础设施

kvcache-ai/mooncake

Mooncake 是一个面向大规模 LLM 推理和训练的 C++ 基础设施项目。它将预填充、解码和存储资源解耦,并提供高性能数据传输、分布式 KV 缓存存储及具备容错能力的专家并行通信。

★ 6.1K星级
⑂ 1KFork 数
462未解决的问题
C++语言
Apache-2.0许可证
Q@project.QualityScore编辑评分

概览

Mooncake 是 Kimi(Moonshot AI 的 LLM 服务)使用的服务平台。其解耦式架构利用可用的 CPU、DRAM、SSD/NVMe、网络和加速器资源构建共享 KV 缓存池。主要组件包括 Transfer Engine、Mooncake Store、Mooncake EP 和 Mooncake Process Group。仓库称其已与 SGLang、vLLM、TensorRT-LLM、LMCache、LMDeploy、NIXL 和 PyTorch 等服务及分布式计算生态系统集成。

主要功能

  • 跨异构存储、网络和加速器的统一批量数据移动
  • 拓扑感知路由、多网卡带宽聚合和自动传输故障切换
  • 通过 Mooncake Store 实现分布式 KV 缓存和模型权重管理
  • 提供对象复制、放置、固定和淘汰控制的 DRAM 与 SSD/NVMe 缓存层
  • 预填充与解码服务解耦
  • 跨实例 KV 缓存共享与复用
  • 具备容错能力的专家并行分发和聚合操作
  • 具备故障报告和 rank 恢复能力的 PyTorch ProcessGroup 集成
  • 描述了与 SGLang、vLLM、TensorRT-LLM、LMCache、LMDeploy、NIXL 及相关系统的集成
  • 描述了对 TCP、RDMA、AWS EFA、NVMe-oF、NVLink、HIP、Barex、CXL 和 Ascend 系列传输方案的支持

要求、安装和快速入门

提供的仓库摘录未说明确切安装命令。README 链接到项目文档,并指出已发布适用于 CUDA、非 CUDA、NPU、MUSA 和 AWS EFA 环境的 Transfer Engine 软件包变体。应选择与部署加速器和网络运行时匹配的软件包或源码构建路径,并遵循官方文档。不要假设默认构建会启用所有传输协议或加速器支持。

用法

简要的概念性快速开始流程为:选择受支持的服务集成,例如 SGLang 或 vLLM;准备所需的传输与加速器运行时;在生产者和消费者节点间配置 Transfer Engine;可选择部署 Mooncake Store 以共享 KV 缓存;然后为预填充和解码解耦配置服务引擎的 Mooncake 连接器或后端。提供的仓库摘录未说明确切命令、配置文件、端口和可运行示例。

模型兼容性与使用场景

Mooncake 是基础设施,而非绑定于单一模型系列的模型运行时。提供的数据提到其用于 Kimi、Kimi-K2、DeepSeek 部署、GLM 5.2 FP8、LLaMA3-70B 基准规模、大型混合专家系统和多模态流水线。这并不代表其与所有模型普遍兼容。仓库元数据未说明确切支持的模型列表和版本限制。

许可证与风险说明

仓库元数据将许可证标识为 Apache-2.0,并提供 https://api.github.com/licenses/apache-2.0。部署前,用户应审查仓库许可证文件,以及集成运行时、驱动程序、传输方案和服务框架的许可证。

发布与维护

提供的更新历史称,Transfer Engine 于 2024 年 11 月 28 日开源,Mooncake Store 于 2025 年 3 月 7 日开源。它还记录了涉及 vLLM、SGLang、TensorRT-LLM、LMCache、LMDeploy、NIXL、vLLM-Ascend、TorchSpec 及其他项目的集成或采用情况。仓库元数据显示其有 6,132 个 stars、1,047 个 forks、462 个开放 issue,创建时间为 2024-06-25T05:21:05Z,且仓库未归档。未说明正式的最新发布版本。

OpenVINO

openvinotoolkit/openvino

★ 10.6KC++

GPUStack

gpustack/gpustack

★ 5.4KPython