Taming Throughput-Latency Tradeoff in LLM Inference with Sarathi-Serve

2024年03月04日
  • 简介
    每个LLM服务请求都经过两个阶段。第一个是预填充,它处理整个输入提示以生成一个输出标记,第二个是解码,它逐个生成其余的输出标记。预填充迭代具有很高的延迟,但由于输入提示的并行处理而饱和GPU计算。相比之下,解码迭代具有低延迟,但计算利用率也很低,因为解码迭代仅处理每个请求的单个标记。这使得批处理对解码非常有效,因此对于整体吞吐量也是如此。然而,批处理多个请求会导致预填充和解码迭代的交错,这使得实现高吞吐量和低延迟变得具有挑战性。 我们引入了一种高效的LLM推理调度程序Sarathi-Serve,其灵感来自于我们最初在Sarathi中提出的优化吞吐量的技术。 Sarathi-Serve利用Sarathi中的分块预填充,创建无停顿的调度表,可以在不暂停正在进行的解码的情况下批量添加新请求。无停顿调度可以在最小化批处理对延迟的影响的同时,通过大批量大小提高吞吐量。我们的评估表明,Sarathi-Serve在单个A100 GPU上可将Mistral-7B的服务吞吐量提高高达2.6倍,在8个A100 GPU上可将Falcon-180B的服务吞吐量提高高达6.9倍,超过了Orca和vLLM。
  • 图表
  • 解决问题
    论文旨在解决LLM推理中高吞吐量和低延迟之间的平衡问题,提出了一种有效的推理调度器Sarathi-Serve。
  • 关键思路
    Sarathi-Serve利用Sarathi的分块预填充技术,创建了无阻塞调度,可以在不暂停正在进行的解码的情况下批量添加新请求,从而实现高吞吐量和低延迟的平衡。
  • 其它亮点
    论文通过实验验证了Sarathi-Serve在单个A100 GPU上可以将Mistral-7B的服务吞吐量提高2.6倍,在8个A100 GPU上可以将Falcon-180B的服务吞吐量提高6.9倍,而且不会影响延迟。此外,论文还提供了代码和数据集。
  • 相关研究
    与该论文相关的研究包括Orca和vLLM。
许愿开讲
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论