分布式深度学习DDL解析

一.概述

给一个庞大的GPU集群,在实际的应用中,现有的大数据调度器会导致长队列延迟和低的性能,该文章提出了Tiresias,即一个GPU集群的调度器,专门适应分布式深度学习任务,该调度器能够有效率的调度并且合适地放置深度学习任务以减少他们的任务完成时间(JCT(Job Completion Time)),一个深度学习任务执行的时间通常是不可预知的,该文章提出两种调度算法,基于局部信息的离散化二维Gittins索引(Discretized Two Dimensional Gittins index)以及离散化二维LAS,对信息不可知并且能够降低平均的JCT,在实验中JCT能够快5.5倍,相比于基于Apache YARN的资源管理

我们关注数据的并行化,数据的并行化是目前流行的分布式深度学习框架的公共部分。

如上图所示,每一个Worker有一个GPU,运行本地的深度学习模型副本,训练集被划分成等大小的部分分配给Worker们,所有的任务同步训练,一个被观察到的事实是这样的架构能够更快的收敛,相比于异步的分布式训练。

固定时间的迭代

深度学习训练是按迭代的方式工作的,在每一个轮次,worker要做一次前向和反向的计算,接着worker将本地的结果互相更新深度学习模型,称之为模型聚集(Model Aggregation),由于每一个迭代的计算时间都是差不多的,故迭代的时间是高度可预测的。

参数服务器架构

参数服务器,简称PS(Parameter
Server),这种架构是最流行的模型聚集的方法,参数服务器掌握主要的深度学习模型副本,使用从所有worker那里得到的本地结果来更新模型,然后worker在每个迭代的一开始拉回参数来更新本地的模型,一个深度学习任务可以有多个参数服务器。

测试和错误的探索

为了得到一个高质量的模型,需要对超参数的各种组合进行探索,称为超参数调优(hyperparameter-tuning),用户可以用AutoML等搜索工具来进行高效的探索。在AutoML中,许多带着不同超参数设置的深度学习任务被生成来训练相同的任务,其中的大多数由于随机的误差或者低质量的提升会被消除。利用一开始测试阶段的反馈,AutoML能够搜索新的参数配置以及产生大量新的任务,当然其中只有少数拥有较高的质量。

深度学习与计算系统结合是现在业界发展的趋势。Logical Clocks的CEO Jim Dowling讲述了分布式深度学习最新技术发展,以及其Hosworks开源平台。

二.分布式深度学习DDL

人工智能的需求在过去十年中显著增长,很大程度是深度学习的进步。这种增长是由深度(机器)学习技术的进步和利用硬件加速的能力推动的。然而,为了提高预测的质量和使机器学习解决方案在更复杂的应用中可行,需要大量的训练数据。尽管小型机器学习模型可以用适量的数据进行训练,但用于训练较大模型(如神经网络)的输入随着参数的数量呈指数增长。由于对处理训练数据的需求已经超过了计算机器计算能力的增长,因此需要将机器学习工作量分散到多台机器上,并将集中式系统转变为分布式系统。这些分布式系统提出了新的挑战,首先是训练过程的有效并行化和一致模型的创建。
分布式深度学习有很多好处——使用更多的GPU更快地训练模型,在许多GPU上并行超参数调优,并行消融研究以帮助理解深度神经网络的行为和性能。随着Spark 3.0的出现,GPU开始转向执行器,使用PySpark的分布式深度学习现在成为可能。然而,PySpark给迭代模型开发带来了挑战——从开发机器(笔记本电脑)开始,然后重新编写它们以运行在基于集群的环境中。
本讲座概述了分布式深度学习的技术,并提供了可用系统的概述,从而对该领域当前的最新技术进行了广泛的概述。
Jim Dowling是 Logical Clocks公司的首席执行官,也是KTH皇家理工学院的副教授。他是开源的Hopsworks平台的首席架构师,这是一个横向可扩展的机器学习数据平台。





















