FlowKV: A Disaggregated Inference Framework with Low-Latency KV Cache Transfer and Load-Aware Scheduling

📄 arXiv: 2504.03775v1 📥 PDF

作者: Weiqing Li, Guochao Jiang, Xiangyong Ding, Zhangcheng Tao, Chuzhan Hao, Chenfeng Xu, Yuewei Zhang, Hao Wang

分类: cs.DC, cs.AI, cs.CL

发布日期: 2025-04-03


💡 一句话要点

FlowKV:一种低延迟KV缓存传输和负载感知调度的解耦推理框架

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 解耦推理 KV缓存 负载感知调度 低延迟 异构GPU

📋 核心要点

  1. 现有解耦推理框架在预填充和解码节点间KV缓存传输存在高延迟问题,影响整体性能。
  2. FlowKV通过优化KV缓存传输,并引入负载感知调度器,实现低延迟和负载均衡。
  3. 实验表明,FlowKV在LongBench数据集上推理速度提升显著,并支持异构GPU环境。

📝 摘要(中文)

解耦推理已成为一种重要的框架,它将大型语言模型推理中的预填充(P)和解码(D)阶段分离,以提高吞吐量。然而,KV缓存传输在预填充和解码节点之间面临显著的延迟。分块调用方法和不连续的KV缓存内存分配增加了对传输内核的调用次数。此外,现有的框架通常固定P和D节点的角色,导致计算不平衡。本文提出了FlowKV,一种新颖的解耦推理框架,通过优化KV缓存传输,将KV缓存的平均传输延迟降低了96%,从0.944秒降至0.053秒,几乎消除了相对于总请求延迟的传输时间。FlowKV引入了负载感知调度器,用于平衡请求调度和灵活的PD节点分配。这种设计最大限度地提高了硬件资源利用率,在各种场景(包括正常、计算不平衡和极端过载条件)下实现了峰值系统吞吐量。实验结果表明,与基线相比,FlowKV在LongBench数据集上显著加速了15.2%-48.9%的推理,并支持具有异构GPU的应用。

🔬 方法详解

问题定义:现有解耦推理框架在预填充(P)和解码(D)阶段之间存在显著的KV缓存传输延迟。这种延迟主要源于分块调用方法和不连续的KV缓存内存分配,导致传输内核调用次数增加。此外,现有框架通常采用固定的P和D节点角色分配,无法有效应对计算负载不平衡的情况,导致硬件资源利用率低下。

核心思路:FlowKV的核心思路是通过优化KV缓存传输和引入负载感知调度器来解决上述问题。通过优化KV缓存的内存分配和传输方式,减少传输延迟。同时,利用负载感知调度器动态地分配P和D节点,以实现计算负载的均衡,从而提高整体的推理效率。

技术框架:FlowKV框架主要包含KV缓存优化传输模块和负载感知调度器。KV缓存优化传输模块负责高效地将KV缓存从预填充节点传输到解码节点。负载感知调度器根据各个节点的负载情况,动态地将请求分配到不同的节点上,以实现负载均衡。整体流程为:接收请求 -> 预填充阶段(P节点)-> KV缓存传输 -> 解码阶段(D节点)-> 输出结果。

关键创新:FlowKV的关键创新在于:1) 优化了KV缓存的传输,显著降低了传输延迟;2) 引入了负载感知调度器,能够动态地调整P和D节点的分配,从而实现负载均衡,提高硬件资源利用率。与现有方法相比,FlowKV能够更有效地利用硬件资源,并在各种负载条件下实现更高的推理吞吐量。

关键设计:KV缓存优化传输方面,采用了连续内存分配和批量传输技术,减少了传输内核的调用次数。负载感知调度器方面,采用了基于历史负载信息的预测模型,能够准确地预测各个节点的负载情况,并根据预测结果进行动态调度。具体的调度策略包括:根据节点负载调整P/D节点的数量比例,以及将请求分配到负载较低的节点上。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,FlowKV相比于基线方法,在LongBench数据集上实现了15.2%-48.9%的推理加速。特别是在计算负载不平衡和极端过载条件下,FlowKV的性能提升更为显著。此外,FlowKV还支持异构GPU环境,能够充分利用不同类型的GPU资源,进一步提高推理效率。KV缓存的平均传输延迟降低了96%,从0.944s降至0.053s。

🎯 应用场景

FlowKV适用于需要高性能和低延迟的大型语言模型推理场景,例如在线对话系统、智能客服、机器翻译等。该框架能够充分利用异构GPU资源,提高推理效率,降低服务延迟,从而提升用户体验。未来,FlowKV有望应用于更广泛的AI应用领域,例如自动驾驶、智能医疗等。

📄 摘要(原文)

Disaggregated inference has become an essential framework that separates the prefill (P) and decode (D) stages in large language model inference to improve throughput. However, the KV cache transfer faces significant delays between prefill and decode nodes. The block-wise calling method and discontinuous KV cache memory allocation increase the number of calls to the transmission kernel. Additionally, existing frameworks often fix the roles of P and D nodes, leading to computational imbalances. In this paper, we propose FlowKV, a novel disaggregated inference framework, which reduces the average transmission latency of KV cache by 96%, from 0.944s to 0.053s, almost eliminating the transfer time relative to the total request latency by optimizing the KV cache transfer. FlowKV introduces the Load-Aware Scheduler for balanced request scheduling and flexible PD node allocation. This design maximizes hardware resource utilization, achieving peak system throughput across various scenarios, including normal, computational imbalance, and extreme overload conditions. Experimental results demonstrate that FlowKV significantly accelerates inference by 15.2%-48.9% on LongBench dataset compared to the baseline and supports applications with heterogeneous GPUs.