Chunked Prefill
了解分块预填充如何将长提示拆分为令牌块,从而改善 LLM 推理延迟和吞吐量,并在并发工作负载下实现更流畅的服务。
分块预填充是一种推理调度技术,它将较长的输入提示词划分为较小的 令牌 组,而不是一次不间断地处理整个提示词。推理引擎可以将这些分块与其他请求的令牌生成交错执行,从而避免单个长提示词独占 GPU。这样通常可以在并发工作负载下实现更平滑的延迟、更高的硬件利用率,并为交互式大语言模型应用提供更可预测的服务。
分块预填充的工作原理#
自回归 Transformer 推理包含两个主要阶段:
- **预填充:**模型处理所有输入令牌,计算其注意力状态,并填充 KV 缓存。预填充会并行评估大量令牌,通常受计算能力限制。
- **解码:**模型在读取之前缓存的状态的同时,每次生成一个输出令牌。解码通常受内存带宽限制,而不是原始计算能力限制。
如果不进行分块,一个包含 20,000 个令牌的请求占用推理步骤的时间可能远远超过短请求。这样一来,即使活动请求自身的提示词很短,正在进行的生成也可能出现停顿,从而增加令牌间延迟。
采用分块预填充后,调度器会为每次迭代分配令牌预算。它首先调度活动的解码操作,然后将剩余预算用于一个或多个提示词分块。如果某个提示词无法完全放入,剩余令牌会等待下一次迭代。当前的 vLLM 优化指南 将这种方法描述为一种将计算密集型预填充工作与内存密集型解码相结合的方式。
分块改变的是提示词令牌的处理时机,而不是它们的顺序或含义。每个完成的分块都会扩展请求已缓存的注意力状态,直到整个提示词准备就绪并可以开始解码。
分块预填充为何重要#
分块预填充解决了生产环境模型服务中的多个性能目标之间的权衡:
- **令牌间延迟:**优先处理现有的解码请求,有助于让流式响应持续进行而不会长时间停顿。
- **首个令牌时间:**较大的分块可以更快完成新提示词的处理,而过小的分块可能会延迟其首个生成令牌。
- **吞吐量:**结合预填充和解码工作,可以更有效地利用 GPU 计算能力和内存带宽。
- **公平性:**长提示词不太可能阻塞大量短的交互式请求。
因此,分块大小或令牌预算设置是一种权衡。vLLM 调度器配置提供了对批处理令牌上限、部分预填充以及长提示词阈值的控制。较小的预算通常有利于响应更快的解码,而较大的预算则有利于更快地输入提示词。
分块并不能消除所有瓶颈。长上下文仍会消耗缓存内存,而过于激进的请求接纳可能导致缓存压力、请求抢占或重复工作。运维人员应在符合实际的提示词分布下,测量中位数和尾部推理延迟、首个令牌时间、令牌间延迟、吞吐量以及 GPU 内存使用量。
相关推理概念#
分块预填充与多项优化密切相关,但其用途各不相同:
- **连续批处理:**在生成过程中动态添加和移除请求。分块预填充通过使长提示词处理可以在令牌级边界进行调度,为连续批处理提供补充。
- **提示词缓存:**重用重复提示词前缀之前计算出的状态。分块预填充负责调度新的计算,并不会跳过这些计算。
- **分页 KV 缓存管理:**将缓存的注意力状态组织到内存块中。NVIDIA 的 TensorRT-LLM 概览介绍了分页缓存和在途批处理,以及提示词处理优化。
- **动态批处理:**将独立请求组合成批次,具体说明见 NVIDIA Triton 动态批处理指南。它不一定会将单个长提示词划分为部分预填充。
- **预填充与解码解耦:**在独立的工作器上运行这两个阶段。NVIDIA 的预填充与解码部署指南展示了如何改为独立扩展这些阶段。
尽管 Ultralytics YOLO26 Triton 部署工作流支持可扩展的计算机视觉推理和自动批处理,但标准 YOLO 目标检测没有自回归文本预填充阶段。分块预填充主要适用于生成式语言模型和多模态模型。
实际应用#
-
**文档助手:**检索增强助手可能会在同时为用户提供简短问题答案时接收一份长报告。对报告进行预填充分块,可以让正在进行的对话继续解码,而不必冻结到整个上下文处理完毕。
-
多模态视频分析:视觉语言模型可能会接收图像特征、目标描述和一条较长的文本指令。视觉管线可以先使用 Ultralytics YOLO 预测生成检测结果,然后将结构化视觉上下文发送给生成式模型。分块预填充有助于将由此产生的视觉令牌和文本令牌与其他请求一起进行调度。NVIDIA 的多模态编码-预填充-解码工作流说明了为什么独立管理这些阶段可以提高可扩展性。
实用部署指南#
仅通过正式支持目标架构的服务引擎启用分块预填充。例如,TensorRT-LLM 后端配置记录了受支持部署的分块上下文控制项。
应使用符合实际的并发量、输入长度和输出长度进行基准测试,而不要依赖单个请求。以运行时推荐的令牌预算为起点,然后在观察首个令牌时间和令牌间延迟的同时进行调整。最后,测试同时包含超长和超短提示词的混合工作负载;分块预填充最明显的运营价值正体现在这种场景中。









