分布式深度学习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. 【docker-compose】docker-compose环境安装

    docker-compose: 是一个用于定义和运行多容器 Docker 的应用程序工具,可以帮助我们可以轻松.高效的管理容器 安装: 1.安装pip 工具-目的是为了下载docker-compose ...

  2. hdu4994 博弈,按顺序拿球

    题意:       给你n堆东西,两个人博弈的去拿,每次最少一个,最多是一堆,必须按顺序那,也就是只有把第一堆的东西拿完了才能去拿第二堆东西,谁先拿完谁胜,问新手是否能胜利. 思路:       显然 ...

  3. Linux下Apache服务的部署和配置

    目录 Apache服务的安装 yum源安装: 目录文件 源码包安装: 目录文件: Apache中添加对php的支持 Apache中添加php对mysql数据库的支持 Apache服务的高级配置 1:配 ...

  4. 利用ICMP进行命令控制和隧道传输

    目录 使用ICMP进行命令控制 使用ICMP搭建隧道 使用ICMP进行命令控制 攻击机:Kali  192.168.10.11 靶机:Windows 192.168.10.1 使用的工具:icmpsh ...

  5. Python中hashlib模块的使用

    hashlib是 python 下一款与加密相关的库包,提供摘要算法:md5.sha1.sha224.sha256.sha384.sha512.blake2b.blake2s.sha3_224.sha ...

  6. Dockerfile多阶段构建

    多阶段构建 之前的做法: 在Docker17.05版本之前,构建Docker镜像,通常采用两种方式: 1.全部放入一个Dockerfile 一种方式是将所有的构建过程全都包含在一个Dockerfile ...

  7. 【vue-07】vue-router

    Vue-router官网 安装 vue-router是一个插件包,所以我们还是需要用npm 来进行安装.打开命令行工具,进入你的项目目录,输入下面命令. npm install vue-router ...

  8. 曾经我认为C语言就是个弟弟

    本文所有代码,均上传至github,如果你想直接看源代码,请到github下载,下载地址:https://github.com/vitalitylee/TextEditor "C语言只能写有 ...

  9. Ping命令浅析

    Ping ​ Ping基于ICMP协议. ​ Ping可以分为 内网Ping 和 外网Ping ​ 下面以内网Ping为例,使用的软件是eNSP和WireShark ​ ​ Step1.创建拓扑,PC ...

  10. Tomcat的使用和配置

    Tomcat的使用 安装 在tomcat官网找到你需要用的 Tomcat 版本对应的 zip 压缩包,解压到需要安装的目录即可 目录介绍 bin : 专门用来存放Tomcat服务器的可执行文件 con ...