LLM Serving有效吞吐量的最大化实现
💡
原文中文,约6600字,阅读约需16分钟。
📝
内容提要
本文介绍了一种优化低延迟语言模型(LLM)serving性能的方法,通过引入预填充-解码解耦的方法,构建了一个系统原型DistServe,显著提高了吞吐量并满足时延约束。DistServe正在集成到vLLM中。
🎯
关键要点
- LLM应用具有多样化的时延要求,聊天机器人和代码补全对时延的需求不同。
- 现有的LLM serving系统主要关注吞吐量,但忽略了有效吞吐量的重要性。
- 有效吞吐量是指在满足服务等级目标(SLO)的情况下,每秒完成的请求数量。
- 预填充-解码解耦方法通过将预填充和解码分离到不同的GPU中来优化有效吞吐量。
- DistServe是一个系统原型,能够显著提高吞吐量并满足严格的时延约束。
- 合并预填充和解码会导致资源争用和时延增加,影响有效吞吐量。
- 解耦后,预填充和解码可以独立优化,提升整体性能。
- KV Cache的传输开销可以通过高带宽网络有效最小化。
- DistServe在多个工作负载上表现出色,吞吐量和SLO均优于现有系统vLLM。
- 解耦策略正在被多个项目采用,成为LLM serving引擎的首选方案。
➡️