分布式深度学习DDL解析相关推荐

  1. 【分布式】分布式深度学习DDLs系统Review——分布式学习通俗理解Distributed Deep Learning Systems(最全面的论述)

    分布式深度学习系统 (DDLS) 通过利用集群的分布式资源来训练深度神经网络模型. DDLS 的开发人员需要做出许多决定,以在他们选择的环境中有效地处理他们的特定工作负载. 基于 GPU 的深度学习的 ...

  2. 分布式深度学习,93页ppt概述最新DDL技术发展

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:专知 AI博士笔记系列推荐 周志华<机器学习>手推笔 ...

  3. Google和微软分别提出分布式深度学习训练新框架:GPipe PipeDream

    [进群了解最新免费公开课.技术沙龙信息] 作者 | Jesus Rodriguez 译者 | 陆离 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) [导读]微软和谷歌一直在致 ...

  4. 纯干货-17 分布式深度学习原理、算法详细介绍

    介绍 无监督的特征学习和深度学习已经证明,通过海量的数据来训练大型的模型可以大大提高模型的性能.但是,考虑需要训练的深度网络模型有数百万甚至数十亿个参数需要训练,这其实是一个非常复杂的问题.我们可以很 ...

  5. 深度学习常见问题解析

    深度学习常见问题解析 计算机视觉与自动驾驶 今天 一.为什么深层神经网络难以训练? 1.梯度消失.梯度消失是指通过隐藏层从后向前看,梯度会变得越来越小,说明前面层的学习会显著慢于后面层的学习,所以学习 ...

  6. 分布式深度学习最佳入门(踩坑)指南

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨Lyon@知乎(已授权) 来源丨https://zhuanla ...

  7. 英特尔分布式深度学习平台Nauta-安装、配置与管理指南

    2019独角兽企业重金招聘Python工程师标准>>> 英特尔分布式深度学习平台Nauta-安装.配置与管理指南 随着人工智能的发展,深度学习的价值不断增长,但实现它可能是一个复杂耗 ...

  8. 【深度学习】解析神经网络中的数值稳定性、模型初始化和分布偏移(Pytorch)

    [深度学习]解析神经网络中的数值稳定性.模型初始化和分布偏移 文章目录 1 概述1.1 梯度消失和梯度爆炸1.2 打破对称性 2 参数初始化 3 环境和分布偏移3.1 协变量偏移3.2 标签偏移3.3 ...

  9. 【深度学习】解析深度学习的集成方法

    [深度学习]解析深度学习的集成方法 文章目录 1 前言 2 使用集成模型降低方差 3 如何集成神经网络模型3.1 Varying Training Data3.2 Varying Combinatio ...

最新文章

  1. NLP 层嵌入(embedding)层的理解 通俗易懂 转
  2. python和java哪个-Python与Java-你首选哪个?
  3. hdu 4529(状态dp)
  4. withMisfireHandlingInstruction
  5. 关于DataFormWebPart中CreatedModifiedInfo信息的分开使用
  6. java变量命名规则_浅谈JAVA开发规范与开发细节(上)
  7. linux 修改文件访问权限
  8. 【MIT领导力课程笔记】前Nokia 总裁Ollila——打造移动未来
  9. 趣味俄罗斯方块——C语言
  10. hpdl388安装2012系统_2010、2012型双端面中压釜用机械密封-安装指导
  11. php批量导入txt文件,如何把一个文本文件中的十几万数据快速的导入到sql表中
  12. f分布表完整图a=0.01_图 python 实现
  13. # Markdown 学习笔记 ## 标题的使用 1. 一级标题 # 2. 二级标题 ## 3. 三级标题 ### 4. 四级列表#### 5. 五级列表##### 6. 六级列表####
  14. 基于MATLA的图像复原系统
  15. 【每天学习一点新知识】常见逻辑漏洞
  16. ad9854matlab仿真,AD9854 | 直接数字频率合成器 | 亚德诺(ADI)半导体
  17. revit翻模中需要绘制路径和边界的构件(楼板,屋顶)怎么做不出错?
  18. Description Resource Path Location Type The project cannot be built until build path errors are reso
  19. 织梦DEDE搬家数据还原后,前台错位
  20. 芙拉机器人_【诉说实情】芙拉2020新品女士小号斜挎包心形印花怎么样?别花冤枉钱,内幕大揭秘 | 智能扫地机器人评测...

热门文章

  1. SpringBoot (五) :SpringBoot整合mybatis
  2. mysql根据时间取前后几秒,几分钟,几小时,几天,几月,几年
  3. dataframe sample 采样,抽样
  4. ModuleNotFoundError: No module named 'tools.nnwrap' pytorch 安装
  5. 谷歌BERT预训练源码解析(三):训练过程
  6. python究竟要不要使用多线程
  7. 机器学习——标准化/归一化的目的、作用和场景
  8. 在idea使用maven工程建立web项目时,启动Tomcat访问不到项目首页。
  9. TVM性能评估分析(四)
  10. gst-crypto GStreamer插件