Mooncake:面向大规模语言模型服务的分布式缓存架构

Mooncake:面向大规模语言模型服务的分布式缓存架构

Mooncake Mooncake 项目地址: https://gitcode.com/gh_mirrors/mo/Mooncake

项目介绍

Mooncake 是一个基于键-值(KV)缓存的分布式架构,专为大规模语言模型(LLM)服务设计。它由Moonshot AI提供,为Kimi服务提供支持,Kimi是一种领先的LLM服务。Mooncake 通过其独特的架构,将预填充和解码集群分离,充分利用GPU集群中未被充分利用的CPU、DRAM和SSD资源,实现了一个高效的分布式缓存系统。

项目技术分析

Mooncake 的核心是一个KVCache-centric调度器,它负责在保证满足延迟相关的服务水平目标(SLOs)的同时,最大化整体有效吞吐量。与传统的假设所有请求都将被处理的研究不同,Mooncake 面临着高度过载场景的挑战。为了应对这些挑战,Mooncake 开发了一种基于预测的早期拒绝策略。实验表明,Mooncake 在长上下文场景中表现出色。与基线方法相比,Mooncake 在某些模拟场景下可以实现高达525%的吞吐量增加,同时遵守SLOs。在实际工作负载下,Mooncake 的创新架构使得Kimi能够处理更多的请求。

Mooncake 的架构包括以下几个关键组件:

  • Transfer Engine:支持通过TCP、RDMA、基于NVIDIA GPUDirect的RDMA以及NVMe over Fabric(NVMe-of)协议进行快速、可靠且灵活的数据传输。
  • P2P Store:基于Transfer Engine,支持在集群节点之间共享临时对象(例如检查点文件)。
  • Mooncake Store:基于Transfer Engine,为LLM推理提供分布式池化KVCache存储引擎。

项目及技术应用场景

Mooncake 的设计目标是优化大规模语言模型服务,特别是在处理长上下文和高负载场景时。以下是几个具体的应用场景:

  1. 大规模语言模型推理:Mooncake Store 通过提供分布式KVCache,使得LLM推理过程更加高效,特别是在处理大型模型和复杂数据时。
  2. 数据共享与同步:P2P Store 支持在集群节点之间快速高效地共享数据,例如在模型训练过程中进行检查点同步。
  3. 高性能数据传输:Transfer Engine 提供了一种高效的数据传输方式,适合需要大量数据传输的场景,如大规模模型预加载。

项目特点

Mooncake 的特点体现在以下几个方面:

  • 高度可扩展性:通过KVCache-centric架构,Mooncake 可以在高度过载的场景中提供高效的资源利用和吞吐量。
  • 灵活的数据传输:Transfer Engine 支持多种协议,可以根据不同的网络环境和硬件条件选择最合适的数据传输方式。
  • 优化的性能:通过使用RDMA等高级传输技术,Mooncake 在数据传输性能上具有显著优势,可以实现更高的带宽利用率和更低的延迟。
  • 易于集成:Mooncake 的设计考虑了与其他系统的兼容性,可以轻松集成到现有的LLM服务中。

以下是Mooncake的性能示例:

transfer-engine-performance.png

Mooncake Transfer Engine 在4×200 Gbps和8×400 Gbps RoCE网络中,可以实现高达87 GB/s和190 GB/s的带宽,分别是TCP协议的2.4倍和4.6倍。

此外,Mooncake Store 和P2P Store 在数据传输和共享方面也表现出色,可以充分利用硬件带宽。

p2p-store.gif

总结来说,Mooncake 通过其独特的架构和高度优化的数据传输机制,为大规模语言模型服务提供了一个高效、灵活且易于集成的解决方案。对于需要处理大量数据和高性能推理的服务提供商来说,Mooncake 是一个值得考虑的开源项目。

Mooncake Mooncake 项目地址: https://gitcode.com/gh_mirrors/mo/Mooncake

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓滨威Delmar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值