知了AI学习平台Logo知了
算法动画 · 神经网络

流水线并行动画

展示流水线并行如何通过微批次交错执行减少模型并行的空闲气泡,提高 GPU 利用率。

Pipeline Parallelism

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
未激活·当前高亮(8 个元素)
1

模型按层切分到 4 个 GPU 上,每个 GPU 负责连续的几层(Stage 1-4)。

第 1 步 / 共 714%
🧠AI 冷知识

你知道吗?

这些有趣的 AI 小知识可能让你大吃一惊

💡
流水线上的气泡

流水线并行把模型按层切成多个阶段(stage),每个阶段放在不同GPU上,用"微批次"(micro-batch)填充流水线。它的核心挑战是"气泡"(bubble)——流水线填充和排空时GPU空闲的时间。GPipe的方案是把一个大batch切成M个微批次,让流水线尽可能充满;气泡比例约为(P-1)/M,P为阶段数。PipeDream则采用"1F1B"调度(一个前向一个反向交替),进一步减少气泡和显存占用。当微批次数远大于阶段数时,气泡几乎可以忽略。

来源:Huang et al., "GPipe: Efficient Training of Giant Neural Networks", 2019

一句话总结
💡

流水线并行将模型按层分段到不同设备,通过微批次流水线执行重叠计算与通信提升利用率。

常见误区

这些坑别踩

✗

误区 1

流水线并行各设备同时算同一 batch。

✓

正确理解

它用微批次让不同设备同时处理不同微批次,形成流水。

✗

误区 2

流水线并行没有 bubble。

✓

正确理解

简单流水线存在填充和排空 bubble,需 GPipe/1F1B 等调度减少空闲。

✗

误区 3

流水线并行能完全消除通信开销。

✓

正确理解

段间需传输激活,通信开销依然存在,只是通过重叠隐藏。