一句话定义:流水线气泡(Pipeline Bubble)是流水线并行(Pipeline Parallelism)训练中,因为前后阶段必须按顺序传递数据,部分 GPU 暂时无事可做、只能空等的时间。
原理:把大模型按层切成若干段,放到不同 GPU 上,像工厂流水线。第一批数据进入第一段时,第二段还没料,只能等;等数据一路传到后段,前段又可能在等下一批。训练刚开始有“灌水”过程,训练结束有“排空”过程,这两头最容易出现气泡。如果各段计算量不均衡,快段等慢段,也会产生气泡。
在同步流水线里,气泡占比通常随流水段数增加而变大,随微批(micro-batch)数量增加而变小。微批越多,越能把流水线填满,但显存和通信开销也会上升;具体调度方式不同,比例会变,以所用框架的官方文档为准。
和相邻概念的区别:
| 概念 | 切分方式 | 主要代价 |
|---|---|---|
| 数据并行(Data Parallelism) | 每张卡放完整模型,分数据 | 梯度同步 |
| 张量并行(Tensor Parallelism) | 切单层矩阵 | 高频通信 |
| 流水线并行(Pipeline Parallelism) | 按层切段 | 气泡与阶段等待 |
气泡不是通信本身,而是“等上游数据、等下游腾位置”造成的空窗。
实际意义:对从业者,别只看卡数。增加流水段会拉长灌水和排空,段数越多、单段越短,气泡占比可能越难看;要配合足够微批、均衡切分和合适调度。对普通人,可以理解成流水线开机预热和收尾不算产出,但机器、电力和机位照常占用。空转的 GPU 越多,浪费越贵——卡越多,气泡越贵。
