Efficient Interactive LLM Serving with Proxy Model-based Sequence Length Prediction
作者: Haoran Qiu, Weichao Mao, Archit Patke, Shengkun Cui, Saurabh Jha, Chen Wang, Hubertus Franke, Zbigniew T. Kalbarczyk, Tamer Başar, Ravishankar K. Iyer
分类: cs.DC, cs.CL, cs.LG
发布日期: 2024-04-12 (更新: 2024-11-25)
备注: Accepted at AIOps'24
💡 一句话要点
提出基于代理模型的序列长度预测以优化LLM服务效率
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 推理优化 调度算法 序列长度预测 交互式AI
📋 核心要点
- 现有的LLM服务系统采用先到先服务调度,面临头部阻塞问题,导致推理请求的响应时间不可预测。
- 本文提出了一种推测性最短作业优先调度器,通过轻量级代理模型预测输出序列长度,从而优化调度效率。
- 实验结果表明,SSJF调度器在多种设置下显著提高了吞吐量和作业完成时间,展示了其在实际应用中的有效性。
📝 摘要(中文)
大型语言模型(LLMs)在多个领域推动了交互式AI应用的新潮流。然而,由于生成模型的自回归特性,LLM推理请求的高效服务面临挑战,现有的服务系统采用先到先服务(FCFS)调度,导致头部阻塞问题。为了解决LLM的非确定性特征并实现高效的交互式服务,本文提出了一种使用轻量级代理模型预测LLM输出序列长度的推测性最短作业优先(SSJF)调度器。我们的开源SSJF实现无需更改内存管理或批处理策略。在真实世界数据集和生产工作负载跟踪的评估中,SSJF相比FCFS调度器平均作业完成时间减少了30.5-39.6%,吞吐量提高了2.2-3.6倍,适用于无批处理、动态批处理和连续批处理设置。
🔬 方法详解
问题定义:本文旨在解决大型语言模型推理请求的高效服务问题,现有的先到先服务调度方法存在头部阻塞,导致响应时间不可预测,影响用户体验。
核心思路:提出了一种推测性最短作业优先(SSJF)调度器,利用轻量级代理模型来预测LLM输出的序列长度,从而优化调度顺序,减少作业完成时间。
技术框架:整体架构包括代理模型的训练、序列长度预测和调度决策三个主要模块。代理模型根据历史数据进行训练,预测后续请求的输出长度,调度器根据预测结果进行作业排序。
关键创新:SSJF调度器的核心创新在于引入轻量级代理模型进行序列长度预测,这一设计使得调度器能够动态调整作业顺序,显著减少了等待时间,与传统的FCFS方法相比具有本质区别。
关键设计:在设计中,代理模型采用了简化的神经网络结构,训练过程中使用了历史请求的序列长度数据,损失函数选择了均方误差,以提高预测精度。
🖼️ 关键图片
📊 实验亮点
实验结果显示,SSJF调度器在无批处理、动态批处理和连续批处理设置下,平均作业完成时间减少了30.5-39.6%,吞吐量提高了2.2-3.6倍,相比传统的FCFS调度器,展现了显著的性能提升。
🎯 应用场景
该研究的潜在应用领域包括实时对话系统、在线客服、内容生成等交互式AI应用。通过提高LLM的服务效率,能够显著改善用户体验,降低系统资源消耗,推动更广泛的AI应用落地,具有重要的实际价值和未来影响。
📄 摘要(原文)
Large language models (LLMs) have been driving a new wave of interactive AI applications across numerous domains. However, efficiently serving LLM inference requests is challenging due to their unpredictable execution times originating from the autoregressive nature of generative models. Existing LLM serving systems exploit first-come-first-serve (FCFS) scheduling, suffering from head-of-line blocking issues. To address the non-deterministic nature of LLMs and enable efficient interactive LLM serving, we present a speculative shortest-job-first (SSJF) scheduler that uses a light proxy model to predict LLM output sequence lengths. Our open-source SSJF implementation does not require changes to memory management or batching strategies. Evaluations on real-world datasets and production workload traces show that SSJF reduces average job completion times by 30.5-39.6% and increases throughput by 2.2-3.6x compared to FCFS schedulers, across no batching, dynamic batching, and continuous batching settings.