DistServe: Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving

2024年01月18日
  • 简介
    DistServe通过分离预填充和解码计算来提高大型语言模型(LLMs)的性能。现有的LLM服务系统将这两个阶段放置在一起,并对所有用户和请求的预填充和解码计算进行批处理。我们发现,这种策略不仅会导致强烈的预填充-解码干扰,而且还会将两个阶段的资源分配和并行计划耦合在一起。LLM应用程序通常强调每个阶段的单个延迟:预填充阶段的首个标记时间(TTFT)和解码阶段每个请求的每个输出标记时间(TPOT)。在存在严格的延迟要求时,现有系统必须优先考虑一个延迟,或过度分配计算资源以满足两个延迟。 DistServe将预填充和解码计算分配给不同的GPU,从而消除了预填充-解码干扰。根据应用程序的TTFT和TPOT要求,DistServe针对每个阶段定制资源分配和并行策略。DistServe还根据服务集群的带宽将这两个阶段放置在一起,以最小化分离引起的通信。因此,DistServe在每个GPU的TTFT和TPOT约束下显着提高了LLM服务性能。我们的评估结果表明,在各种流行的LLM、应用程序和延迟要求上,DistServe可以比现有技术系统服务4.48倍的请求或更严格的10.2倍SLO,同时在> 90%的请求中保持延迟约束。
  • 图表
  • 解决问题
    DistServe试图解决大型语言模型(LLM)服务中的性能问题,其中预填和解码计算被分离。现有系统将两个阶段组合在一起,并跨所有用户和请求批处理预填和解码计算。这种策略不仅导致强烈的预填解码干扰,而且将两个阶段的资源分配和并行计划耦合在一起。
  • 关键思路
    DistServe将预填和解码计算分配给不同的GPU,从而消除预填解码干扰。根据应用程序的TTFT和TPOT要求,DistServe针对每个阶段定制资源分配和并行策略。DistServe还根据服务集群的带宽来放置两个阶段,以最小化由分解引起的通信。
  • 其它亮点
    DistServe显着提高了LLM服务性能,可以在每个GPU的TTFT和TPOT约束条件下提供4.48倍的请求或10.2倍的更严格的SLO,同时对> 90%的请求保持在延迟限制内。
  • 相关研究
    与DistServe相关的研究包括:Megatron,TensorFlow Serving和Clipper。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论