AdaServe: Accelerating Multi-SLO LLM Serving with SLO-Customized Speculative Decoding
作者: Zikun Li, Zhuofu Chen, Remi Delacourt, Gabriele Oliaro, Zeyu Wang, Qinghan Chen, Shuhuai Lin, April Yang, Zhihao Zhang, Zhuoming Chen, Sean Lai, Xinhao Cheng, Xupeng Miao, Zhihao Jia
分类: cs.CL, cs.AI, cs.DC, cs.LG
发布日期: 2025-01-21 (更新: 2025-05-17)
💡 一句话要点
AdaServe:通过服务等级目标定制的推测解码加速多服务等级目标LLM服务
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型服务 服务等级目标 推测解码 多租户 低延迟 高吞吐量 资源调度
📋 核心要点
- 现有LLM服务系统采用统一策略,无法有效满足不同应用场景下多样化的延迟需求。
- AdaServe通过SLO定制的推测解码,构建硬件感知的推测树,优化解码速度和系统吞吐量。
- 实验表明,AdaServe显著降低了SLO违规,并提高了系统goodput,提升了多SLO服务性能。
📝 摘要(中文)
现代大型语言模型(LLM)应用展现出多样化的服务等级目标(SLO),从交互式编码助手中对低延迟的要求到数据整理任务中较为宽松的约束。现有的LLM服务系统依赖于统一的批处理和调度策略,通常无法同时满足这些异构的SLO。我们提出了AdaServe,这是第一个旨在通过SLO定制的推测解码来支持高效多SLO服务的LLM服务系统。AdaServe将多SLO服务建模为一个约束优化问题,并引入了一种硬件感知的算法,该算法构建了一个针对每个请求的延迟目标的推测树。它具有一个推测-选择-验证的流水线,可以对解码速度进行细粒度的控制,同时最大化系统吞吐量。AdaServe通过动态调整推测参数来进一步适应工作负载的变化。在不同工作负载下的评估表明,与性能最佳的基线相比,AdaServe将SLO违规降低了高达4.3倍,并将goodput提高了高达1.9倍,突出了其在多SLO服务中的有效性。
🔬 方法详解
问题定义:现有LLM服务系统在处理具有不同服务等级目标(SLO)的请求时,采用统一的批处理和调度策略,无法兼顾低延迟和高吞吐量。例如,交互式应用需要低延迟,而数据处理任务可以容忍更高的延迟。这种一刀切的方法导致部分请求的SLO违规,降低了用户体验和系统效率。
核心思路:AdaServe的核心思路是根据每个请求的SLO定制推测解码过程。它将多SLO服务建模为一个约束优化问题,目标是在满足每个请求的延迟约束下,最大化系统的吞吐量。通过硬件感知的算法,AdaServe为每个请求构建一个定制的推测树,从而在解码速度和准确性之间取得平衡。
技术框架:AdaServe采用一个推测-选择-验证的流水线。首先,根据请求的SLO和硬件资源,生成一个推测树,其中每个节点代表一个可能的token序列。然后,选择最有希望的节点进行验证,即使用LLM进行实际的解码。如果验证成功,则将该节点添加到最终的输出序列中;否则,回溯到推测树的其他节点进行验证。AdaServe还包含一个动态调整模块,根据工作负载的变化,实时调整推测参数,以适应不同的服务需求。
关键创新:AdaServe的关键创新在于SLO定制的推测解码。与传统的推测解码方法不同,AdaServe不是采用固定的推测策略,而是根据每个请求的延迟目标,动态调整推测树的结构和验证策略。这种方法可以更有效地利用硬件资源,并在满足延迟约束的同时,最大化系统吞吐量。
关键设计:AdaServe的关键设计包括:1) 硬件感知的推测树构建算法,该算法考虑了硬件的计算能力和内存带宽,以生成最优的推测树;2) 动态调整模块,该模块使用强化学习算法,根据工作负载的变化,实时调整推测参数,例如推测树的深度和宽度;3) 推测-选择-验证流水线,该流水线可以并行执行推测和验证操作,从而提高解码速度。
🖼️ 关键图片
📊 实验亮点
实验结果表明,AdaServe在多SLO服务场景下表现出色。与最佳基线相比,AdaServe将SLO违规降低了高达4.3倍,并将goodput提高了高达1.9倍。这些结果证明了AdaServe在满足不同延迟要求和提高系统吞吐量方面的有效性。此外,AdaServe的动态调整模块能够适应不同的工作负载,保持稳定的性能表现。
🎯 应用场景
AdaServe可应用于各种需要同时处理具有不同延迟要求的LLM请求的场景,例如:AI助手、智能客服、代码生成、数据分析等。通过优化资源分配和调度,AdaServe能够显著提升用户体验,并提高LLM服务系统的整体效率。未来,该技术有望扩展到更广泛的AI服务领域,例如多模态内容生成和机器人控制。
📄 摘要(原文)
Modern large language model (LLM) applications exhibit diverse service-level objectives (SLOs), from low-latency requirements in interactive coding assistants to more relaxed constraints in data wrangling tasks. Existing LLM serving systems, which rely on uniform batching and scheduling strategies, often fail to meet these heterogeneous SLOs concurrently. We present AdaServe, the first LLM serving system designed to support efficient multi-SLO serving through SLO-customized speculative decoding. AdaServe formulates multi-SLO serving as a constrained optimization problem and introduces a hardware-aware algorithm that constructs a speculation tree tailored to each request's latency target. It features a speculate-select-verify pipeline that enables fine-grained control over decoding speed while maximizing system throughput. AdaServe further adapts to workload variation by dynamically adjusting speculation parameters. Evaluations across diverse workloads show that AdaServe reduces SLO violations by up to 4.3$\times$ and improves goodput by up to 1.9$\times$ compared to the best performing baselines, highlighting its effectiveness in multi-SLO serving.