深入分析LLM推理中计算资源分配、批处理策略与延迟吞吐量的关系,提供工程化落地的量化参考框架。
在 AI 行业,我们从经济学家那里借用了「效率前沿」(efficient frontier)这个术语。我们用它来讨论权衡取舍,最常见的是模型在成本与能力之间的权衡。如果一个模型在给定的成本或参数量下提供了最高的智能水平,它就是一个「前沿模型」(frontier model)。
在推理工程领域,我们同样存在效率前沿。最常见的表达方式是延迟与吞吐量之间的权衡(吞吐量决定成本),当然我们也可以用质量换吞吐量(通过量化、蒸馏和剪枝),或者用智能换速度(以推理强度的形式)。
推理工程师可以使用两类技术:
让你在效率前沿上找到平衡点的技术。
让你在效率前沿上找到平衡点的技术。
让给定部署的整个前沿向外扩展的技术。
让给定部署的整个前沿向外扩展的技术。
这两类技术都有价值。
能够在效率前沿上定位任意点是有意义的。放弃每个用户的速度,就有可能为批处理工作负载构建高吞吐量、低成本的管道。牺牲吞吐量来提升速度,在延迟敏感型用户有较高付费意愿时是合理的。
当然,将整个前沿向外扩展是极其有用的。释放更多效率可以带来收益,这些收益可以分配给更低的延迟、更高的吞吐量,或者两者的组合。
本文详细介绍了哪些推理工程技术让你能够在前沿上找到平衡点,哪些技术将整个前沿向外扩展。在本文中,我们假设运行的是一个用于 Agent 编程的 LLM(如 GLM-5.3 或 Kimi K3),启用了 KV 缓存复用和最优 KV 感知路由。
在生产环境中达到某个目标,往往不是要发现什么新奇的方法,而是根据流量特性找到正确的配置组合。
在实践中,效率前沿是非常锯齿状的。它不是一个平滑、连续的结果曲线,微小的变化可能产生巨大的影响。这些临界点往往反直觉,必须通过系统性搜索来经验性地发现。
延迟与吞吐量之间最明显的权衡来自批大小(batch size)。批是并发处理的请求数量。虽然 token 级连续批处理意味着不需要等待批次启动而带来延迟,但配置的批次大小决定了每个用户的延迟和总体吞吐量。
小批次下,每个用户的延迟非常好,但每个 GPU 生成的总 token 数很少。这意味着每个 token 的成本相当高。增大批次大小的效果相反:每个用户的延迟变差,但总体吞吐量更好,成本更低。
如今的 LLM 参数量达到数千亿甚至万亿级别,必须分散到多个 GPU 上。它们在 GPU 之间共享或并行化的方式可以提升延迟或吞吐量。
对于延迟敏感型部署,重点是增加 Tensor Parallelism(TP)。虽然 TP 有昂贵的 all-to-all 通信,但它是降低延迟的有效手段,因为这些操作在高速带宽的 NVLink 互连上很快。
Expert Parallelism(EP)可以帮助改善延迟和吞吐量。较低的 EP 度通常与更好的延迟相关,而广泛的 EP(包括跨整个机架 GPU 的 EP)通常支持更高的吞吐量。
另一种提升吞吐量的并行化技术是 Attention Data Parallelism(ADP)。这项技术复制注意力层进行并行计算,以牺牲每个请求的速度为代价提升系统吞吐量。
量化,即以更低的精度运行模型(权重、激活值和/或 KV 缓存值),同时改善延迟和吞吐量。量化模型会推导出服务权衡的效率前沿。
然而,量化引入了质量与服务效率之间权衡的新问题。这是一条特别锯齿状的前沿,在模型质量几乎不下降的情况下,服务效率可以获得很大的提升,特别是使用像 MXFP4 和 NVFP4 这样的微缩浮点数格式时。
这些技术才是上头条的技术。提升整体性能是推理工程中最有趣的部分。
最棒的是这些技术往往是复合生效的。例如,更好的硬件带来翻倍性能,同时更好的软件也带来翻倍性能,就意味着整体服务能力提升四倍,这些收益可以分配到延迟和吞吐量上。
CUDA kernel 是执行推理过程中单个步骤的低级函数,比如矩阵乘法。提升单个 kernel 的性能,以及推理引擎中前向传播的端到端性能,意味着生成每个 token 所需的资源更少。这些效率提升在整个技术栈中复合,推动性能前沿向外扩展。
更多关于 kernel 级性能的内容,请阅读 Baseten 实习生 Brian Li 的这篇优秀文章。
投机解码是猜测模型可能生成哪些 token,然后验证这些猜测的过程。当投机解码刚出现时,这在延迟和吞吐量之间构成了权衡:投机开销大,序列长度短,接受率低,意味着投机解码只在小批次下才可行。
如今,像 EAGLE-3、DSpark 和 DFlash 这样的技术仍然与主模型循环竞争资源,在一定程度上限制了最大批次大小。然而,多亏了这些技术的强劲表现,特别是在输出 token 序列相对可预测的代码生成任务上,它们不仅从每用户每秒更多 token 的形式降低了延迟,还从跳过的前向传播中获得了效率提升。
P/D 解聚,即把 prefill 和 decode 分离到专用 worker,是优化大规模 LLM 部署的策略。独立运行 prefill 和 decode 意味着 worker 可以针对推理每个阶段的独特特征进行优化,而且可以根据入站流量的输入输出序列长度和缓存命中率来调整 prefill 与 decode worker 的比例。
本文提供了管理权衡与技术提升系统性能这两类技术的概览。关于本文提及的每项技术的更多细节,请阅读我的免费书籍《Inference Engineering》。
获取模型性能、推理基础设施等方面的最新资讯。