LuAITools.com
提交工具
🪜AI
Pipeline Parallelism

流水线并行

把模型按层切到不同设备,让多批数据像流水线一样层层传递,减少设备空闲,提升整体吞吐。

流水线并行是什么?

模型并行把模型按层切开,数据从前到后依次流过每一张卡。问题是:同一时刻,只有一张卡在忙,其他卡都在干等。流水线并行就是解决这个「空转」——它让多批数据像工厂流水线一样,一批接一批地灌进来,每张卡忙完一批立刻接手下一批,设备利用率大幅提升。

它怎么类比?

就像汽车装配线
车身在一号工位装底盘时,二号工位正在给上一辆装引擎,三号工位又在给更早一辆喷漆。每个工位都不闲着,整条线持续出货。
模型层就是「工位」
不同的层放在不同 GPU 上,数据(一批批样本)就是流水线上的「车」。

它解决了什么问题?

减少「气泡」
如果一次只喂一批数据,前面卡算的时候后面卡在等,算完又反过来等,出现大量空闲时间(叫「气泡 bubble」)。
让多批数据填满空隙
把数据切成很多小批(micro-batch),让它们首尾相接流过各卡,空闲被后面的批次填满,吞吐就上去了。

代价与权衡

显存占用变大
同一时间有多批数据在流水线上,每张卡要同时保存多批的中间状态,显存压力增加。
调度更复杂
要考虑切多少个 micro-batch、怎么排布才能既填满流水线又不撑爆显存。

它在大模型里的位置

流水线并行常和模型并行、数据并行一起用,是超大规模模型训练的「组合拳」之一。它让成百上千张 GPU 尽量保持忙碌,把训练速度再往上推一截。

一句话记住:流水线并行就是让模型像工厂流水线一样「不停工」,一批批数据首尾相接,把设备空闲填满。

评论