专栏首页AI科技评论业界 | 百度引入Ring Allreduce算法,大规模提升模型训练速度

业界 | 百度引入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),作者:亚萌

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 学界丨基准测评当前最先进的 5 大深度学习开源框架

    AI 科技评论按:本文转自微信公众号 医AI (med-ai), 来源:arXiv.org,论文作者:Shaohuai Shi, Qiang Wang, Pen...

    AI科技评论
  • 深度学习的完整硬件指南

    深度学习是非常消耗计算资源的,毫无疑问这就需要多核高速的CPU。但买一个更快的CPU有没有必要?在构建深度学习系统时,最糟糕的事情之一就是把钱浪费在不必要的硬件...

    AI科技评论
  • 干货 | 如何配置一台适用于深度学习的工作站?

    本文来源于王璋在知乎问题【如何配置一台适用于深度学习的工作站?】下的回答,AI科技评论获其授权转载。 问题详情 如何配置一台适用于深度学习的工作站? 刚买两块T...

    AI科技评论
  • 百度引入Ring Allreduce算法,大规模提升模型训练速度

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

    AI研习社
  • GPU的工作原理

    在GPU出现以前,显卡和CPU的关系有点像“主仆”,简单地说这时的显卡就是画笔,根据各种有CPU发出的指令和数据进行着色,材质的填充、渲染、输出等。 较早的娱乐...

    刘盼
  • 刚刚,英伟达发布全球最强AI训练器HGX-2,可替换300个CPU服务器

    大数据文摘
  • 从英伟达 vs ATI的芯片大战看GPU前世今生

    1998年英伟达宣布GPU的研发成功,是计算机显示的历史性突破。此后,20世纪70年代末到1998年被称为pre-GPU时代,即前GPU时代,1998年以后则被...

    华章科技
  • 单机训练速度提升高达640倍,快手开发GPU广告模型训练平台

    如何有效处理大规模用户数据进行广告推荐?对于互联网企业的发展和进步至关重要。这也是为何快手成立西雅图实验室并实现新一代GPU广告模型训练平台的原因之一。快手新创...

    AI科技大本营
  • Android性能测试——发现和定位内存泄露和卡顿

      因此,对开发的Android应用,必须对其进行性能测试,不然将会直接影响用户体验。

    小老鼠
  • NVIDIA Tesla K80选购注意事项

    2014年年底,NVIDIA 再为加速运算平台增添最新旗舰级产品,宣布推出全新 Tesla K80 双 GPU 加速器,专为机器学习、资料分析、科学和高效能运...

    GPUS Lady

扫码关注云+社区

领取腾讯云代金券