Mooncake:面向大语言模型服务的以 KVCache 为中心的架构

摘要

Mooncake是 Kimi 的服务平台,Kimi 是由 Moonshot AI 提供的领先的 LLM 服务。它采用以 KVCache 为中心的分解架构,将预填充和解码集群分离。它还利用 GPU 集群未充分利用的 CPU、DRAM 和 SSD 资源来实现 KVCache 的分解缓存。Mooncake的核心是其以 KVCache 为中心的调度器,它在满足延迟相关的服务水平目标 (SLO) 的同时,平衡了最大化整体有效吞吐量。与假设所有请求都将被处理的传统研究不同,Mooncake面临着由于高度过载场景带来的挑战。为了缓解这些问题,我们开发了一种基于预测的早期拒绝策略。实验表明,Mooncake在长上下文场景中表现出色。与基线方法相比,Mooncake在某些模拟场景中可以实现高达 525% 的吞吐量提升,同时仍能遵守 SLO。在实际工作负载下,Mooncake的创新架构使 Kimi 能够处理多 75% 的请求。

1. 月饼开发的动机

1.1 开发Mooncake的动机

随着大型语言模型 (LLM) 在各种场景中的快速采用 [1, 2, 3, 4],LLM 服务的工作负载变得更加多样化。这些工作负载在输入/输出长度、到达频率和分布方面有所不同,最重要的是,它们需要不同类型的服务水平目标 (SLO)。作为模型即服务 (MaaS) 提供商,Kimi [5] 的主要目标之一是解决具有多个复杂约

你可能感兴趣的:(AGI通用人工智能,语言模型,架构,人工智能)