blog

Welcome to my blog!

分布式训练

ab's Avatar 2024-05-05 Tutorial

  1. 1. 1.分布式训练
  2. 2. 2.Data Parrallel(nn.DataParallel)

1.分布式训练

分类:

  • Data Parrallel:每个GPU上复制一份完整模型,但每个GPU上的训练数据不同
  • Pipeline Parrallel:模型按层拆开
  • Tensor Parrallel:每层的权重拆开
  • 3D并行:上面的合体

2.Data Parrallel(nn.DataParallel)

Data Parrallel:每个GPU上复制一份完整模型,但每个GPU上的训练数据不同;如果单卡无法运行完整流程则无法使用。

流程:

  • GPU0 载入model和batch数据
  • batch数据从GPU0分发到各卡
  • model从GPU0复制到各卡
  • 各卡同时前向传播
  • GPU0收集各卡的输出计算loss
  • loss分发至各卡反向传播计算梯度
  • GPU0收集各卡梯度,更新模型
本文最后更新于 天前,文中所描述的信息可能已发生改变