推理服务
连续批处理
也称为 continuous batching、in-flight batching、动态批处理
先用大白话
连续批处理让新请求在旧请求完成的瞬间就加入正在运行的批次,而不是等整个批次全部结束。
技术定义
连续批处理是一种在每个生成步都能接纳和退出请求的调度技术,当各序列在不同时刻完成时始终保持批次饱满。
工程细节
静态批处理先凑齐一组请求、一起运行、一起返回,因此一个批次要等最慢的成员结束。LLM 输出长度差异巨大,这种方式浪费大量算力。连续批处理在每次迭代重组批次:产出最后一个 token 的序列立即离开,排队中的请求在下一步顶上空位,加速器始终保持饱和。
为什么重要
这是现代 LLM 服务的奠基性优化之一,也是开源引擎取代朴素部署方式的重要原因。它在给定延迟下成倍提高吞吐量,并与分页式 KV cache 内存天然配合,使得槽位复用非常廉价。
如何在 InferenceX 中解读
InferenceX 测试的每个引擎,包括 vLLM、SGLang 和 TensorRT-LLM,都使用连续批处理。并发扫描测量的正是各调度器在批次填满过程中维持交互性的能力,引擎实现之间的差异在这里显形。
参考资料
在真实基准中理解这一概念
InferenceMAX:开源推理基准测试
NVIDIA GB200 NVL72、AMD MI355X、每 GPU 吞吐量 Token、延迟 Tok/s/user、性价比、每百万 Token 成本、每配置兆瓦 Token 数、DeepSeek R1 670B、GPTOSS 120B、Llama3 70B
SGLang 0.5.6 在 B200 DeepSeek R1 FP4 上的表现:低并发下最高提升 1.8 倍
针对 DeepSeek V3 的分段 CUDA graph、统一事件循环和 JIT 内核将 8k/1k 吞吐量从 508 提升至 907 tok/s/GPU,使用相同的 16 GPU B200 资源池