Fairness in Serving Large Language Models
作者: Ying Sheng, Shiyi Cao, Dacheng Li, Banghua Zhu, Zhuohan Li, Danyang Zhuo, Joseph E. Gonzalez, Ion Stoica
分类: cs.AI, cs.LG, cs.PF
发布日期: 2023-12-31 (更新: 2024-06-05)
🔗 代码/项目: GITHUB
💡 一句话要点
提出VTC调度算法,解决大语言模型服务中的公平性与资源利用率问题
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型服务 公平性调度 资源利用率 虚拟Token计数 连续批处理
📋 核心要点
- 现有LLM服务采用简单速率限制,虽保证基本公平,但资源利用率低,客户端体验差。
- 提出虚拟Token计数器(VTC)调度算法,基于连续批处理,优化LLM服务公平性。
- 实验证明VTC能有效确保公平性,显著优于其他基线方法,并满足工作守恒原则。
📝 摘要(中文)
高需求的大语言模型推理服务(如ChatGPT和BARD)支持各种请求,从简短的聊天对话到长文档阅读。为了确保所有客户端请求得到公平处理,大多数主要的LLM推理服务都设置了请求速率限制,以防止任何客户端过度占用请求队列。然而,这种基本的公平性概念在有剩余容量时会导致资源利用率不足和较差的客户端体验。虽然公平调度领域有丰富的研究,但由于LLM请求长度的不可预测性以及它们在并行加速器上的独特批处理特性,为LLM提供服务带来了新的挑战。本文基于考虑输入和输出token数量的成本函数,提出了LLM服务公平性的定义。为了实现公平服务,我们提出了一种新的调度算法,即虚拟Token计数器(VTC),这是一种基于连续批处理机制的公平调度器。我们证明了两个积压客户端之间的服务差异存在2倍的严格上限,并坚持工作守恒的要求。通过大量的实验,我们证明了VTC在确保公平性方面的优越性能,特别是与其他基线方法相比,这些基线方法在各种条件下都表现出不足。
🔬 方法详解
问题定义:现有的大语言模型服务,如ChatGPT和BARD,面临着如何在保证公平性的前提下,最大化资源利用率的挑战。简单的请求速率限制虽然能防止个别用户过度占用资源,但在资源空闲时,会导致整体服务效率低下,用户体验不佳。现有的公平调度算法难以直接应用于LLM服务,因为LLM请求的长度是动态变化的,并且LLM推理过程依赖于高效的批处理机制。
核心思路:本文的核心思路是基于token数量定义LLM服务的公平性,并设计一种能够追踪每个用户已使用token数量的调度算法。通过虚拟Token计数器(VTC),算法能够动态调整每个用户的优先级,确保在一段时间内,每个用户获得的计算资源与其请求的token数量成正比。这种设计旨在平衡公平性与资源利用率,避免资源浪费。
技术框架:VTC算法基于连续批处理机制。整体流程如下:1) 客户端提交LLM请求;2) 请求进入请求队列;3) VTC调度器根据每个客户端的虚拟token计数,选择一批请求进行处理;4) LLM模型对选定的请求进行推理;5) 推理结果返回给客户端,并更新客户端的虚拟token计数。VTC调度器是整个框架的核心,负责维护每个客户端的虚拟token计数,并根据计数结果进行调度。
关键创新:VTC算法的关键创新在于其虚拟token计数机制。传统的调度算法通常基于请求数量或时间片进行调度,而VTC算法则基于token数量进行调度。这种基于token的调度方式更符合LLM服务的特点,能够更准确地衡量每个用户对资源的消耗,从而实现更公平的资源分配。此外,VTC算法还证明了在工作守恒的前提下,两个积压客户端之间的服务差异存在2倍的严格上限。
关键设计:VTC算法的关键设计包括:1) 虚拟token计数的计算方式,需要考虑输入和输出token的数量;2) 调度策略,如何根据虚拟token计数选择一批请求进行处理;3) 批处理大小的动态调整,需要在公平性与效率之间进行权衡。具体的参数设置和损失函数(如果存在)在论文中未详细描述,属于未知信息。
📊 实验亮点
实验结果表明,VTC算法在确保公平性方面优于其他基线方法。具体而言,VTC算法能够显著降低不同用户之间的服务差异,并提高整体资源利用率。论文证明了VTC算法在工作守恒的前提下,两个积压客户端之间的服务差异存在2倍的严格上限,为算法的公平性提供了理论保证。具体的性能数据和提升幅度在摘要和论文中未明确给出,属于未知信息。
🎯 应用场景
该研究成果可应用于各种在线大语言模型服务,如聊天机器人、文本生成、文档摘要等。通过VTC调度算法,可以提升LLM服务的公平性和资源利用率,改善用户体验。未来,该研究可以扩展到更复杂的场景,例如多租户LLM服务、异构计算环境下的LLM服务等。
📄 摘要(原文)
High-demand LLM inference services (e.g., ChatGPT and BARD) support a wide range of requests from short chat conversations to long document reading. To ensure that all client requests are processed fairly, most major LLM inference services have request rate limits, to ensure that no client can dominate the request queue. However, this rudimentary notion of fairness also results in under-utilization of the resources and poor client experience when there is spare capacity. While there is a rich literature on fair scheduling, serving LLMs presents new challenges due to their unpredictable request lengths and their unique batching characteristics on parallel accelerators. This paper introduces the definition of LLM serving fairness based on a cost function that accounts for the number of input and output tokens processed. To achieve fairness in serving, we propose a novel scheduling algorithm, the Virtual Token Counter (VTC), a fair scheduler based on the continuous batching mechanism. We prove a 2x tight upper bound on the service difference between two backlogged clients, adhering to the requirement of work-conserving. Through extensive experiments, we demonstrate the superior performance of VTC in ensuring fairness, especially in contrast to other baseline methods, which exhibit shortcomings under various conditions. The reproducible code is available at https://github.com/Ying1123/VTC-artifact