高性能计算技术也能助推大规模深度学习(百度实践)

  • 时间:
  • 浏览:1
  • 来源:大发5分PK10_大发5分PK10官方

    SVAIL除了在算法实现上有突破外,让我们歌词 还注重高速网络(InfiniBand)和软硬一体设计,最终使GPU纵向扩展到128个,具体细节请查阅2015年12月SVAIL团队发布的论文“Deep Speech 2:中英文端到端语音识别”。通过对ring all-reduce算法的改进,与OpenMPI(v1.8.5)相比,百度SVAIL团队在同等GPU数量的请况下,将效率提升了2.3-21.4倍。

    SVAIL研究人员重写的ring all-reduce算法性能更好,也更稳定,与OpenMPI最大的差别是,SVAIL实现的算法处理了CPU和GPU之间额外的副本传输。

文章为简译,更为完整版的内容,请查看原文

    百度改进的你这人 技术也不 OpenMPI算法ring all-reduce,在百度的语音识别模型(Deep Speech 2,建立在多个GPU计算节点之上)并行训练中使用了ring all-reduce算法,百度在今年2月开源了那我软件包,那我是baidu-allreduce c库(那我小型C++库),那我 是tensorflow-allreduce(给tensorflow 0.12.1打了那我补丁),使用tensorflow建立的模型可不可不都可以 使用你这人 新的版本,利用它的跨多设备并行处理能力。相关代码托管在GitHub上,有兴趣的读者点击前面的链接即可。

 数十款阿里云产品限时折扣中,赶紧点击领劵刚刚开使云上实践吧!

一种all-reduce算法实现的性能对比(单位:秒)

Ring all-reduce,所有GPU共同发送数据

    SVAIL团队成员大都来自高性能计算领域。百度研究科学家Shubho Sengupta说:“ring all-reduce算法其实是OpenMPI的一次责,但OpenMPI一种并都是调快,让我们歌词 在刚用它来进行训练时遇到了不少疑问报告 ,让我们歌词 发现它的伸缩能力有限,但让我们歌词 又很想让它具有良好的伸缩性,也不 让我们歌词 决定研究它的源代码,最终发现你这人 算法的效率不高,让我们歌词 就重新实现了你这人 算法”。

    领导TensorFlow补丁工作的Gibiansky阐述了让我们歌词 多管齐下传播信息的法律法子,“看看这篇博客你就知道了,也不 你在使用TensorFlow,可不可不都可以 使用让我们歌词 提交的补丁版那我 训练你的模型,也不 你是高度学习的作者,让人看看让我们歌词 的C库,并集成它,通过让我们歌词 实物的尝试结果来看还是非常成功的,让我们歌词 希望让更多的人受益于此”。

    来自百度硅谷人工智能实验室(SVAIL)的研究人员改进了众所周知的HPC通信技术,提升了通信效率,也不 扩大了让我们歌词 的神经网络训练规模,今天,在知名高度学习社区分享了让我们歌词 的实现。

作者:Tiffany Trader,译者:耕牛的人,审校:身形。

以上为译文。

文章原标题《HPC Technique Propels Deep Learning at Scale

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

    Sengupta就深挖HPC技术用于高度学习分享了那我有趣的观点, “搞高度学习的人总认为MPI是一项过时的技术,也不 好像和高度学习也没那此关系,但我认为使用MPI不可不可不都可以 搭建非常快的集合,也不 支持同步梯度下降,使收敛效率调快,不只有用到异步梯度下降就能得到结果”。

Tiffany Trader,毕业于圣地亚哥州立大学和加州州立大学,长期致力于高性能计算、云计算、绿色计算新闻报道和分析,2015年刚刚开使担任全球知名高性能计算新闻网站HPCwire的总编辑。Tiffany Trader 的LinkedIn主页,Twitter主页。

    百度的SVAIL团队大概两年前刚刚开使在让我们歌词 实物的高度学习框架(又名Gene and Majel,为了向著名的星际旅行创立者Gene Roddenberry和他的第二任妻子Majel Barrett致敬)上使用你这人 算法,百度研究人员表示,在HPC领域,让我们歌词 对你这人 算法早已是老生常谈,但在人工智能和高度学习领域,你这人 算法却未被充分利用。

    Deep Speech 2论文发布后,SVAIL团队刚刚开使收到来自社区想了解实现细节的请求,也不 你这人 算法与SVAIL的高度学习框架专利结合得太紧密了,也不 ,让我们歌词 就创建了一种实现法律法子,那我是针对TensorFlow的,那我 也不 更通用的。

    关于百度ring all-reduce算法的完整版解释,请看百度研究院的这篇博客文章,对于百度开源的高度学习框架PaddlePaddle来说,它还使用了其它大量的技术来保证高性能节点的扩展,有兴趣的同学可不可不都可以 到PaddlePaddle的主页去看看。

    Sengupta表示,GPU数量很少时效率是最快的,“8颗GPU是快大概20倍,睡着GPU数量的增加,性能反而会有所下降,也不 只有通过网络将数据发送给CPU,但在让我们歌词 实物的框架上,让我们歌词 可不可不都可以 将GPU数量扩大到128颗,实现线性扩展”。

    Sengupta解释,“OpenMPI在那此矩阵通信时,也不 矩阵在GPU内存中,它实际上会qq克隆好友 一份到CPU内存中,你这人 做法是非常浪费资源的,实际可不可不都可以 不能 我不要 qq克隆好友 ,只只有编写那我小的内核来减少GPU内存空间即可,当你在那我节点内执行all-reduce,也不 所有GPU都是那我PCI根复合体中时你这人 法律法子特别有用,在GPU内存空间就可不可不都可以 完成一切任务,也不 没法那我简单的想法,最终让我们歌词 的算法实现比OpenMPI自身的要快得多”。

作者简介:

更多高度文章,请关注:https://yq.aliyun.com/cloud