当前位置:   article > 正文

【分布式】Pytorch分布式训练原理和实战_pytorch采用horovod分布式

pytorch采用horovod分布式

并行方法:

1. 模型并行

把复杂的神经网络进行拆分,分布在GPU里面进行训练,让每个GPU同步进行计算。这个方法通常用在模型比较复杂的情况下,但效率会有折扣。从网络的角度来说就是把网络结构拆了,其实从计算的过程来说就是把矩阵做了分块处理。
在这里插入图片描述

2. 数据并行

即让每个机器里都有一个完整模型,然后把数据切分成n块,把n块分发给每个计算单元,每个计算单元独自计算出自己的梯度。同时每个计算单元的梯度会进行平均、同步,同步后的梯度可以在每个节点独立去让它修正模型,整个过程结束后每个节点会得到同样的模型。这个方法可以让能够处理的数据量增加,变成了原来的n倍。

在这里插入图片描述

3. 两者之间的联系

在这里插入图片描述

有的时候数据并行和模型并行会被同时用上。比如深度的卷积神经网络中卷积层计算量大,但所需参数系数 W 少,而FC层计算量小,所需参数系数 W 多。因此对于卷积层适合使用数据并行,对于全连接层适合使用模型并行。

比如这篇论文&#x

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/1011831
推荐阅读
相关标签
  

闽ICP备14008679号