赞
踩
2020 北京智源大会
本文属于2020北京智源大会嘉宾演讲的整理报道系列。北京智源大会是北京智源人工智能研究院主办的年度国际性人工智能高端学术交流活动,以国际性、权威性、专业性和前瞻性的“内行AI大会”为宗旨。2020年6月21日-24日,为期四天的2020北京智源大会在线上圆满举办。来自20多个国家和地区的150多位演讲嘉宾,和来自50多个国家、超过50万名国内外专业观众共襄盛会。
在第二届北京智源大会“智能体系架构与芯片论坛”上,美国南加州大学钱学海做了题为《去中心化分布式训练系统》的主题演讲。
钱学海,美国南加州大学电子工程系助理教授,于2013年获得伊利诺伊大学香槟分校博士学位,并在加州大学伯克利分校从事过博士后研究工作。曾荣获首届北美计算机华人学者协会新星奖和NSF CAREER AWARD。在ISCA、ASPLOS、MICRO、HPCA四个主要体系结构会议发表论文37篇,并进入ASPLOS和HPCA的名人堂(Hall of Fame)。钱学海研究团队的网站是:http://alchem.usc.edu。
在本次演讲中,钱学海系统地介绍了他和他团队近期关于去中心化的同步和异步算法的分布式训练系统设计的相关研究工作。钱学海介绍,当前流行的机器学习系统大都采用中心化和同步的并行训练,造成了通讯的瓶颈并容易受异构运行环境的影响,针对这个问题,他们提出了有效的去中心化分布式训练的系统设计方法。对同步执行,钱学海团队利用执行状态差别和通信图的关系,设计了系统资源控制的同步协议;对异步执行,他们则提出了一种新的通信原语和避免系统等待的有效方法,使得机器学习系统能有效地消除通信瓶颈并达到和当前集中式训练相当或更好的性能。下面是智源编辑为大家整理的讲座内容。
整理:智源社区 吴继芳
一、研究动机
1.1 背景
图灵奖获得者John Hennessy and David Patterson 在文章“A New Golden Age for Computer Architecture”[1] 中指出:随着摩尔定律和Dennard 定律的终结,我们已经进入计算机体系结构的黄金时代,即无法通过简单的提高系统复杂性和主频来提高计算机系统性能。我们需要深入理解应用特性,通过设计面向特定领域的体系结构(Domain-specific architecture (DSA) )和编程语言(Domain-specific language (DSL) )来实现在不大幅度提高系统复杂性和成本的情况下提高应用的性能。目前,在技术方面,随着许多新技术(比如:NVM, ReRAM, RDMA等)的出现,为计算机体系结构设计带来新的机遇;在应用方面,人工智能和大数据都给系统计算和存储都带来新的挑战。当前的系统都被划分为很多层次(比如:按应用、特定领域语言及执行框架、计算机体系结构和实现技术等划分),在设计软硬件系统的时候有一个重要方法是Vertical Integration [1],即要注意不同层次之间的融合以及交互,从而发现新的机遇。
钱学海本次主要分享的是在软件方面面向特定领域的分布式训练系统。随着深度学习在众多领域的成功应⽤,快速和⾼效的模型训练越来越重要。为了获得高准确率,模型大小和训练数据都日益增加,分布式并行训练成为不可或缺的技术。对于面向深度学习或者人工智能的系统和体系结构,需要考虑下面两个方面:
训练(Training)。在训练过程中需要用到大规模数据集和复杂模型计算,对系统的计算和存储要求比较高,因此通常需要采用分布式和并行性技术,达到在短时间内训练出需要的模型。
推理(Inference)。在推理过程中,运用训练得到的模型处理实际应用中的数据,获得有用的信息。通常推理过程的计算比训练过程的简单一些,但是推理一般部署在低功耗或者资源受限的系统上,能源效率是一个重要挑战。
接下来,钱学海向大家解析了关于训练过程的去中心化的分布式训练系统设计。
1.2 挑战
钱学海认为,分布式训练系统的核心问题是不同计算设备的通信以及由于计算和通讯性能的差异带来的异构性,具体可以看做面临三个方面的挑战,分别是:通信(Communication)、异构性(Heterogeneity)和多种因素交互造成的复杂性 (Complex Trade-offs )。
1.2.1 通信(Communication)
通信与系统结构相关,早期的分布式训练系统Parameter Server (PS)[2] (图1所示)是一个中心化的结构,每一个Worker会把自己计算得到的梯度上传到中心节点,中心节点对所有Worker的梯度做平均化处理后,再传回各个Worker。作为中心化的结构,PS中存在中心节点通信瓶颈问题。第二代分布式训练系统设计方法是Ring All-Reduce [3] (图2所示),采用了节点同步环节采用了并行流水线的工作方式,使得节点间的通信变得更加高效。但是这种方法是同步的,当一个平台上不同的Worker具有不同的运行性能时,整个系统的性能受限于运行效率最低的Worker。
图1: Parameter Server (PS)系统结构
图2: Ring All-Reduce系统结构
1.2.2 异构性(Heterogeneity)
异构性一般主要考虑两种:确定异构性(Deterministic heterogeneity)和 动态异构性(Dynamic heterogeneity )。确定异构性是指不同的设备通常有不同的计算能力(比如:采用不同的GPU或 TPU系列),并且设备或节点具有不同的网络通信性能(比如:同一个节点中的不同
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。