微信扫码
添加专属顾问
我要投稿
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-05-27
盘点 Azure AI Foundry 的10大重要更新
2025-05-27
50个AI基础常识问答(看完理解整个AI行业)
2025-05-27
AI时代下的软件升级:大模型如何让考勤系统听懂人话?
2025-05-27
美团要开放AI编程能力,将推出新产品NoCode|智能涌现独家
2025-05-27
AI大模型3种模式:Embedding、Copilot与Agent深度解析
2025-05-27
AI领域基础概念(下)
2025-05-26
万字长文!AI智能体全面爆发前夜:一文讲透技术架构与行业机会
2025-05-26
国产顶级 DeepResearch 类产品,把咨询专家请回家
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-07-20
2025-05-27
2025-05-26
2025-05-23
2025-05-23
2025-05-23
2025-05-18
2025-05-18
2025-05-17