别停下来:基于嵌入的 LLM 调度方法
机器学习
2024-10-03 v1
摘要
高效调度对于交互式大型语言模型 (LLM) 应用程序至关重要,因为低请求完成时间直接影响用户参与度。基于大小的调度算法,如最短剩余进程时间 (SRPT),旨在通过利用已知或估计的请求大小以及允许具有更短服务时间的 incoming jobs 抢占来降低平均请求完成时间。然而,当将基于大小的调度应用于 LLM 系统时,会出现两个主要挑战:首先,准确预测从提示生成的输出长度具有挑战性,往往需要大量资源,使得许多系统不可行。因此,最新的 LLM 系统默认采用先到先服务调度,可能导致面包屉阻塞并降低系统效率。其次,抢占会在 LLM 系统中引入额外的内存开销,因为它们必须维护 unfinished (被抢占) 请求的中间状态。本文提出 TRAIL 方法,从目标 LLM 本身获取输出预测。每次生成输出标记后,我们回收其内部结构的嵌入作为 lightweight classifier 的输入,用于预测每个运行请求的剩余长度。利用这些预测,我们提出一种考虑 LLM 系统内存开销的预测基于 SRPT 的变体,采用有限抢占。该变体在请求执行早期允许抢占(当内存消耗较低时),但在请求接近完成时限制抢占,以优化资源利用。在理论层面,我们推导了该 SRPT 变体在 M/G/1 队列模型中的闭式公式,展示了其潜在价值。在我们的系统中,我们实现了该抢占策略和嵌入预测方法。
引用
@article{arxiv.2410.01035,
title = {Don't Stop Me Now: Embedding Based Scheduling for LLMs},
author = {Rana Shahout and Eran Malach and Chunwei Liu and Weifan Jiang and Minlan Yu and Michael Mitzenmacher},
journal= {arXiv preprint arXiv:2410.01035},
year = {2024}
}