默认情况下,即使有多块 GPU 可用,深度学习模型通常也只使用单块 GPU 进行训练。
一种理想的做法(特别是在大数据环境中)是将训练工作负载分布在多块 GPU 上。
下图展示了多 GPU 训练的四种常见策略:
#1)模型并行Model Parallelism
● 模型的不同部分(或层)被分配到不同的GPU上。
● 对于无法装载到单个GPU上的大模型非常有用。
● 然而,模型并行性也会引入严重的性能瓶颈,因为它需要在GPU之间传输数据流,例如,一个GPU的激活值被传送到另一个GPU。
#2)张量并行Tensor Parallelism