Mooncake:KVCache 解耦架构下的大模型推理优化生态
如果无法正常显示,请先停止浏览器的去广告插件。
1. 演讲人:马腾
2. 01
02
03
04
05
06
Mooncake项目未来规划
3.
4. 01
5. 算法 - Transformer is all we need?
数据 – Big Data is Everywhere
数字化进程的推进使得
采集和积累的数据前所
未有的增多
内部所有的算子均为
GEMM 或 BMM,最大化计
算强度和并行度
智能 – AI Become Everywhere Too
随着人工智能的发展,
越来越多的软件基于 AI
技术进行改造
硬件 – Huang’s Law Take Over
以 NVIDIA 为代表的 GPU 厂商通过提
供高并发的稠密张量计算替代传统
CPU 厂商成为算力的主要提供商,从
而进一步延续 FLOPS per Watt 的增速
6. 2024年:Llama3-405B
= Dense模型 + SFT + 8k上下文(后扩展至
128k)
2025年:Deepseek-671B = MoE模型
变化: 模型规模 模型结构
影响: 更多资源 部署方式
训练方法
+ RL + 128k上下文
上下文长
度
训推一体 kvcache
Data Source:
SimilarWeb
2024年3月Kimi凭借长文本处理能力成为最主
要的大模型服务之一
2025年1月DeepSeek凭借推理能力快速晋
升全球最知名的大模型服务之一
7. 更多数据 + 更大模型 + 更长上下文窗口 = 更高智能
全新模型结构 + 更多资源需求 + 更低使用成本 + 更高性能 + 更安全可信部署 = 更高技术挑战
Data Source:
SimilarWeb
2024年3月Kimi凭借长文本处理能力成为最主
要的大模型服务之一
2025年1月DeepSeek凭借推理能力快速晋
升全球最知名的大模型服务之一
8.
9. 阶段 核心指标 优化目标 举例
预填充阶段 TTFT 最小化首次响应延迟 P90 TTFT ≤ 0.4秒(90%请求需满足)
解码阶段 TBT/TPOT 平滑生成速度,减少波动 用户每秒可读40词(快于人类阅读速度)
整体推理框架 TPS 单位时间内处理的token数量 并发用户数、内存限制、上下文切换
线上服务质量 GoodPut 满足SLO的有效吞吐量 满足TTFT/TPOT,平衡成本与服务质量
10. 静态稀疏化
滑动窗口
例子
减少Head数
GQA/MQA
降低维度
MLA
只存部分层
YOCO/CLA
量化
FP8/Int4
高效显存管理
Page Attention
vAttention
11. ◼ 每一个 1 token 对应 2 * 层数 * 隐藏维度 = 数十乃至数百 KB 的 KVCache
◼ 不仅数据量极大,还需要尽可能地快速进行传输不然会导致 GPU 空转
应缓存的中
每天数千亿 Token
的大型推理服务
一个 Token
(数 Bytes 级别)
一个 Token 对
应的 KVCache
(数十 KB 级别)
推理可复用
单张 GPU 显存
(数十 GB 级别)
单台机器的内存
(数 TB 级别)
间结果
KVCache
(数百 TB 乃
至 PB 级别)
12. 02
13. Orca
Continus Batching
通过切分任务打满算力
vLLM
Page-Attention
Page粒度管理减少显存占用
SGLang
Prefix Attention
尽可能复用KVCache
14. 模型级别优化
KVCache压缩
通过算法优化(Head/Dimension)减少KVCache产生量
KVCache量化
使用低精度格式
KVCache消除
减少无关重要的数据
15. ◼ 在PagedAttention中,KV Cache只是在一个请求内复用,而没有做到跨请求的KV Cache复用
◼ 在多轮对话的场景下,下一轮的prompt其实刚好就是上一轮的prompt+completion
SGLang
原生支持
通过RadixAttention来实现
Prefix Caching
first-come-first-serve,无法
达到最优的缓存复用效果
cache-aware scheduling的调
度算法
vLLM
Hash RadixAttention的方
法,它使用哈希码作为物
理KV Block的唯一标识
hash(prefix tokens + block tokens)
<-->
Logical KV blocks
->
Physical KV blocks
DeepSeek
上下文硬盘缓存技术,把预计未
来会重复使用的内容,缓存在分
布式的硬盘阵列中
16. 共享和复用基本原理
以存换算基本原理 :前缀匹配的中间结果可被复用
“What day is it tomorrow”
“What day is it today”
前四个字
Prefill for Request I
What
Prefill for Request II
What
KVCache
复用
符和第一
个请求相
What What day 同,因此
day 无需重复
day day is is is is 计算可以
it
toda
y it it
tomo
rrow it 直接复用
tomorrow 中间结果
today
(5 tokens computed)
(1 token computed)
17. 共享和复用基本原理
•
大模型辅助读论文场景为例
所有查询
可复用
可
复
用
长
度
长
System Prompt: 你是一个论文阅读助手,…
热点
论文
复用
率高
User Question 1:
总结一下这篇论文
User Question 2:
这篇论文关键创新是什么
User Question 3:
有哪些相关研究?
User Question 4:
可以进一步探索什么?
不同的用户会对同一篇论文进行不同角度的提问,只要能将共享的可复用的部分保存下来多次
复用就可以大幅度降低算力开销
问
题
短
18. 03
19. 将Prefill与Decode解耦,让
“算力-吃紧”与“带宽-吃紧”
任务各得其所,推理延迟-
吞吐双降 把Attention 计算和 Expert
路由/计算分到异构硬件,
CPU缓存KV、GPU稀疏激活
专家,MoE模型显存换带
宽,成本直降
PD分离 AF分离
把多模态编码、KV生成、
自回归解码拆成三阶段流
水线,单阶段内存爆降
95%,批尺寸×20,长图长
视频秒级TTFT。
EPD分离
把RLHF中的在线样本生成
(推理)与策略梯度更新
(训练)彻底分开,独立
扩缩容、异构部署,训练
吞吐提升2.6×,成本再降
30%。
推训分离
20. AF分离
EPD分离
PD分离
推训分离
21. GPU
Shared Memory
显存(VRAM)
128 KB / SM
150 TB/s 聚合
仅限同 Thread-Block
141 GB (H200)
4.8 TB/s 峰值
内存(DRAM)
远端内存(RDMA),SSD,分布式文件系统
2 TB DDR5
500 GB/s 读写带宽
30 TB NVMe-oF
25 GB/s 带宽
200 Gbps RDMA
整 GPU / NVLink
跨 GPU
CPU 到 GPU
PCIe
机柜/机柜、跨 DC
PCIe/以太网
22. 以KVCache为中心的解耦结构:Mooncake
icon
KVCache-
centric
Conductor
Local
Chunked
Prefill
Scheduler
GPU/VRAM
PP/SP
Paged KVCache
CPU/DRAM/SSD
Distributed KVCache Pool
KVCache
Balance
Scheduler
Distributed KVCache Pool
GPU/VRAM
Local
Chunked
Prefill
Scheduler
Paged KVCache
◼ 以存换算!提升 Kimi 吞吐 75% 以上
◼ 以超大规模分离式内存池为中心的
KVCache 缓存和调度
CPU/DRAM/SSD
Distributed KVCache Pool
◼
Paged KVCache
Local
Scheduler
Decoding Instance
CPU/DRAM/SSD
Distributed KVCache Pool
GPU/VRAM
Paged KVCache
Local
Scheduler
Decoding Instance
用户体验(SLO)优先、面向过载场景的调
度策略
Inter-node KVCache Transfer
CPU/DRAM/SSD
Load-
balance
Decoding
Scheduler
Kimi 底层推理架构,承载 80% 以上流量
Prefill Instance
GPU/VRAM
Cache-
aware
Prefill
Scheduler
Prefill Instance
超大规模的优势
◼ 缓存命中率和缓存池容量大小呈现正相关
◼ 不同的场景下斜率不同
◼ 单节点内存容量不足够达到容量和命中率
的甜点区域,需要更大容量的缓存池
23. 点对点传输(CPU Offload)
点对点传输(GDR)
Store接口
24. 维度 LayerWise Chunk Level 全量传输
吞吐量 中 高 低
扩展性 强 中 弱
实现难度 复杂(动态调度) 中等(块管理) 简单
LayerWise(逐层传输)
传输单位:单层参数/激活值
特点:
细粒度控制:按层动态调度,资源利用率高
显存优化:预填充后立即释放单层资源
通信开销:高频次小数据传输,增加延迟
适用场景:长序列生成(>4K tokens)
Chunk Level(分块传输)
传输单位:固定长度数据块(如1K tokens)
特点:
平衡性:减少传输次数,带宽占用可控
流水线优化:支持预填充与解码阶段并行
管理复杂度:需协调块间依赖关系
适用场景:中长序列(512-4K tokens)
全量传输(End-to-End)
传输单位:完整上下文参数/激活值
特点:
低延迟:单次传输完成,无调度开销
带宽瓶颈:显存占用高,限制序列长度扩展
资源浪费:解码阶段空闲预填充资源
适用场景:短序列推理(<512 tokens)
25. 04
26. Transfer Engine:
◼
◼
◼
◼
◼
◼
全链路零拷贝、多网卡池化
最高8*400Gbps聚合带宽、拓扑感知
故障容错,负载均衡,多协议支持。
更充分地发挥高性能网卡的优势,
相比 nccl 更加灵活,
支持动态拓朴、故障容错
KVCache Store:
◼
◼
◼
◼
充分利用GPU 集群中闲置的内存和带宽
省成本的同时降低响应延迟
透明多级缓存
进一步下沉到底层廉价存储
Production Ready:
◼ AC2镜像 + K8S部署
◼ 提供whl包一键安装
27. ◼ 关键特性:全链路零拷贝、多网卡池化,最高 8*400Gbps 聚合带宽、拓扑感知,故
障容错,负载均衡,多协议支持
◼ 相比其他传输协议能够发挥高性能网卡优势
◼ 相比 nccl 更灵活,支持动态拓朴/故障容错
训练框架
推理框架
零拷贝对象语义接口
P2P
Store
Managed Store
BatchTransfer API
Mooncake Transfer Engine
内存语义接口
裸金属
存储资源
高性能
内存型存储
28. ◼ 与传统缓存系统的区别:
◼ 灵活性与可定制性:
◼ Key 由 value 通过哈希计算得到,无需 update操作 ◼ 提供底层对象存储和管理功能。
◼ 支持Lease,没有版本管理的需求 ◼ 具体缓存策略由上层框架/用户实现(如 vLLM)
◼ 系统特性:
◼ 提供KV复用率,TTFT等指标
◼ etcd可靠性服务,高可用模式
◼ 数据持久化能力
◼ 提供分层存储能力(NFS/3FS)
◼ 提供Restful API/独立服务
◼ 多语言接口/零拷贝能力
29. KVCache 缓存的关键:存的多,传得快,性价比高!
◼ 充分利用当前 GPU 集群中闲
需要充分利用 (GPUDirect) RDMA/Storage 等高性能 IO 技术
置的内存容量和互联带宽
推理用机 2
推理用机 1
GPU 1-1
更新 X[1..s+1] 对
应的 K/V向量
CPU/
DRAM/
SSD
GPU 2-1
装载 X[1..s] 对
应的 K/V向量
◼ 省成本的同时降低响应延迟
◼ 透明多级缓存,未来可以进一
GPU/VRAM
步下沉到底层廉价存储
Prefix + tokens GPU/VRAM
Paged KVCache
Hash()
全局缓存节点
S3
PCIe 链路
读缓存
存储接口层
SSD
SSD
SSD
读写缓存
Paged
Paged KVCache
KVCache RDMA
Paged
Paged KVCache
KVCache NVMe-of
CPU/DRAM/SSD
对象存储
写缓冲
Paged
Paged KVCache
KVCache
SSD
SSD
SSD
Paged
Paged KVCache
KVCache
CPU/DRAM/SSD
POSIX
并行存储系统
下一级全局缓存
30. ◼
不能充分利用3FS的并发读取性能?
◼ 存储:辅存上的KVCache object如何组织?(映射关系,抽象粒度?)
◼ 接入:DFS的能力如何“优雅”地接入store?(写盘时机,与evict结合?)
问题1:get每次只进行单个kvcache数据的读取,
◼
解决思路:使用batchget操作,多线程同时读取
多个kvcache数据。
◼ 管理:逻辑层谁来负责管理3fs上的kvcache?(client or master管理?)
◼
问题2:使用通用的POSIX接口需要经过fuse客户
端,过程中存在多次上下文切换和数据拷贝
◼
解决思路:引入3fs高性能读写接口USRBIO支
持,并进行优化,以实现高吞吐、低延迟的数据
读写。
◼
问题3:client端负责元数据管理,带来了数据一
致性问题,查询文件系统也会带来性能开销
◼
3FS kvcache object
解决思路:将ssd的metadata元数据信息管理从
client迁移至master,使master统一管理disk和
memory两种类型的元数据信息。
31. 特性
Inference
Middleware
RL Training
Project Type Transfer KVCache Store
SGLang Inference ✓ ✓
vLLM V0 Inference ✓ ✓
vLLM V1 Inference ✗ LMDeploy Inference ✓ ✓
RTP (Alibaba) Inference ✗ ✓
TBase (Ant) Middleware ✓ ✗
Dynamo Framework ✓ (w/ Nixl) ✗
LMCache Middleware ✓ ✗
Slime RL Training WIP WIP
✓ (w/ LMCache)
32. 基于Transfer Engine的SGLang PD分离
基于Store的vLLM PD分离
33. 05
34. NVIDIA Dynamo
• 被最广泛被使用的推理引
擎,应用于各大云厂商 -
vLLM • 黄仁勋在 GTC 2025 Keynote 中
重点发布的分布式推理系统 –
Dynamo
• 其分布式推理实现基于
Mooncake 实现 • 其架构参考 Mooncake 设计并
在文档中专门致谢
• xAI 底层推理引擎,被广泛应用
于 DeepSeek 推理 - SGLang
• 和 Mooncake 合作实现其分布式
推理架构
35. 到产业推广
从标杆应用
2024 年 3 月Kimi 凭借长文本处理能力出圈
Mooncake 上线并经受住流量剧增的考验
2024 年 11 月 Mooncake 开源,应用于阿里和蚂蚁的内部业务
与 vLLM/SGLang 携手共建分离式大模型推理平台
2024 年 6 月 Mooncake 技术报告公布
引发业界广泛讨论
icon
Kimi 底层推理平台
被 GTC 2025 Keynote 黄仁勋专门介绍的
Dynamo 分布式推理系统所使用
2025 年 2 月
USENIX FAST 最佳论文
kvcache-ai/Mooncake --月之暗面和清华大学共同发起,多家
大模型和 Infra 厂商联合共建的开源项目
• 承载其近四千万的月活用户
• 以 KVCache 为中心的 P/D 分离架构
• 通过以存换算的思想,提升 Kimi 吞吐
75% 以上
+
• 和国际最主流的开源推理框架共建分布式
推理架构的标准参考实现
• vLLM/SGLang 均已完成初步对接
USENIX FAST 最佳论文
and more …
36.
37.