|
|
当前位置:首页 > 机器人开发 > 让大规模深度学习训练线性加速、性能无损,基于BMUF的Adam优化器并行化实践 |
让大规模深度学习训练线性加速、性能无损,基于BMUF的Adam优化器并行化实践 |
来源:AI科技大本营 时间:2020/5/29 |
作为一种自适应步长随机梯度优化器,自2014年提出以来,Adam 算法便以其不错的性能风靡深度学习L域。为了提G应用于训练大规模任务时的效率,该算法通常与同步随机梯度(Synchronous Stochastic Gradient,SSG)技术相结合,采用数据并行(data parallel)的方式在多台机器上执行。在本文中,我们称这一方法为 Sync-Adam。 本质上来讲,Sync-Adam 通过将一个 minibatch 内样本的梯度计算分布到多台机器上达到加速目的,因此通信十分频繁,并且随着并行机器数目增多,minibatch 内样本的数量也成比例增加,这种情况下,通常会损害终得到的模型的性能。为解决基于 SSG 的 Adam 算法可扩展性差的难题,我们把目光投向了逐区块模型更新滤波(Blockwise Model-Update Filtering, BMUF)框架。 BMUF 是一种通信G效的通用分布式优化算法框架,于2016年由微软亚洲研究院语音组的研究人员提出并发表。该算法在多个并行工作机之间周期性同步模型更新信息,并与历史更新信息相结合提升全局模型性能。与基于 SSG 的算法相比,BMUF 具有通信频率较低、训练几乎线性加速、模型性能基本无损的特点。这一算法已经在工业界广泛用于大规模深度学习模型的训练。 本文中,我们采用 BMUF 框架并行化 Adam 算法,并在微软大规模 OCR 和语音产品数据集上进行了测试。实验结果表明,在大规模 OCR 任务中,BMUF-Adam 在多达64机的并行训练中几乎实现了线性加速的同时,基本没有模型性能损失,在32机大词汇量连续语音识别任务中也获得了类似效果。 接下来我们探讨如何采用 BMUF 框架赋能 Adam 算法,在大规模深度学习任务上成就不凡。
在基于 BMUF 的训练框架下,假设我们总共有 N 个并行工作机,一个工作机可以是一块或多块 GPU 卡,也可以是一个计算节点。给定一个包含 Nτ 个 minibatch 的训练数据子集,先我们将这些数据均匀分布到 N 个并行工作机,每台工作机获得 τ 个 minibatch。从一个共同的初始模型 θ_(t-τ)^((init)) 开始,N 个工作机d立更新各自的局部模型 τ 步,得到 {θ_(t,1),θ_(t,2),…,θ_(t,N)},对局部模型取平均得到 θ ̅_t。这一过程称之为数据块内并行优化(Intra-Block Parallel Optimization, IBPO)。与直接将 θ ̅_t 作为全局模型不同,BMUF 技术将历史更新信息与当前更新信息结合,得到全局模型:
|
相关推荐 |
»
基于深度学习和传统算法的人体姿态估计,技术细节都讲清楚了
» 传统目标检测算法对比 » 基于深度学习目标检测模型优缺点对比 » 如何更高效地压缩时序数据?基于深度强化学习的探索 » 滴滴机器学习平台调度系统的演进与K8s二次开发 » 人工智能和机器学习之间的差异及其重要性 » 面向动态记忆和学习功能的神经电晶体可塑性研究 » CVPOS自助收银的挑战以及商品识别算法工程落地方法和经验 » 内容流量管理的关键技术:多任务保量优化算法实践 » 百变应用场景下,优酷基于图执行引擎的算法服务框架筑造之路 » 饿了么推荐算法的演进及在线学习实践 » 拯救渣画质,马赛克图秒变高清,杜克大学提出AI新算法 |
![]() ![]() ![]() |
![]() |
|
|
版权所有 © 创泽智能机器人集团股份有限公司 中国运营中心:北京·清华科技园C座五楼 生产研发基地:山东日照太原路71号 电话:4008-128-728 |