微信扫码
添加专属顾问
我要投稿
LLM调度的核心KVCache
Mooncake作为Moonshot AI提供的Kimi服务的后端平台,提出了一种以键值缓存(KVCache)为中心的解耦架构,旨在优化长上下文场景下的服务效能,并在高负载情况下保持服务水平目标(SLOs)。
Mooncake架构通过解耦预填充和解码阶段,并以KVCache为中心进行调度和优化,有效地提升了LLM服务在长上下文和高负载场景下的性能。通过实验验证,Mooncake在保持SLOs的同时,相比基线方法,吞吐量提升了高达525%,并能在实际工作负载下处理75%以上的请求。
Mooncake的KVCache中心调度器,负责平衡最大整体有效吞吐量和满足延迟相关的SLOs。通过解耦预填充(prefill)和解码(decoding)集群,以及利用GPU集群中未充分利用的CPU、DRAM和SSD资源,实现了KVCache的解耦缓存,从而优化了资源利用率和整体吞吐量。
Mooncake采用分块流水线并行(CPP)机制,对于单个长上下文请求,Mooncake将输入token分割成小块,每个小块不超过预设的阈值(例如1000个token),并在多个节点上并行处理,以减少首个token时间(TTFT)。
Mooncake开发了基于预测的早期拒绝策略,在高负载情况下,通过预测未来负载和生成长度,提前拒绝某些请求,以避免在预填充阶段后无可用解码槽位时的资源浪费。
Mooncake主要包括以下组件:
KVCache中心调度器(Conductor)
预填充实例
解码实例
分布式KVCache池等组件。
每个请求由Conductor调度,选择预填充和解码实例,并按照以下步骤执行:
Mooncake利用CPP机制处理长上下文请求。具体步骤如下:
Mooncake的KVCache中心调度算法如下:
在系统过载时,Mooncake采用早期拒绝策略,具体步骤如下:
模拟长上下文对两个框架的影响。
长上下文请求显着扰乱了 vLLM 的解码阶段。 为了解决这个问题,vLLM 单独处理请求,而不是批量处理。
Mooncake采用了批处理,但其两阶段分解设计有效地减少了预填充阶段对解码阶段的影响,确保它永远不会破坏TBT SLO
与 vLLM 相比,Mooncake 表现出显着更高的吞吐量,增强幅度从 50% 到 525%,同时遵守相同的 TTFT 和 TBT SLO 限制。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-04-30
通俗易懂的梳理MCP的工作流程(以高德地图MCP为例)
2025-04-30
一文说明 Function Calling、MCP、A2A 的区别!
2025-04-30
MCP很好,但它不是万灵药|一文读懂 MCP
2025-04-30
旅行规划太难做?5 分钟构建智能Agent,集成地图 MCP Server
2025-04-29
10万元跑满血版DeepSeek,这家公司掀了一体机市场的桌子|甲子光年
2025-04-29
谷歌大神首次揭秘Gemini预训练秘密:52页PPT干货,推理成本成最重要因素
2025-04-29
一文说清:什么是算法备案、大模型备案、大模型登记 2.0
2025-04-29
MCP:AI时代的“万能插座”,大厂竞逐的焦点
2024-08-13
2024-06-13
2024-08-21
2024-09-23
2024-07-31
2024-05-28
2024-08-04
2024-04-26
2024-07-09
2024-09-17
2025-04-29
2025-04-29
2025-04-29
2025-04-28
2025-04-28
2025-04-28
2025-04-28
2025-04-28