没有合适的资源?快使用搜索试试~ 我知道了~
2088论深度学习模型的加速与陈旧安旭1、霍周源1、黄恒1、21美国宾夕法尼亚州匹兹堡大学电气与计算机工程系2JD Finance America Corporation,Mountain View,CA,USA{安.徐,周元.霍,恒.黄}@ pitt.edu摘要针对计算机视觉问题训练深度卷积神经网络是缓慢和低效的,特别是当它很大并且分布在多个设备上时。低效率是由反向传播算法的前向锁定、后向锁定和更新锁定问题引起的。现有的加速解决方案要么只能处理一个锁定问题,要么导致严重的准确性损失或内存效率低下。此外,他们都没有考虑设备之间的落伍者问题。在本文中,我们提出了分层老化和一种新的有效的训练算法,离散老化参数(DSP),以解决这些挑战。我们还分析了DSP的收敛性与两个流行的基于梯度的方法,并证明了他们都是保证收敛到临界点的非凸问题。最后,在训练深度学习模型方面的大量实验结果表明,我们提出的DSP算法可以实现显著的训练加速,并且比COM方法具有更强的鲁棒性。1. 介绍深度卷积神经网络是解决分类、目标检测等计算机视觉问题的重要方法。然而,随着神经网络变得越来越深,越来越大[8,17,10,31,34,24],所需的昂贵的训练时间已经成为瓶颈。数据并行[33,23,3]和模型并行[22,20]是两种标准的并行技术,利用多个设备进行有效的训练。有效分布式训练的数据并行性已经在现有库*通讯作者。这项工作部分得到了美国。NSF IIS 1836945、IIS1836938、IIS 1845666、IIS 1852606、IIS 1838627、IIS 1837956。[1,4,12,35,14,16],但模型并行性仍在探索中。在本文中,我们专注于模型并行性,其中深度神经网络(DNN)受益于被拆分到多个设备上。但标准模型并行的资源利用率可能很低。反向传播算法[29,21]通常需要两个阶段来更新每个训练步骤中的模型:向前传球和向后传球。但是,激活和错误梯度的顺序传播分别导致后向锁定和前向锁定[18],因为层之间的计算依赖性。更新锁定[18]存在,因为在向前传递完成之前,向后传递不会开始。这种顺序执行使设备低效地等待激活输入和错误梯度。已经提出了几项工作来解决这些锁定问题(图1)。[18]使用解耦神经接口(DNI)通过辅助网络预测误差梯度,因此层使用合成梯度而无需等待误差梯度。[27]允许隐藏层直接从输出层接收错误信息。然而,当处理非常深的神经网络时,这些方法不能收敛。[2]提出逐层解耦贪婪学习(DGL),其为层的每个块引入辅助分类器,使得块根据其自己的分类器更新其参数。但是基于贪婪局部预测的DGL的目标函数可能与原始模型有很大不同GPipe [11]提出了流水线并行,并将每个小批划分为微批,可以将其视为模型并行和数据并行的结合。然而,微批处理的向前和向后锁定仍然存在,并且更新锁定没有解决,因为GPipe在更新参数之前等待整个向前和向后传递完成[15]提出了解耦并行反向传播(DDG),它将DNN分成块,并通过在每个块存储延迟误差梯度和中间激活来消除反向锁定。但2089是是GPipe(微-(微-F......F微批量转发批次)批次)B微批量后向F B F BF......DSP否否时间小批量转发小批量重计算空闲小批量向后RBL§§GG,G=G.Lk=0K方法向前向后训练进度(K=3,显示两个连续的小批量锁定锁定FBFF B FBF BBP是是......FBFBDDG是否FBFB......3个街区F B F BFR是否......BFBFBRFBRFBRFBRFBF F FBBBF F FBBBF FBBBF F FBBBF F FBBBF F FBBBRRFBFBRFBRFB图1.三块不同方法的草图在DSP中,前向和重计算是重叠的DDG由于存储所有中间结果而遭受大的存储器消耗,并且当DNN进一步深入时不能收敛。特征回放(FR)[13,36]通过存储历史输入和重新计算中间结果来改善DDG然而,DDG和FR中的块仍然需要等待后向误差梯度。此外,DDG和FR都没有解决前向锁定问题。为了克服上述缺点,我们首先提出分层陈旧, 一种细微的陈腐实验结果表明,DSP具有显著的训练加速比和较强的抗随机噪声鲁棒性。2. 背景我们将CNN分成K个连续的块,使得整个参数x=(x0,x1,.,xK−1)∈Rd,其中xk∈Rdk表示块处的局部参数k∈ {0,1,...,K−1},d =K−1d。 每个块在模型中,允许不同的部分独立训练。消除陈旧性对于没有同步屏障的高效异步执行很有用[9],这可以解释为另一种形式的锁定/依赖。预设分层老化的引入使卷积神经网络(CNN)的每个部分都能够以非常灵活的方式运行,k计算激活hk+1=fk(hk;xk),其中hkde-注意块k的输入。特别地,h0是输入数据。为了简单起见,我们定义F(h0;x0;x1;... ;xk):=fk(. f1(f0(h0;x0);x1). ;xk) 为hk+1。损失是(hK,l),其中l是标签。最小化K块神经网络的损失可以由以下表示问题:的程度。基于Layer-wise Staleness的概念,我们提出了一种新的并行CNN训练算法,minx∈Rdf(x):= L(F(h0; x0; x1;. ;xK−1),l).(一)该算法被命名为调度陈旧参数(DSP),其中较低层使用更多陈旧信息来更新参数。DSP还利用重新计算技术[5,7]来减少与前向传递重叠的内存消耗。我们的贡献总结如下:我们提出了分层老化和延迟老化参数(3),它打破了向前,向后和更新锁定,而没有内存问题。反向传播算法根据链式规则通过等式1计算块k的梯度。(二)、前向锁定的存在,因为每个块的输入依赖于从较低的块的输出。存在反向锁定是因为每个块在从上块接收到误差梯度h之前不能计算梯度。此外,只有在整个前向过程完成后,后向过程才能开始,这被称为更新锁定。为了保证理论上的保证,我们对所提出的方法进行了收敛性分析(4).即使面对不同的分层状态的参数,我们证明了DSP收敛到临界点,.Ghk=Gxk=k(hk;xk)2019年10月24日星期一k(hk;xk)俄罗斯联邦khk+1(hK,l)阿吉克(二)非凸SGD和动量SGD问题• 我们通过训练深度卷积神经网络来评估我们的方法(§5)。大量的实证在计算梯度之后,随机梯度de-气味(SGD)[28]及其变体,如随机统一动量(SUM)[37],RMSPROP [32]和ADAM[19]被广泛用于更新模型。 SGD更新··2090G- G{x}00kK00kKK-≥=00k1kGK00k−1k00员工0工作者1工人2=0= 10123405162012012031425301230011223344预热稳定前向批次i向后批次i重新计算批次i图2. DSP(1,1,0; 4,2,0),分层老化度为{4,2,0}(前向批和后向批之间的索引差)。工人k∈ {0,1,2}保持块k。通过xn+1=xnα(xn;<$),其中xn是馈送第n个数据(批次)时的参数,α是学习率,(xn;<$)是随机梯度。SUM通过等式更新参数。其中β是动量常数,y是动量项。 当s = 1时,SUM简化为随机Nesterov加速梯度(SNAG)[26]。.yn+1=xn−αG(xn;),ys,n+1=xn−sαG(xn;)ist,因为我们不需要他们在同一时间完成非递减属性对应于数据需要在顶层之前通过底层,并且误差梯度需要在底层之前通过顶层的事实。基于反向传播算法和Eq. (2),我们应该根据以下公式计算梯度,因为我们正在更新向后参数xn +1 =yn +1 +β(ys,n +1 −ys,n)。t2K−1−k,(三)kk=0,.,K−1F(h; xt2 K−1;. ;xt2K−1−k)3. 延迟老化参数在本节中,我们提出了一种新的训练方法Gxk=xt2K−1−kF(h; xt2 K−1;. ;xt2K−1−k)Ghk+1命名为DICESTALE参数(图2)。我们首先定义逐层失效性和第节中的相关符号Ghk=<$F(h;xt2K−1;... ;xt2K−2−k)Ghk+100k−1(四)F(h; xt2 K−1;. ;xtK(l)3.1 然后,分析了DSP梯度的动机和公式,在第3.2节中,最后使用第3.3节中的流水线批处理输入队列。3.1. 分层老化让数据用参数x转发有时候-=0K−1。F(h; xt2 K−1;. ;xtK)的方式00K−1然而,在正向传递期间,块k的输入是F(h; xt0;. ;xtk−1)。因此,我们将建议-00k−10在时间戳t1,. - 是的- 是的,以及时间戳tK−1时的xK− 1 。 为简单起见, 我们将前向参数表示为{xtk}k=0,...,K− 1同样地,我们也表示背面-插补技术,并利用两个前向参数和反向参数来计算DSP梯度如下,Ward参数为{xt2K−1−k}k=0,…,K−1. 那我们就...tt精细的分层老化,公式为:tk=t2K−k−1tk0。我们预设每个块来打破反向传播的同步障碍。我们还将最大分层老化度表示为k=0,1,.,K−1tk. 值得注意的是,a)在G×KGHK. ;xk−1;x2K−1−k)−xt2K−1−k.. ;xtk−1;xt2K−1−k)=.. ;xtk−1)hk+1hk+1(五)标准反向传播算法(Eq. (2)),逐层00k−1.. ;xtK−1),l)b)饲养数据指标不确定,校准到时间戳/训练步骤。=0K−1。F(h; xt0;. ;xtK−1)00K−13.2. DSP梯度我们首先将DSP的约束设置为t0
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功