LLM Serving有效吞吐量的最大化实现

💡 原文中文,约6600字,阅读约需16分钟。
📝

内容提要

本文介绍了一种优化低延迟语言模型(LLM)serving性能的方法,通过引入预填充-解码解耦的方法,构建了一个系统原型DistServe,显著提高了吞吐量并满足时延约束。DistServe正在集成到vLLM中。

Q&A

什么是有效吞吐量,它与吞吐量有什么区别?

有效吞吐量是指在满足服务等级目标(SLO)的情况下,每秒完成的请求数量,而吞吐量是每秒处理的完成请求数量。有效吞吐量更能反映用户体验和成本效益。

DistServe系统是如何优化LLM serving性能的?

DistServe通过预填充-解码解耦的方法,将预填充和解码分离到不同的GPU中,从而优化了有效吞吐量,显著提高了吞吐量并满足了严格的时延约束。

为什么现有的LLM serving系统无法实现高有效吞吐量?

现有系统将预填充和解码合并处理,导致资源争用和时延增加,无法有效满足不同的时延要求,从而影响有效吞吐量。

预填充-解码解耦的优势是什么?

预填充-解码解耦可以消除预填充和解码之间的干扰,使得每个阶段都能独立优化,从而提高整体性能和有效吞吐量。

DistServe在不同工作负载上的表现如何?

DistServe在聊天机器人和代码补全等工作负载上表现优异,其吞吐量比现有系统vLLM高出2.0倍至4.48倍,且在严格的SLO下表现更佳。

KV Cache的传输开销如何影响LLM serving?

KV Cache的传输开销可以通过高带宽网络有效最小化,甚至低于单个解码步数的时间,从而不显著影响整体性能。

🏷️

标签

➡️

继续阅读