【深度学习与分布式训练概述5300字】_第1页
【深度学习与分布式训练概述5300字】_第2页
【深度学习与分布式训练概述5300字】_第3页
【深度学习与分布式训练概述5300字】_第4页
【深度学习与分布式训练概述5300字】_第5页
已阅读5页,还剩8页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深度学习与分布式训练概述 11.1深度学习与Tensorflow 11.2分布式训练 3 31.2.2更新方式 51.2.3并行方式 7 9 9等场景有着丰富的应用。分布式Tensor分发中心从输入的数据流图中剪取子图(subgraph),将其划分常量折叠(constantfolding)等。执行器负责图操作(graphope拥有参数服务器(parameterserver)以汇速。内核应用负责单一的图操作,包括数学计算、数组操作(arraymanipulation)、控制流(controlflow)和状态管理操作(statemanagementoperations)。内核应用使用EigecuDNN库等执行GPU加速、gemmlowp执行低数值精度计算,此外基础操作,例如激励函数和其梯度计算的运行效率。单进程版本的Tensorflow没有分发中心和执行器,而是使用特殊的会话应用 通过增加样本数量和设计更加深层复杂的网络在理论上可以得是计算单个样本的损失函数,x是特征向量,y是样本的label,w是么ParameterServer³3算法主要是使数才能进行下一步的计算。因此ParameterServer使用数据并行的方采用master-slave的同步模式,如图2-1所示,将node分成两并对severmanager发送梯度(1)每个worker载入部分训练数据;(4)所有的worker节点将当前最新的梯度值上传到server节点(6)循环(2)到(5)直到训练结束。图2-1参数服务器计算,和parameterserver间的数据的参数量增大,使得parameterserver的传输带宽逐渐成为低,容错的需求也越来越少。现在主流的做法更是变成了单机多卡。如图2-2所示,Ring-Allreduce是一种去中心化的思想,取消了然后进行下一步的梯度下降。所谓reduce操作,是指worker节点将在ParameterServer中需要将所有worker节点的梯度汇总到server节点,而在allreduce操作中还需将更新之后的参数传递给所有的节点。这个过程是需要大量的通信时间的。如果使用1个server,10个worker节点,使用一个参数量为300M的模型。在带宽为万兆网卡的情况下。10卡同步更新,大约需要10s左右完成参数的传递,恒定的,与系统中GPU的数量无关,完全由系统中GPU之间最慢的向它的右邻发送数据并从它的左邻接受数据。算法主要分为两部分梯度;(2)allgather:通过逐步的交换梯度,最终每个节点得到完分布式训练中执行计算的node被称作worker,而状态的更新来自于每个worker利用各自的数据计算出的梯度对参数的更出每个node对全局状态十分依赖,并且需要进行频繁的同步。Tensorflow官方多卡训练示例介绍的方案就是采用同步更新的方式。Server节点会充当reduce的角色,等待所有worker节点都发来worker都必须和server通信,迭代过程也会被server的通信带宽比会很低。如图2-3所示,4个worker同时开始训练,由于可能出现计算的过程中worker3明显滞后,但是由于采取同步更新的方式,新参数,整个过程都处于闲置空闲状态(黑色部分)。之后的每次梯step1workeroworkero图2-3同步更新度网络训练的。异步更新是parameterserver模式的标配,其收敛性梯度以及更新请求的时候,会立即对参数发起更新,而不等待其他但是异步更新的方案会引入两个不稳定性来源:(1)参数和更新参数算出来的。(2)参数的读取并没有加锁。这导致worker可能会做法是直接丢掉。这造成了不同workerracing的情况,对计算资源的提高。实际使用中经常会看到loss有时候会突然变得很高。如图2-4所示,4个worker节点同时开始训练,但并不处于同样的训练进图2-4异步更新(1)每个节点分别从硬盘中获取batch大小的数据;(2)从CPU内存拷贝至GPU内存;(3)加载GPU并逐步开始计算;(4)计算损失函数并反向传播,计算梯度;(6)根据同步后的梯度更新神经网络参数。图2-5数据并行在某些特殊的情况下,由于模型过大,一张GPU无法承载整个一层中不同的参数分配到不同的机器。如图2-6所示,此时模型被分为4个部分,4台机器分别处理部分模型。每一部分得到的结果将作为下一部分的输入,最终由4台机器共同完成模型的训练。图2-6模型并行Horovod是uber公司结合Ring-化的Ring-Allreduce版本,NCCL2允许在多个机器之间运行Ring-Allreduce。Horovod使用NCCL2取代了Ring-Allreduce算法,具体而言,决策树DT可以标记多个具有相同类别ci的叶节点。在这种情况下,可以将以相同叶节点(标记为ci)结尾的每个分支转换为if-then规则,该规则被认为涵盖了构成ci子类ci.其中Ax是具有索引x的属性,Vxj是具有属性Ax的索引j的值,这种结合ID3决策树算法的数据集划分算法被定义为基于子类的半随机数据分区方法30,这种分区方法的整个过程描述如下:(1)在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论