跳到主要内容

流水线并行(Pipeline Parallelism)

要解决的问题

极深模型(数百层)即使用 TP 仍可能单卡层数过多。流水线并行(Pipeline Parallelism, PP)按层划分为 SS 个 stage,每 stage 驻留不同 GPU,微批次像流水线一样穿过各 stage,提高设备利用率。

核心概念

SS 个 stage,每 stage 含连续层子集。朴素 PP 存在 bubble(流水线启动/排空时空闲)。

调度bubble 比例(近似)复杂度
GPipe(填充微批)S1M+S1\frac{S-1}{M+S-1}MM 个微批
1F1B更低前向反向交错
Interleaved更低每卡多 virtual stage

有效吞吐量:

TFMM+S1\text{TF} \propto \frac{M}{M + S - 1}

MM 为 micro-batch 数量,增大 MM 可减 bubble 但增激活显存(需 重计算)。

方法/算法

1F1B 概要:

  • 先预热:连续 S1S-1 个前向;
  • 稳态:每步一个前向 + 一个反向,保持流水线满;
  • 冷却:排空剩余反向。

激活检查点:每 stage 只存边界激活,中间层重算,换显存。

工程实践

  • 划分:均匀按层数或按 FLOPs/显存 均衡(embedding 与 lm_head 常放首尾 stage)。
  • 框架:Megatron PP、DeepSpeed PP、Alpa(研究)。
  • 与 TP:单 stage 内再做 TP(3D 并行)。
  • 故障:某 stage OOM 需重划 layer map;PP 调试难度高于纯 DP。

代表工作

局限与注意点

  • bubble 不可避免SS 很大时需很多 micro-batch,延迟敏感训练不友好。
  • 负载不均:MoE 专家负载可能拖慢某一 stage。
  • 梯度累积:与 PP 调度交互复杂,配置错误易 deadlock。
  • 推理:PP 较少用于低延迟在线推理;训练为主。

延伸说明

增大 MM 减 bubble 但增激活;配合 checkpoint。

实践检查清单

  • 1F1B
  • bubble
  • stage

小结

本节核心:1F1B 与全链路 bubble 协同;上线前用检查清单做回归。

Interleaved PP 可进一步压 bubble,适合每卡多 virtual stage 的超大模型。

相关章节