【转载】 Ring Allreduce (深度神经网络的分布式计算范式 -------------- 环形全局规约)
作者:初七123
链接:https://www.jianshu.com/p/8c0e7edbefb9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
------------------------------------------------------------------------------------
(深度神经网络的分布式计算范式 -------------- 环形全局规约) (副标题 自起)
------------------------------------------------------------------------------------
The Communication Problem
需要发送的数据越多,发送时间就越长;每个通信通道都有一个最大的吞吐量(带宽)。例如,一个好的internet连接可以提供每秒15兆字节的带宽,而千兆以太网连接可以提供每秒125兆字节的带宽。HPC集群上的专用网络硬件(如Infiniband)可以在节点之间提供每秒数gb的带宽。
相反,我们可以通过使用高性能计算领域的分布式缩减算法并利用带宽优化环来解决通信问题。
The Ring Allreduce
环中的gpu都被安排在一个逻辑环中。每个GPU应该有一个左邻和一个右邻;它只会向它的右邻居发送数据,并从它的左邻居接收数据。

The Scatter-Reduce
首先,gpu将数组划分为N个更小的块(其中N是环中的gpu数)。
例如,在第一次迭代中,上图中的五个GPU将发送和接收以下区块:

在第一次发送和接收完成之后,每个GPU将拥有一个块,该块由两个不同GPU上相同块的和组成。例如,第二个GPU上的第一个块将是该块中来自第二个GPU和第一个GPU的值的和。
The Allgather
例如,在我们的5 - gpu设置的第一次迭代中,gpu将发送和接收以下块
第一次迭代完成后,每个GPU将拥有最终数组的两个块。
All-reduce Communication Cost

重要的是,这与GPU的数量无关。
Applying the Allreduce to Deep Learning
【转载】 Ring Allreduce (深度神经网络的分布式计算范式 -------------- 环形全局规约)的更多相关文章
- TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络
转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程地址 视频/字幕下载 全 ...
- TensorFlow实现与优化深度神经网络
TensorFlow实现与优化深度神经网络 转载请注明作者:梦里风林Github工程地址:https://github.com/ahangchen/GDLnotes欢迎star,有问题可以到Issue ...
- 如何用70行Java代码实现深度神经网络算法
http://www.tuicool.com/articles/MfYjQfV 如何用70行Java代码实现深度神经网络算法 时间 2016-02-18 10:46:17 ITeye 原文 htt ...
- 深度神经网络(DNN)模型与前向传播算法
深度神经网络(Deep Neural Networks, 以下简称DNN)是深度学习的基础,而要理解DNN,首先我们要理解DNN模型,下面我们就对DNN的模型与前向传播算法做一个总结. 1. 从感知机 ...
- 深度神经网络(DNN)反向传播算法(BP)
在深度神经网络(DNN)模型与前向传播算法中,我们对DNN的模型和前向传播算法做了总结,这里我们更进一步,对DNN的反向传播算法(Back Propagation,BP)做一个总结. 1. DNN反向 ...
- 深度神经网络(DNN)损失函数和激活函数的选择
在深度神经网络(DNN)反向传播算法(BP)中,我们对DNN的前向反向传播算法的使用做了总结.里面使用的损失函数是均方差,而激活函数是Sigmoid.实际上DNN可以使用的损失函数和激活函数不少.这些 ...
- 深度神经网络(DNN)的正则化
和普通的机器学习算法一样,DNN也会遇到过拟合的问题,需要考虑泛化,这里我们就对DNN的正则化方法做一个总结. 1. DNN的L1&L2正则化 想到正则化,我们首先想到的就是L1正则化和L2正 ...
- 最大似然估计 (Maximum Likelihood Estimation), 交叉熵 (Cross Entropy) 与深度神经网络
最近在看深度学习的"花书" (也就是Ian Goodfellow那本了),第五章机器学习基础部分的解释很精华,对比PRML少了很多复杂的推理,比较适合闲暇的时候翻开看看.今天准备写 ...
- 神经网络 之 DNN(深度神经网络) 介绍
CNN(卷积神经网络).RNN(循环神经网络).DNN(深度神经网络) CNN 专门解决图像问题的,可用把它看作特征提取层,放在输入层上,最后用MLP 做分类. RNN 专门解决时间序列问题的,用来提 ...
- AlphaGo论文的译文,用深度神经网络和树搜索征服围棋:Mastering the game of Go with deep neural networks and tree search
转载请声明 http://blog.csdn.net/u013390476/article/details/50925347 前言: 围棋的英文是 the game of Go,标题翻译为:<用 ...
随机推荐
- P9174
problem & blog 子任务 \(1\) 和子任务 \(2\) 都比较好做.所以我们这里不讲. 状态将是数字 \(n\) (每个颜色的频率的排序数组)的所有分区,因为当我们旋转每种颜色 ...
- 10位,13位时间戳转为C#.NET格式时间 DateTime
10位,13位时间戳转为C#.NET格式时间 DateTime - public static DateTime ToDateTime( string timestamp) { var tz = Ti ...
- 神奇的JavaScript弱等价类型转换
JavaScript语言特性 - 类型转换 JavaScript这门语言的类型系统从来没有它表面看起来的那样和善,虽然比起Java.C#等一众强类型语言,它的弱类型使用起来似乎是如此便利,但正因为它极 ...
- des加密,url编码,url解码,des解密 DES加解密及Wrong key size错误处理
des加密,url编码,url解码,des解密 DES加解密及Wrong key size错误处理 package com.example.core.mydemo.des; import javax. ...
- 扫描版PDF目录制作指南
目前网上找到的扫描版的电子书往往没有目录,这使得阅读变得非常困难.本文总结我的经验,介绍快速制作扫描版 PDF 目录的方法,以便更轻松地阅读扫描版电子书. 本文首先介绍手动制作目录的方法,之后介绍如何 ...
- 【资料分享】全志科技T507-H开发板规格书
1 评估板简介 创龙科技TLT507-EVM是一款基于全志科技T507-H处理器设计的4核ARM Cortex-A53国产工业评估板,主频高达1.416GHz,由核心板和评估底板组成.核心板CPU.R ...
- .Net Core 2.2 Areas 路由,第一个MapAreaRoute 设置匹配多个Controller
.h2 { background-color: rgba(78, 110, 242, 1); color: rgba(255, 255, 255, 1); padding: 10px } 在.Net ...
- .Net Core WebApi 使用 JWT 验证身份
.h2 { background-color: rgba(78, 110, 242, 1); color: rgba(255, 255, 255, 1); padding: 10px } 一.注册身份 ...
- python3 webssh
简介 webssh 是 一个简单的 Web 应用程序,用作 ssh 客户端来连接到 ssh 服务器.它是用Python编写的,基于tornado.paramiko和xterm.js.下面简单搭建一个网 ...
- 2.模块文件以及增删改查(CURD操作)
创建 db.py db.py 文件是我们管理数据库连接和模型基类的地方.它让我们的代码更加模块化和可维护,实际生产中也是类似的,无论是在 FastAPI 或者 Flask 等框架中,当使用到 SqlA ...