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