3D并行

如果想将模型训练扩展到大的批次,则很快就会达到在单个 GPU 上可以做的极限。具体来说,会发生 RuntimeError: CUDA out of memory梯度累计Activation checkpointingCPU offloading 都可以一定程度上减少显存的占用,为了_有效地_扩展到更大的模型大小和不断增长的数据集,同时仍然在合理的时间内训练模型,我们需要将计算分布在一组机器上。

3 D 并行即:数据并行、张量并行、流水线并行 后两者可以统一划分到模型并行,区别是一个是层内并行,一个是层间并行。

数据并行

模型并行

流水线并行

张量并行

参考