业界 | 百度引入Ring Allreduce算法,大规模提升模型训练速度

AI科技评论消息,美国西部时间2月21日,百度硅谷人工智能实验室(SVAIL)宣布将Ring Allreduce算法引进深度学习领域,这让基于GPU训练的神经网络模型的训练速度显著提高。

Ring Allreduce是高性能计算(HPC)领域内一个众所周知的算法,但在深度学习领域内的应用相对较少。而百度SVAIL实验室研究员Andrew Gibiansky也录制了一个视频介绍了关于Ring Allreduce的基本情况。

高效并行训练的需求

随着神经网络参数越来越庞大,从几亿个参数与到数十亿参数,所需的GPU运算节点也在增加。然而,节点数量越多,整个系统的效率就会降低。

深度学习在多个GPU上训练神经网络通常比较困难,因为大家普遍采用的方法是,让多个GPU把数据发送给一个reducer GPU上,这会造成一种通信瓶颈,整个训练速度会因此拖慢。而且要训练的数据越多,则带宽瓶颈问题就显得越严重。

而ring allreduce算法移除了这种瓶颈,减少GPU发送数据花费的时间,而把时间更多用在处理有用工作上。SVAIL发布的博文中这样说道:

“ring allreduce 是这样一种算法——其通信成本是恒定的,与系统中的 GPU 的数量无关,并且仅由系统中的 GPU 之间的最慢连接来确定。事实上,如果在通信成本上你只考虑带宽这一因素(并忽略延迟),那么 ring allreduce 就是一个最佳的通信算法 。 算法的进行分两步:第一步,scatter-reduce;第二步,allgather。在第一步中,GPU 将交换数据,使得每个 GPU 最终都有一个最终结果的数据块。在第二步中,GPU 将交换那些块,使得所有 GPU 最终得到完整的最后结果。“

Ring Allreduce 中的 GPU 被布置在一个逻辑环路(logical ring)之中。每个 GPU 左右两个各有一个 GPU,并且只从左边的 GPU 接收数据,再把数据发送至右边的 GPU。

Ring Allreduce在接受采访时说道:

“Ring allreduce可以让我们在多设备和多节点的情况下,更加有效地平均梯度。在训练中使用这个带宽优化的算法,你可以显著减少通信开销,并由此扩展到更多的设备上,同时仍然保留同步随机梯度下降的确定性和可预测的收敛性。”

百度已经用这个算法来训练其语音识别模型,实验证明,与使用一个单独的reducer GPU相比,ring allreduce 可以将一个神经网络在40个GPU上的训练速度提升31倍。

百度也将这算法分享出来,发布了一个演示该 allreduce 算法的 C 语言库,也将该 allreduce 以补丁的形式整合到 TensorFlow 中。

另一个HPC与机器学习结合的例子

AI科技评论此前也报道过,最近日本东京技术研究院宣布,将在今年夏天启动日本“最快的AI超级计算机”项目,这个超级计算机名为Tsubame3.0,使用的是英伟达GPU加速芯片,使其性能较以往提升2倍。HPC市场与快速兴起的AI市场有很大不一样,超级计算机以往被用于例如天气预测、气候建模、太空和核模拟等领域,而针对AI优化的芯片开始将这两个领域结合起来。而百度这次,则将HPC领域的软件技术应用于深度学习领域,看起来,HPC和机器学习这两个领域,正在以非常快的速度融合。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

前沿 | 手机运行神经网络,MIT新方法使神经网络能耗降低 73%

选自MIT News 机器之心编译 参与:Smith、路雪 麻省理工的研究人员已经设计出了一种新型的精简神经网络的方法。此方法通过给神经网络的能耗进行建模的方式...

2335
来自专栏人工智能头条

成为一名机器学习算法工程师,你需要这些必备技能

1263
来自专栏AI科技评论

干货 | 中科院孙冰杰博士:基于网络化数据表示学习的重叠社区发现研究

AI科技评论按:网络是大数据的重要组织形式,然而网络化的数据由于缺少高效可用的节点表示,而难于直接应用。网络化数据表示学习通过将高维稀疏难于应用的数据转化为低维...

2764
来自专栏AI研习社

百度引入Ring Allreduce算法,大规模提升模型训练速度

美国西部时间2月21日,百度硅谷人工智能实验室(SVAIL)宣布将Ring Allreduce算法引进深度学习领域,这让基于GPU训练的神经网络模型的训练速度显...

4579
来自专栏机器之心

专访 | 三角兽首席科学家王宝勋:热度之下的对话生成

机器之心原创 作者:邱陆陆 从 EMNLP 入选论文《Neural Response Generation via GAN with an Approxima...

33811
来自专栏PPV课数据科学社区

你真的了解机器学习、人工智能、统计建模吗?

分布式计算、云计算、人工智能 机器学习、深度学习、统计建模 这些最新的词汇大家应该都有所了解 但你真的了解这些词的意义吗? 一、机器学习 机器学习是以数据为基...

3226
来自专栏机器之心

深度 | 让机器思考与互相理解:DeepMind提出机器心智理论神经网络ToMnet

2577
来自专栏AI科技评论

业界 | 腾讯论文入选Interspeech 2017:在单通道语音分离中应用的深度神经网路的训练优化

AI 科技评论按:2017年8月20日,语音通信领域的国际顶级学术会议Interspeech 2017在瑞典斯德哥尔摩召开,腾讯音视频实验室王燕南博士的一篇论文...

3947
来自专栏AI科技评论

问答系统冠军之路:用CNN做问答任务的QANet

AI 科技评论按:当前,整个人工智能领域对自然语言处理技术的热情可谓空前高涨。一方面,这是由于借着深度学习的东风,计算机在各种自然语言处理任务中的表现有了突飞猛...

1032
来自专栏机器之心

专访 | 小白也能搭建深度模型,百度EasyDL的背后你知多少

随着机器学习,尤其是深度学习在复杂数据上的表现越来越优秀,很多开发者希望能将其应用到自己的服务或产品中。然而即使是使用预训练模型或开源框架,对于很多不太了解机器...

652

扫描关注云+社区