Pipeline Parallelism, PP,是把模型层切分到不同 GPU 或 GPU 组上,让不同设备负责不同层段。它解决的是模型深度和总参数量太大,单个 GPU 或单个 tensor-parallel group 无法容纳完整模型的问题。

Tensor Parallel 切分单层内部矩阵不同,pipeline parallel 切分的是层序列;与 Data Parallel 不同,每个 pipeline stage 只保存模型的一部分层。

Layer Partition

设模型有 层,pipeline parallel size 为 。最简单做法是每个 stage 放约 层:

Stage 0: layers 0 ... k
Stage 1: layers k+1 ... m
Stage 2: layers m+1 ... n
...

forward 时 activation 从前一 stage 传到后一 stage;backward 时 gradient 从后一 stage 传回前一 stage。

如果层计算量不均匀,需要手动或自动 balance。embedding、LM head、MoE layers、长上下文 attention 都可能造成 stage 不均衡。

Micro-batch 与 Pipeline Bubble

如果整个 batch 一次性通过 pipeline,后面的 stage 会在开始时空闲,前面的 stage 会在结束时空闲。这些空闲称为 pipeline bubble。

为提高利用率,通常把 global batch 切成多个 micro-batches,让不同 micro-batch 同时处在不同 stage:

time →
Stage 0: mb1 F  mb2 F  mb3 F  ...
Stage 1:        mb1 F  mb2 F  ...
Stage 2:               mb1 F  ...

micro-batch 数越多,bubble 占比通常越低,但 activation buffering、调度复杂度和优化约束增加。

GPipe 与 1F1B

常见调度策略:

  • GPipe-style:先完成所有 micro-batch forward,再做 backward。实现直观,但需要保存较多 activation。
  • 1F1B:warmup 后每个 stage 交替做 one forward / one backward,减少 activation peak。
  • Interleaved 1F1B:把每个设备上的层再切成 virtual pipeline stages,提高负载均衡并减少 bubble。

1F1B 是大模型训练中常见策略,因为它在显存和吞吐之间更平衡。

通信

PP 的通信主要是相邻 stage 之间传 activation 和 activation gradient。通信量与 micro-batch size、sequence length、hidden size 相关:

相比 TP 的层内高频 collective,PP 通信更局部,但会引入 pipeline latency 和调度复杂度。

与 Gradient Accumulation

Pipeline training 通常需要 gradient accumulation。多个 micro-batches 通过 pipeline 后,累积梯度,再做一次 optimizer step。

global batch size 仍然满足:

其中 是每个 micro-batch 的 token 或 sample 数。PP 配置会影响可用 micro-batch 数,从而影响 global batch 和优化 recipe。

适用场景

PP 适合:

  • 模型层数多或总参数量很大;
  • TP 后仍无法放下完整模型;
  • 大规模预训练;
  • GPU 数足够多,可以组合 TP/PP/DP;
  • 愿意接受更复杂的调度和 checkpoint。

对中小模型或后训练,FSDP/ZeRO 往往更简单;PP 的复杂度不一定值得。

常见失败模式

  • pipeline bubble 大:micro-batch 太少,GPU 利用率低。
  • stage imbalance:某些 stage 计算更慢,拖累整体吞吐。
  • activation memory 高:调度不当保存过多 micro-batch activation。
  • 跨节点 stage 通信慢:相邻 stage 放在低带宽链路上。
  • debug 困难:错误可能只在特定 stage 或 micro-batch 出现。
  • checkpoint 复杂:模型按 stage 分片保存和恢复。

相关概念