分布式深度学习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. 使用horovod构建分布式深度学习框架

    最近两周一直在尝试着分布式深度学习的架构,主要的原因一方面是几台机子全是1060卡,利用深度网络在较大数据样本上训练的效率极其低下,所以尝试着将几台机子做成分布式,看看能否提高训练效率:第二方面是有人 ...

  2. 分布式深度学习之DC-ASGD

    本篇笔记是听刘铁岩老师做Distributed Deep Learning:New Driving Force of Artificial Intelligence报告整理而成 深度学习梯度下降公式如 ...

  3. Horovod 分布式深度学习框架相关

    最近需要 Horovod 相关的知识,在这里记录一下,进行备忘: 分布式训练,分为数据并行和模型并行两种: 模型并行:分布式系统中的不同GPU负责网络模型的不同部分.神经网络模型的不同网络层被分配到不 ...

  4. (转)分布式深度学习系统构建 简介 Distributed Deep Learning

    HOME ABOUT CONTACT SUBSCRIBE VIA RSS   DEEP LEARNING FOR ENTERPRISE Distributed Deep Learning, Part ...

  5. [源码解析] 深度学习分布式训练框架 horovod (5) --- 融合框架

    [源码解析] 深度学习分布式训练框架 horovod (5) --- 融合框架 目录 [源码解析] 深度学习分布式训练框架 horovod (5) --- 融合框架 0x00 摘要 0x01 架构图 ...

  6. [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构

    [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 目录 [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 0x00 摘要 0x01 ...

  7. [源码解析] 深度学习分布式训练框架 Horovod (1) --- 基础知识

    [源码解析] 深度学习分布式训练框架 Horovod --- (1) 基础知识 目录 [源码解析] 深度学习分布式训练框架 Horovod --- (1) 基础知识 0x00 摘要 0x01 分布式并 ...

  8. [源码解析] 深度学习分布式训练框架 horovod (2) --- 从使用者角度切入

    [源码解析] 深度学习分布式训练框架 horovod (2) --- 从使用者角度切入 目录 [源码解析] 深度学习分布式训练框架 horovod (2) --- 从使用者角度切入 0x00 摘要 0 ...

  9. [源码解析] 深度学习分布式训练框架 horovod (3) --- Horovodrun背后做了什么

    [源码解析] 深度学习分布式训练框架 horovod (3) --- Horovodrun背后做了什么 目录 [源码解析] 深度学习分布式训练框架 horovod (3) --- Horovodrun ...

随机推荐

  1. 不可不知的CSS小技巧

    一.表单部分 1.禁止textarea文本域的缩放 resize:none; 2.去除初始化textarea下拉条 overflow:auto; 3.如何让表单中的选项按钮,点击文字也能选中? < ...

  2. 【Git】5. 远程库(GitHub)相关操作

    之前也提到了,在整个协作的过程中,必不可少的就是远程库了.Github作为一个全球最大的同性交友网站,同样也是一个非常强大的远程库. 现在希望将本地的hello.txt文件也推到github上去,那首 ...

  3. 基于MXNET框架的线性回归从零实现(房价预测为例)

    1.基于MXNET框架的线性回归从零实现例子 下面博客是基于MXNET框架下的线性回归从零实现,以一个简单的房屋价格预测作为例子来解释线性回归的基本要素.这个应用的目标是预测一栋房子的售出价格(元). ...

  4. 将文件服务器及域控制器从2003迁移至Windows Server 2008 R2

    (一)背景环境: 当前,多数小企业仍然使用windows server2003 系统做域控制器及文件服务器,由于windows server 2003在多年使用之后变得卡顿,且存在异常的系统错误及诟病 ...

  5. vuex、localStorage、sessionStorage之间的区别

    vuex存储在内存中,localStorage以文件形式存储在本地,sessionStorage针对一个session(阶段)进行数据存储. 当页面刷新时vuex存储的数据会被清除,localStor ...

  6. 『居善地』接口测试 — 4、Requests库发送GET请求

    目录 1.使用Requests库发送带参数的GET请求 2.查看GET请求的内容 3.带请求头.参数的Get请求 Requests库GET请求是使用HTTP协议中的GET请求方式对目标网站发起请求. ...

  7. 2019c#将PDF转图片

    两种方法: 第一种是用O2S.Components.PDFRender4NET 大家可以去网上查找无水印版本 但是有的时候带颜色的字就变空白了 不知道为什么 第二种是用PdfiumViewer 这种方 ...

  8. back_insert_iterator和insert_iterator

    #include <iostream> #include <string> #include <iterator> #include <vector> ...

  9. 敏杰开题——软工团队项目选择与NABCD分析

    这是一篇软件工程课程博客 Q A 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 团队项目选择 我们在这个课程的目标是 团队协作实践敏捷开发 这个作业在哪个具 ...

  10. Spring Cloud Gateway之全局过滤器在工作中的使用场景

    一.使用注意事项 1.全局过滤器作用于所有的路由,不需要单独配置. 2.通过@Order来指定执行的顺序,数字越小,优先级越高. 二.默认全局拦截器的整体架构 三.实战场景,例如,校验token.记录 ...