本文是LLM系列文章,针对《DistServe: Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving》的翻译。
摘要
DistServe 通过解聚预填充和解码计算来提高大型语言模型 (LLM) 服务的性能。现有的 LLM 服务系统将这两个阶段放在一起,并在所有用户和请求中批量处理预填充和解码的计算。我们发现,这种策略不仅会导致强大的预填充-解码干扰,而且还耦合了两个阶段的资源分配和并行计划。LLM 应用程序通常强调每个阶段的单独延迟:预填充阶段的首次token时间 (TTFT) 和解码阶段每个请求的每个输出token的时间 (TPOT)。在存在严格的延迟要求的情况下,现有系统必须优先考虑一种延迟而不是另一种延迟,或者过度预置计算资源以满足这两种延迟。DistServe 将预填充和解码计算分配给不同的 GPU,从而消除了预填充-解码干扰。鉴于应用程序的 TTFT 和 TPOT 要求,DistServe 共同优化了为每个阶段量身定制的资源分配和并行策略。DistServe 还根据服务集群的带宽对这两个阶段进行放置,以最大限度地减少解聚引起的通信。因此, DistServe 显著提高了 LLM 服务性能,即在每个 GPU 的 TTFT 和 TPOT 约束内可以提供的最大速率。我们的评估表明,在各种流行的 LLM、应用程序和延迟要求上,与最先进的系统相比,DistServe 可以多处理 7.4× 个请求或 12.6× 个更严格的 SLO,同时保持> 90% 的请求的延迟限制。