@CyrusHakha:我们在大规模服务LLM的客户中反复看到一种模式:预填充-解码分离常被当作一根魔杖……
摘要
基于客户模式,讨论大规模LLM服务中预填充-解码分离的微妙现实,并在AMD + vLLM上进行了验证。
查看缓存全文
缓存时间: 2026/06/15 23:08
我们在与大规模部署LLM的客户中反复见到一个模式:
Prefill-decode分离(PD)常被当作一根魔法棒。但现实要更复杂。
因此,我们整理了PD何时有效、何时无效的核心洞见,并在AMD + vLLM上验证了它们——而PD路径在这条线上远未被充分探索。
2/ 本文中,我们在AMD MI325X上使用Ray Serve + vLLM对PD进行了基准测试。 在Qwen3-235B和DeepSeek-V3负载下,PD实现了最高2.7倍的良好吞吐量提升以及高达67%的计算成本降低。但仅适用于合适的场景:
3/ 第一个洞见:PD不会让预填更快。 PD在预填和解码工作节点之间增加了一个KV传输步骤。这意味着即使吞吐量提高,TTFT(首Token延迟)也可能变差。对于严格的TTFT SLA要求,聚合推理通常更简单且更好。
4/ 第二个洞见:PD的真正优势在于TPOT(每输出Token延迟)。 在聚合推理中,预填和解码共享相同的GPU。随着负载增加,预填工作会中断解码,导致TPOT劣化。使用PD后,解码运行在专用GPU上,因此TPOT在负载下保持更平稳。
5/ 第三个洞见:TPOT的节省随生成长度累积。每Token 5–10毫秒的改进看似微小。但经过数百或数千个输出token,它会变成有意义的端到端延迟和吞吐量增益。这对于推理、Agent和长文本生成至关重要。
6/ 第四个洞见:P:D比例取决于工作负载。 改变ISL(输入序列长度)/OSL(输出序列长度)、缓存命中率或目标QPS可能会改变最优划分。比例不当会使PD严格劣于聚合推理。从1:1开始,然后将GPU向瓶颈方向移动。如果能在运行时根据工作负载特征动态调整这些比例,效果更佳。
7/ 要点总结:
PD并非万能制胜法。它仅在以下情况有益:工作负载对TPOT/端到端敏感,且生成足够长使得每token的节省能够累积。当TTFT占主导、输出短或P:D比例错误时,PD可能失效。
包含直觉阐述、基准测试和可复现的AMD + Ray + vLLM配置的完整文章:
相似文章
@robertnishihara: 关于PD分离的一些直觉——PD不会加速预填充,实际上可能损害TTFT——PD的真正…
这篇来自Anyscale的博客文章解释了LLM服务中Prefill-Decode(PD)分离的直觉,展示了如何将预填充和解码阶段分配到专用GPU上,在使用Ray和vLLM的AMD MI325X上实现高达2.7倍的有效吞吐量提升和67%的成本节省,同时也讨论了PD分离何时没有帮助。
@kazukifujii: 樱花互联网的Michishita-san的文章全面总结了LLM推理,强烈推荐。它涵…
本文总结了Junda Chen关于LLM分解推理的演讲,解释了为什么goodput(满足延迟SLO的吞吐量)比原始吞吐量更重要,以及分离预填充和解码阶段如何提升性能。文章还强调了其对NVIDIA Dynamo的影响。
@AndrewYNg:全新课程:高效部署 LLM——如何以低延迟、合理成本为大量并发用户提供模型服务…
Andrew Ng 与 DeepLearning.AI 联合 Red Hat 推出了一门关于使用 vLLM 进行高效 LLM 推理的短期课程,内容涵盖量化、PagedAttention、连续批处理以及大规模 LLM 服务的性能基准测试。
@TheAhmadOsman: LLM解码简化 来自X上即将发布的文章
Ahmad Osman预告了X上即将发布的一篇文章,该文章简化了LLM解码。
@amitiitbhu:新文章:vLLM 是如何工作的?请在此阅读:https://outcomeschool.com/blog/how-does-vllm-work…
一篇详细的博客文章,解释了 vLLM 的工作原理,包括 PagedAttention、KV 缓存管理和连续批处理,以实现高效的 LLM 服务。