🚦

连续批处理(Continuous Batching)

Continuous Batching
基础设施
推理服务吞吐优化调度

要解决的问题:大模型推理是一条请求一条请求地「一次生成一个 token」的循环。传统静态批处理要等同一批里最长的请求全部生成完才能收下一批,短请求早已结束却仍占着显存和算力,硬件大量时间在空转。

做法

连续批处理(也叫动态批处理、iteration-level scheduling)把调度粒度从「整批」降到「每一步」——每个解码迭代结束后都检查:已完成的序列立即退出并释放资源,等待队列里的新请求立刻补进来。这样批的大小随负载动态变化,硬件利用率被填满。

收益与代价

Anyscale 的实测分析报告,在模拟生产负载下该优化可带来最高 23 倍的吞吐提升,同时降低 p50 延迟。代价是调度器与显存管理更复杂:序列长短不一、KV 缓存频繁申请释放,容易产生显存碎片,因此连续批处理通常要与 PagedAttention 这类分页式 KV 缓存管理配合(vLLM 论文指出 KV 缓存碎片会直接限制可并发的批大小)。

适用边界

它优化的是「单位时间能服务多少请求」和排队延迟,不保证单条请求的生成速度变快;离线批处理场景收益有限。

🔗 探索更多 AI 工具板块

除了本板块,AI工具宝箱还有这些独家内容板块,帮你从不同角度发现好工具。

☆ 0