跳转至

Pipeline Parallel 推理

推理流水线并行把模型层分布到多个 stage,降低单卡权重占用。与训练流水线不同,推理没有反向传播,但逐 token 生成时 stage 间的串行依赖会引入额外延迟。

推理流水线并行源自训练的 layer 切分思想,但在推理引擎(如 vLLM)中服务于「模型单卡放不下」的场景:把层分布到多卡,让请求依次经过各 stage。与训练的区别在于,训练流水线的气泡主要来自「前向完成后才能反向」的启动与收尾,推理没有反向,因此不存在这一部分气泡;推理的瓶颈转为「逐 token 生成时请求必须串行跨越所有 stage」带来的固定延迟,以及不同请求在各 stage 间调度不均造成的空闲。

快速开始

均衡 stage,测量跨 stage 延迟和并发下的气泡。建议步骤:

  1. 按计算量把层均衡分到各 stage,避免某 stage 成为瓶颈。
  2. 测量单个请求跨越所有 stage 的端到端延迟,以及 stage 间传输激活的耗时。
  3. 在不同并发下压测,观察各 stage 的利用率与空闲气泡。
  4. 记录首 token 时延 (Time To First Token, TTFT) 和逐 token 时延 (Time Per Output Token, TPOT) 两个指标,分别评估输入处理和生成速度。

验证成功:模型能跨设备加载,各 stage 负载均衡,目标并发下延迟满足要求。

案例

一个长模型单卡放不下,分为两个 stage 后可以加载,但低并发下端到端延迟增加:单个请求必须串行经过两个 stage,且 stage 间有通信和调度开销。此时可通过请求批处理改善利用率,即多个请求同时进入流水线,让各 stage 同时处理不同请求,摊薄固定开销。

但批处理会增大 batch,可能抬高单个请求的 TPOT;应在吞吐和延迟之间按服务目标取舍。若某 stage 始终是瓶颈,应重新均衡层分配,而不是一味加大 batch。

相关主题