Mooncake
月之暗面开源的 LLM 推理加速基础设施,通过 KVCache 优先的分离式架构将推理吞吐量提升数倍
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
月之暗面开源的 LLM 推理加速基础设施,通过 KVCache 优先的分离式架构将推理吞吐量提升数倍
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:每天有数百万人在和 Kimi 对话——上传论文、生成报告、翻译文档。每一个请求,AI 都需要重新"阅读"对话历史中的每一个 token。如果把这些重复计算的结果缓存起来,就像浏览器缓存网页一样,让 AI 直接复用已计算的内容,推理速度能提升数倍。这正是 Mooncake 做的事情。
Mooncake 是**月之暗面(Moonshot AI)**为 Kimi 大模型开源的推理服务平台,也是该公司生产环境的核心基础设施。它在 2025 年 2 月斩获计算机存储领域顶级会议 FAST 2025 最佳论文奖,论文被 USENIX FAST'25 正式收录,并已与 vLLM、SGLang、LMDeploy、TensorRT-LLM 等主流推理框架深度集成,成为 LLM 推理领域的重要基础设施项目。
![]()
图1:Mooncake 项目 logo
2024 年,随着 Kimi 长上下文窗口(200K token)的广泛应用,月之暗面团队遇到了一个难题:长上下文意味着每次推理都要处理海量历史 token,Prefill 阶段(理解用户输入)耗时极长,而 Decode 阶段(生成回答)又被 Prefill 拖累。传统架构中 Prefill 和 Decode 共用同一批 GPU 资源,在高并发场景下极易产生"头部阻塞"——一个长请求会让所有用户等待。
团队发现,Kimi 真实生产环境中的 75% 请求是重复或相似的,大量 KVCache(Key-Value Cache,Transformer 注意力机制的中间计算结果)可以被跨请求复用。于是他们设计了一套KVCache 优先的分离式架构,将 Prefill 和 Decode 解耦到不同集群,中间通过高速网络传递 KVCache,将系统吞吐量提升了 525%,Kimi 整体承载能力提升 75%。

图2:Mooncake KVCache 优先的分离式架构
Mooncake 的架构分为三个层次,层层递进,共同支撑起生产级 LLM 推理服务。
这是 Mooncake 的核心心脏,一个统一的高性能数据传输框架。它屏蔽了底层硬件细节(RDMA、TCP、CXL、NVMe-oF 等),为 AI 推理提供批量数据传输能力。
Transfer Engine 支持多种网络协议:
实测性能:传输 40GB KVCache 数据(相当于 LLaMA3-70B 模型 128K token 的缓存大小),在 4×200Gbps RoCE 网络下达 87 GB/s,在 8×400Gbps RoCE 网络下达 190 GB/s,分别是 TCP 协议的 2.4 倍和 4.6 倍。

图3:Transfer Engine 支持的多种传输协议
P2P Store 面向训练场景,解决大规模模型 checkpoint 分发问题。采用纯客户端架构,去中心化设计,通过 etcd 管理元数据,让 GPU 集群内各节点可以直接互相传输文件,避免单点带宽瓶颈。已在月之暗面生产环境用于 Kimi 系列模型的 checkpoint 同步。
Mooncake Store 则面向推理场景,是专为 LLM 推理设计的分布式 KVCache 存储引擎。它支持多副本存储(消除热点)、条带化并行 I/O(充分利用多网卡聚合带宽)、全局 KVCache 共享(跨请求复用注意力计算结果)。目前已集成进 SGLang 的 HiCache 系统、vLLM 的 Prefill 服务以及 LMCache。

