
连续批处理:vLLM 高吞吐推理的核心技术
静态批处理的瓶颈 传统 LLM 推理服务采用静态批处理:每个批次固定大小,所有请求必须等最长的那个请求完成后才能返回。 静态批处理示例(batch=4): Request A: [tok][tok][tok][tok][EOS] # 生成 5 个 token Request B: [tok][tok][tok][tok][tok][tok][EOS] # 生成 7 个 token Request C: [tok][tok][tok][EOS] # 生成 4 个 token Request D: [tok][tok][tok][tok][tok][tok][tok][tok][EOS] # 生成 9 个 token 批处理完成时间:等待 D 完成(9 个 token) 实际计算:A 只需要 5 步,但等了 9 步 GPU 利用率:≈ 25/36 = 69%(因为要等待最慢的请求) 问题: 首 token 延迟:新请求必须等当前批次完成才能进入 GPU 闲置:短请求完成后,GPU 资源被浪费 吞吐低下:无法动态调度,无法"边生成边接收" 连续批处理原理 连续批处理(Continuous Batching, Orca, 2023)的核心思想是:动态管理批次,随时加入新请求,随时移除已完成的请求。 ...