Queue management for slo-oriented large language model serving

📄 arXiv: 2407.00047v2 📥 PDF

作者: Archit Patke, Dhemath Reddy, Saurabh Jha, Haoran Qiu, Christian Pinto, Chandra Narayanaswami, Zbigniew Kalbarczyk, Ravishankar Iyer

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

发布日期: 2024-06-05 (更新: 2025-02-25)

DOI: 10.1145/3698038.369852


💡 一句话要点

QLM:面向松弛延迟需求的LLM服务队列管理系统,提升资源利用率。

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

关键词: LLM服务 队列管理 服务水平目标 资源调度 请求等待时间

📋 核心要点

  1. 现有LLM服务系统在处理交互式请求的同时,难以高效处理具有宽松延迟要求的批量请求,导致资源利用率低下。
  2. QLM通过维护一个包含不同模型和SLO请求的队列,并使用请求等待时间估计器进行全局调度,优化请求排序。
  3. 实验结果表明,QLM在提高SLO达成率和吞吐量的同时,保持或提高了设备利用率,性能提升显著。

📝 摘要(中文)

大型语言模型(LLM)服务正日益成为云服务提供商的关键工作负载。现有的LLM服务系统主要关注具有严格延迟服务水平目标(SLO)的交互式请求,如聊天机器人和代码助手。然而,当这些系统在处理交互式请求的同时执行具有宽松SLO的批量请求时,会导致较差的多路复用和低效的资源利用。为了解决这些挑战,我们提出了QLM,一个用于LLM服务的队列管理系统。QLM在请求队列中维护跨不同模型和SLO的批量和交互式请求。请求队列的最佳排序对于维持SLO同时确保高资源利用率至关重要。为了生成这种最佳排序,QLM使用请求等待时间(RWT)估计器来估计请求队列中请求的等待时间。全局调度器使用这些估计来编排LLM服务操作(LSO),例如请求拉取、请求驱逐、负载平衡和模型交换。在异构GPU设备和模型上,使用真实LLM服务数据集进行的评估表明,与其他最先进的LLM服务系统相比,QLM将SLO达成率提高了40-90%,吞吐量提高了20-400%,同时保持或提高了设备利用率。QLM的评估基于云服务提供商的生产要求。QLM已在https://www.github.com/QLM-project/QLM公开发布。

🔬 方法详解

问题定义:论文旨在解决现有LLM服务系统在同时处理交互式和批量请求时,资源利用率低下的问题。现有系统主要针对交互式请求优化,无法有效处理具有宽松SLO的批量请求,导致资源竞争和整体效率降低。

核心思路:论文的核心思路是通过引入队列管理机制,将不同类型(交互式和批量)和不同SLO的请求统一管理,并利用请求等待时间(RWT)估计器来预测请求的等待时间,从而实现全局优化调度。这样可以更好地平衡不同类型请求的需求,提高资源利用率。

技术框架:QLM系统的整体架构包含以下几个主要模块:1) 请求队列:用于存储和管理不同类型和SLO的请求。2) 请求等待时间(RWT)估计器:用于估计队列中每个请求的等待时间。3) 全局调度器:根据RWT估计结果,进行请求拉取、请求驱逐、负载均衡和模型交换等操作,以优化整体性能。4) LLM服务操作(LSO):执行具体的LLM服务任务。

关键创新:QLM的关键创新在于其全局调度策略,该策略基于请求等待时间(RWT)估计器,能够动态地调整请求的优先级和资源分配,从而更好地满足不同SLO的需求。与现有方法相比,QLM能够更有效地处理混合工作负载,提高资源利用率。

关键设计:RWT估计器的具体实现细节未知,但其核心思想是预测每个请求在队列中的等待时间,以便全局调度器能够做出更明智的决策。全局调度器可能采用基于优先级的调度算法,根据RWT和SLO来确定请求的优先级。具体的负载均衡和模型交换策略也需要根据实际情况进行调整。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,QLM在异构GPU设备和模型上,使用真实LLM服务数据集进行评估时,相比于其他最先进的LLM服务系统,SLO达成率提高了40-90%,吞吐量提高了20-400%,同时保持或提高了设备利用率。这些数据表明QLM在实际应用中具有显著的性能优势。

🎯 应用场景

QLM适用于需要同时处理具有不同延迟要求的LLM服务请求的云服务提供商。它可以应用于各种场景,例如同时提供交互式聊天机器人服务和批量文本分析服务。通过提高资源利用率和SLO达成率,QLM可以降低运营成本,并提升用户体验。未来,QLM可以进一步扩展到支持更多类型的LLM服务和更复杂的SLO要求。

📄 摘要(原文)

Large language model (LLM) serving is becoming an increasingly critical workload for cloud providers. Existing LLM serving systems focus on interactive requests, such as chatbots and coding assistants, with tight latency SLO requirements. However, when such systems execute batch requests that have relaxed SLOs along with interactive requests, it leads to poor multiplexing and inefficient resource utilization. To address these challenges, we propose QLM, a queue management system for LLM serving. QLM maintains batch and interactive requests across different models and SLOs in a request queue. Optimal ordering of the request queue is critical to maintain SLOs while ensuring high resource utilization. To generate this optimal ordering, QLM uses a Request Waiting Time (RWT) Estimator that estimates the waiting times for requests in the request queue. These estimates are used by a global scheduler to orchestrate LLM Serving Operations (LSOs) such as request pulling, request eviction, load balancing, and model swapping. Evaluation on heterogeneous GPU devices and models with real-world LLM serving dataset shows that QLM improves SLO attainment by 40-90% and throughput by 20-400% while maintaining or improving device utilization compared to other state-of-the-art LLM serving systems. QLM's evaluation is based on the production requirements of a cloud provider. QLM is publicly available at https://www.github.com/QLM-project/QLM.