图4:Mooncake Store 分布式 KVCache 存储架构
Mooncake 的最终价值体现在与主流推理框架的深度集成:
| 框架 | 集成方式 | 效果 |
|---|---|---|
| vLLM | PD 分离后端 + KV Connector | 2024年12月官方支持 |
| SGLang | HiCache 存储后端 + EPD Disaggregation | 2025年9月官方支持 |
| LMDeploy | PD Disaggregation 后端 | 2025年6月支持 |
| TensorRT-LLM | KVCache Transfer 插件 | 2024年12月集成 |
| LMCache | 远程 KVCache 连接器 | 2025年4月支持 |
2025年7月,这套架构成功支撑了 Kimi K2(1T 参数 MoE 模型)在 128 张 H200 GPU 上的部署,实现 Prefill 吞吐量 224K tokens/sec、Decode 吞吐量 288K tokens/sec。
Mooncake 的代码库采用 C++ 核心 + Python 胶水层 的混合架构。
核心技术栈:
-DUSE_CUDA=ON -DUSE_RDMA=ON 等)代码质量特征:
.clang-format、.typos.toml 拼写检查)benchmarks/)和文档网站(docs/)多厂商硬件支持: Mooncake 是目前支持 GPU/AI 加速器种类最多的开源项目之一,官方支持 NVIDIA(CUDA/GPUDirect RDMA)、AMD(ROCm/HIP)、华为 Ascend、海光 DCU、摩尔线程 MUSA、寒武纪 MLU、沐曦 MACA 等,覆盖了国内外主流 AI 芯片,为国产化部署提供了重要选项。
Mooncake 是一个基础设施级项目,直接部署需要一定的技术门槛,但与主流框架的集成已相当平滑。
适合人群:
快速上手路径(推荐):
dependencies.sh 安装依赖,cmake 编译,生成 Python wheel 后安装硬件需求:
注意: Mooncake 没有 Web UI,是纯后端基础设施。日常用户接触到的仍是 vLLM/SGLang 的 Web 接口,Mooncake 在背后默默加速。
尽管 Mooncake 技术先进,但在实际部署中仍有需要注意的局限:
1. 硬件依赖强:RDMA 网络(RoCE/IB)是发挥最佳性能的必要条件,TCP 模式下性能差距显著。对于没有高速网络的中小企业,部署收益可能不明显。
2. 配置复杂度高:PD 分离需要两个独立 GPU 集群(Prefill 集群 + Decode 集群),增加运维复杂度。调度器需要正确分配请求并处理 KVCache 的跨集群传输。
3. 缓存命中率挑战:KVCache 的价值高度依赖请求的相似度和重复率。对于对话场景多样的 C 端产品,缓存收益可能低于预期。月之暗面提到的"75% 相似请求"是其特定业务场景下的数据。
4. 生态锁定风险:与 vLLM/SGLang 深度绑定,一旦这些框架架构变更,Mooncake 可能需要同步适配。
Mooncake 的意义远不止"让 Kimi 跑得更快"。它代表了一种LLM 推理基础设施的新范式:
推动 PD 分离成为行业标准:Mooncake 证明了 Prefill-Decode 分离架构的生产可行性,让 vLLM、SGLang 等主流框架跟进支持,改变了整个推理系统的设计思路
加速国产 AI 芯片生态:Mooncake 对华为 Ascend、海光 DCU、摩尔线程等国产芯片的原生支持,为国产 LLM 在自有硬件上的高效推理提供了软件基础设施
Benchmark 公开促进研究:团队开源了 Kimi 生产环境的真实 trace 数据(FAST25-release/traces/),研究者可以用这些数据复现和对比自己的调度算法
跨框架互操作:Mooncake 同时支持 vLLM、SGLang、LMDeploy 等多个框架,避免了厂商锁定,成为推理层的"中间件标准"
截至 2026 年,Mooncake 已获得 5400+ GitHub Stars,被 PyTorch 官方纳入生态,NVIDIA TensorRT-LLM 官方集成其传输插件,FastAPI 创始人称赞其"是生产级 LLM 服务最有参考价值的开源项目之一"。
一句话总结:Mooncake 是大模型推理的"高速公路收费系统"——它不生产流量,但让所有经过的流量跑得更快、更省力。