作为一种自适应步长随机梯度优化器,自2014年提出以来,Adam 算法便以其卓越的性能风靡深度学习领域。为了提高应用于训练大规模任务时的效率,该算法通常与同步随机梯度(Synchronous Stochastic Gradient,SSG)技术相结合,采用数据并行(data parallel)的方式在多台机器上执行。在本文中,我们称这一方法为 Sync-Adam。
本质上来讲,Sync-Adam 通过将一个 minibatch 内样本的梯度计算分布到多台机器上达到加速目的,因此通信十分频繁,并且随着并行机器数目增多,minibatch 内样本的数量也成比例增加,这种情况下,通常会损害最终得到的模型的性能。为解决基于 SSG 的 Adam 算法可扩展性差的难题,我们把目光投向了逐区块模型更新滤波(Blockwise Model-Update Filtering, BMUF)框架。
BMUF 是一种通信高效的通用分布式优化算法框架,于2016年由微软亚洲研究院语音组的研究人员提出并发表。该算法在多个并行工作机之间周期性同步模型更新信息,并与历史更新信息相结合提升全局模型性能。与基于 SSG 的算法相比,BMUF 具有通信频率较低、训练几乎线性加速、模型性能基本无损的特点。这一算法已经在工业界广泛用于大规模深度学习模型的训练。
本文中,我们采用 BMUF 框架并行化 Adam 算法,并在微软大规模 OCR 和语音产品数据集上进行了测试。实验结果表明,在大规模 OCR 任务中,BMUF-Adam 在多达64机的并行训练中几乎实现了线性加速的同时,基本没有模型性能损失,在32机大词汇量连续语音识别任务中也获得了类似效果。
接下来我们探讨如何采用 BMUF 框架赋能 Adam 算法,在大规模深度学习任务上成就不凡。
在基于 BMUF 的训练框架下,假设我们总共有 N 个并行工作机,一个工作机可以是一块或多块 GPU 卡,也可以是一个计算节点。给定一个包含 Nτ 个 minibatch 的训练数据子集,首先我们将这些数据均匀分布到 N 个并行工作机,每台工作机获得 τ 个 minibatch。从一个共同的初始模型 θ_(t-τ)^((init)) 开始,N 个工作机独立更新各自的局部模型 τ 步,得到 {θ_(t,1),θ_(t,2),…,θ_(t,N)},对局部模型取平均得到 θ ̅_t。这一过程称之为数据块内并行优化(Intra-Block Parallel Optimization, IBPO)。与直接将 θ ̅_t 作为全局模型不同,BMUF 技术将历史更新信息与当前更新信息结合,得到全局模型:
资料获取 | |
新闻资讯 | |
== 资讯 == | |
» 人形机器人未来3-5年能够实现产业化的方 | |
» 导诊服务机器人上岗门诊大厅 助力医院智慧 | |
» 山东省青岛市政府办公厅发布《数字青岛20 | |
» 关于印发《青海省支持大数据产业发展政策措 | |
» 全屋无主灯智能化规范 | |
» 微波雷达传感技术室内照明应用规范 | |
» 人工智能研发运营体系(ML0ps)实践指 | |
» 四驱四转移动机器人运动模型及应用分析 | |
» 国内细分赛道企业在 AIGC 各应用场景 | |
» 国内科技大厂布局生成式 AI,未来有望借 | |
» AIGC领域相关初创公司及业务场景梳理 | |
» ChatGPT 以 GPT+RLHF 模 | |
» AIGC提升文字 图片渗透率,视频 直播 | |
» AI商业化空间前景广阔应用场景丰富 | |
» AI 内容创作成本大幅降低且耗时更短 优 | |
== 机器人推荐 == | |
服务机器人(迎宾、讲解、导诊...) |
|
消毒机器人排名 导览机器人 |