首页/AI/大模型部署与运维速查/流水并行:按层分段跨卡

流水并行:按层分段跨卡

把不同层段放到不同卡(或节点):通信量小于 TP,适合跨机扩展;代价是流水气泡,需要足够批次填充才能打满算力。

按层段切开模型

流水并行把模型的层段切到不同卡或不同节点上,卡间只在层段边界通信,通信量比张量并行小,适合跨机扩展。代价是流水气泡:各段要轮流工作,批次不够时算力就空转。实践里常见的组合是机内用张量并行、跨机用流水并行,各承担一个维度。

基本信息

适用平台Linux 单机多卡与多机部署
切分对象模型的层段
通信位置层段边界,频率低于张量并行
参数组合流水并行度乘张量并行度等于总卡数
主要代价流水气泡,低并发下利用率下降

组合启动(示意)

组合启动(示意)
vllm serve <模型路径> --pipeline-parallel-size 2 --tensor-parallel-size 4
# 总卡数 = 2 × 4 = 8,组合前先核对可用卡数与拓扑

典型使用场景

  • 跨机扩展:单机卡数不够时,用层段切分把模型摊到多台机器
  • 显存受限:权重与缓存都放不下时,按层段拆分降低单卡占用
  • 延迟优化:气泡大时改用更大批次或减少分段数
  • 容量评估:分段数增加后,单实例可承载的并发会变化
  • 故障域考虑:分段越多,参与的机器越多,恢复复杂度上升
  • 升级验证:并行配置变更后必须重跑基准,确认延迟与吞吐没有退化

与张量并行对照

维度张量并行流水并行
切分对象单层内部层段
通信频率每层每步层段边界
主要代价通信开销流水气泡
适配场景机内高速互联跨机扩展
单机内优先用张量并行吃高速互联;需要跨机扩展时再叠加流水并行承担节点维度。
气泡观察:低并发下对照不同分段数的设备利用率差异,气泡比例大时优先加并发或减少分段。
并行配置要与部署模板绑定:同一模型在单机与多机形态下的参数不同,混用会直接导致启动失败。

易错点

  • 低并发下开流水并行:气泡填不满,利用率下降、延迟变差,先看流量形态再定
  • 分段数与卡数不匹配:总卡数算错时启动失败,或只用上一部分卡
  • 忽略节点间带宽:跨机流水通信虽少,但节点间链路差时仍会拖慢整体
  • 同时改并行配置与批参数:效果分不清来自哪一项,回退也没有依据

数据来源与参考

  • vLLM 官方文档:并行与分布式(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