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的传输开销可以通过高带宽网络有效最小化,甚至低于单个解码步数的时间,从而不显著影响整体性能。
🏷️