- 一台机器可以安装多个GPU(1-16)
- 在训练和预测时,我们将一个小批量计算切分到多个GPU上来达到加速的目的
同样一个小批量,让用多个GPU同时运行来一起完成这个计算梯度的过程 - 常用的切分方案有
-
- 数据并行
-
- 模型并行
-
- 通道并行(数据+模型并行)
数据并行 VS 模型并行
- 数据并行:将小批量分成 n n n块,每个GPU拿到完整参数来计算一块数据的梯度(最后将所有GPU上的梯度加起来,就能得到完整梯度)
-
- 通常性能很好
- 模型并行:将模型分成 n n n块,每个GPU拿到一块模型计算它的前向和反向结果
-
- 通常用于模型大到单GPU放不下
数据并行
总结
- 当一个模型能用单卡计算时,通常使用数据并行拓展到多卡上
- 模型并行则用在超大模型上