月之暗面kimi底层推理系统方案揭秘(二)

AI最新资讯2个月前发布 tree
26 0 0

今日应用


今日话题


月之暗面kimi底层推理系统方案揭秘(二)
月之暗面kimi底层推理系统方案揭秘(二)
 

重点标签 Mooncake推理平台分离式架构设计KVCache中心Prefill节点Decode节点

文章摘要


本文深入探讨了月之暗面底层推理平台—Mooncake的分离式架构设计及其在实际应用中的优势和挑战。作者ZHANG Mingxing在知乎上的讨论和分享基础上,详细介绍了Mooncake的架构设计,包括Prefill Pool、KVCache Pool和Decode Pool三个独立弹性伸缩的资源池,以及它们在处理用户输入、提升资源利用率和降低延迟方面的作用。

Mooncake架构的核心是以KVCache为中心的全局调度策略,通过优化KVCache的重用和分配,提高整体吞吐量并降低用户等待时间。文章讨论了Prefill Pool的独立性、多节点分布式划分方法、逐层预填充技术以及Decode Pool的业界实践和未来工作。此外,还针对过载场景下的调度策略进行了讨论,包括Early Reject策略和基于预测的调度方法。

Mooncake的设计理念是将GPU集群的资源解耦并重新组织,以满足大型语言模型(LLMs)服务的多样化需求。通过分离架构,Mooncake能够在保证服务级别目标(SLOs)的同时,最大化整体有效吞吐量。实验结果表明,Mooncake在长上下文场景中表现出色,与基线方法相比,能够实现高达525%的吞吐量增加。

在面对过载问题时,Mooncake采用了Early Reject策略,通过预测未来负载来决定是否接受或拒绝传入请求,以减少浪费的计算资源。此外,基于预测的调度策略通过预测Decode集群的未来负载,平滑整个系统的负载波动。

Mooncake的成功实践为分离式推理系统的设计和优化提供了宝贵的经验,也为未来硬件和云厂商的发展方向提供了参考。随着负载的复杂性和多元化,Mooncake的调度策略将变得越来越复杂和重要。作者希望通过本文的讨论,与业界同仁共同探索未来可能的优化空间。

技术报告原文powered by kimi/互相赋能就让它自己宣传自己吧)详细介绍了Mooncake的开发动机、设计与结果,以及预备知识和问题定义。报告指出,随着大型语言模型(LLMs)在各种场景中的迅速采用,对LLM服务的工作负载已经变得显著多样化。为了满足不同级别的服务级别目标(SLOs),Kimi的一个主要目标是解决一个具有多个复杂约束的优化问题。Mooncake通过分离架构和以KVCache为中心的调度策略,实现了在保证SLOs的同时最大化整体有效吞吐量。

Mooncake的分离架构包括预填充节点、解码节点和KVCache池,通过全局调度器Conductor进行调度。在预填充阶段,主要目标是尽可能多地重用KVCache以避免冗余计算。而在解码阶段,目标是将尽可能多的token聚合到一个解码批次中以提高模型FLOPs利用率(MFU)。然而,这两种面向吞吐量的优化可能会导致违反与延迟相关的SLOs。

为了解决这个问题,Mooncake采用了分块流水线并行机制(Chunked Pipeline Parallelism, CPP)来扩展单个请求在多个节点上的处理,减少了网络消耗,并简化了对频繁弹性扩展的依赖。此外,Mooncake还采用了逐层预填充技术,通过异步执行KVCache的加载和存储,降低了VRAM的占用成本。

在过载场景下,Mooncake的调度涉及根据系统负载决定是否接受或拒绝传入请求。通过Early Reject策略和基于预测的调度方法,Mooncake能够在保证SLOs的同时,减少浪费的计算资源。Mooncake的成功实践证明了其在扩展到大型和高度过载工作负载方面的有效性,同时也指出了未来需要探索的更多问题和发展方向。

文章来源


原文地址: 点我阅读全文
原文作者: 极市平台

© 版权声明

相关文章

暂无评论

暂无评论...