卷积神经网络的分布式训练(二)分布式训练相关理论

卷积神经网络的分布式训练(二)分布式训练相关理论

该专题是我本科毕设的各个知识点介绍和分析,以及一些实验结果展示。本科毕业了,研究生开学,又进入了一个新的学习阶段,那么趁着有时间就总结一下这个课题,分享给大家~
如果你觉得对你有帮助,给我点赞吧!小女子能力有限,也欢迎大家批评指正。

一、分布式类型

单机多卡分布式

单机多卡分布式是指在同一个机器上实现的分布式,一台机器上可以拥有多张GPU,每一张GPU卡可以看作一个进程,不用涉及到不同机器之间的通信问题,一般可以用机器上的共享内存来通信。

多机多卡分布式

将数据或者模型分布在多台机器上,这就是所谓的多机分布式,多机多卡分布式可以包括很多台机器,每台机器上又可以有多张GPU。一般来说,这些机器通过互连网络或者分布式共享文件系统通信,但是互连网络最重要的指标是延迟、带宽和消息速率。
在这里插入图片描述

图1 单机多卡和多机多卡分布式结构图[1]

二、训练方式

数据并行

数据并行是指将建立好的神经网络复制到每台机器上,每台机器上有相同的模型,但是每台机器使用不同的数据进行模型的训练。
在这里插入图片描述

图2 数据并行示意图[2]

模型并行

模型并行,这种方式是指将一个神经网络模型从逻辑上划分为几个部分,然后分布在不同的机器上,但是每台机器上使用同一批数据训练。
在这里插入图片描述

图3 数据并行示意图[2]

三、参数同步机制

在数据并行方式当中,会涉及到不同机器的参数进行同步的问题。目前使用比较多的是基于参数服务器架构的同步方法和基于Ring-Allreduce架构的同步方法。
Ring-Allreduce是一种同步通信方式,其算法原理是:所有的机器被组织成一个逻辑环,每个机器只从左邻居接受数据并发送数据给右邻居,即每次同步每个机器只获得部分参数来进行更新,当一个完整的环完成时,每个机器都获得了完整的参数。
在这里插入图片描述

图4 Ring-Allreduce架构示意图[3]

参考资料

[1] https://jinzequn.github.io/2017/12/05/tensorflow-distribute/
[2] 李明. 基于Spark的分布式深度学习系统的研究与实现 [D]; 电子科技大学, 2019.
[3] 何马均. 深度学习框架TensorFlow的高效分布式并行算法研究 [D]; 电子科技大学, 2019.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值