0
本文作者: 天诺 | 2016-06-23 11:55 |
编者按:百度首席科学官吴恩达在ISC大会上谈到了超级计算能力如何在人工智能领域里应用,他的同事,百度硅谷人工智能实验室高级研究员Greg Diamos在参加纽约第33届机器学习国际大会上发表了关于基于GPU的深度学习论文。
Greg Diamos是百度硅谷人工智能实验室高级研究员,也是机器学习领域里的前沿人物。在加入百度公司之前,他在NVIDIA公司担任研究科学家和架构师(主要负责GPU流媒体多处理器和CUDA软件)。 基于这些从业背景,Diamos很自然地进入到基于GPU的深度学习领域。在介绍论文之前,Diamos回答一些问题,关于他的研究和他对机器学习的未来愿景。
在机器学习领域有两股强大力量,一个是大数据,或者说是随着互联网发展所带来的大数据集;
另一个是深度学习,或者说是探索如何高效训练非常深度的人工智能网络。这两股力量结合在一起,驱动了很多硬件快速发展。
深度学习当然可靠,它已经是一项相当领先的技术,能够解决真实世界里的计算机视觉和语言识别问题。很多领域里的问题之前都被认为是无法解决的,但得益于深度学习技术,目前都获得了很大突破。
高效训练深度人工神经网络的能力,加上海量训练数据,让机器学习陷入到了一个计算限制体系之中,即便是世界上运转速度最快的计算机也会遇到瓶颈。我们已经发现,一个运算速度更快的电脑能让应用程序有更好的表现,举个例子,速度越快的计算机会有更高的语音识别准确度。
递归神经网络是能够转化数据序列的功能——举个例子,他们可以把音频信息转化成文本,或是把一个英语句子转化成一个中文句子。递归神经网络和其他深度人工神经网络很相似,但最主要的不同就是递归神经网络是按顺序操作的(比如,一个任意长度的音频信号),而不是固定大小的数据(比如一个固定大小的图片)。
事实证明,通常深度学习算法会受到计算机计算能力的束缚,我们还没有想出如何在大型处理集群的理论极限上训练深度神经网络,所以对我们来说这里蕴藏了一个很大的机遇。我们在百度所知道的最快的递归神经网络训练系统得持续性能,和世界上处理速度最快的计算机的理论峰值相差大约2500倍。
我们工作的目的之一,就是试图弥补这一差距,训练深度递归神经网络的可扩展性。通过开发GPU,让每个处理器的工作效率提高30倍,可扩展性也变得更强。我们的技术提升了16倍的可扩展性,比如想实现某个高性能处理级别,利用我们的技术需要8个GPU,而不使用我们的技术则需要128个GPU。在整个训练过程中,我们使用了128个GPU,相比于在单个GPU上的31%峰值浮点计算吞吐能力,我们实现了支持28%峰值浮点计算吞吐能力。
GPU和机器学习密切相关,特别是深层神经网络,GPU对你在百度研究和开发工作的重要程度如何? GPU对于机器学习来说非常重要,因为它有很高的计算吞吐量,特别是对于大多数机器休息和深度学习来说,都存在计算局限。
相比于其他技术,在大规模计算集群上进行可扩展训练,可以在更大的数据集合上训练更大的神经网络。
最近五年的时间,我关注了两件事情:峰值浮点吞吐量和支持深度学习的软件。到目前为止,这两类都是由GPU引领的,但其中肯定会有竞争空间。如果其他处理器也想在这一领域里竞争,那么他们需要认真对待软件,特别地,利用简单C语言接口开发深度学习原始库会更容易实现峰值性能。对于技术可扩展性的局限问题,如果展望未来的话,我希望未来二十年所开发的处理器可以在300瓦特下以10 PFLOP/s和25MW下以150 EFLOP/s的速度训练深度学习模型。(注:一个PFLOPS(petaFLOPS)等于每秒一千万亿(=10的15次方)次的浮点运算。)
我的研究能够更快速地训练机器学习模型,到目前为止,不少研究成果已经转化成了更好的应用效果,比如百度在语音识别的准确度上有了很大提升。我认为,对于那些开发高性能计算系统的人来说,这传达了一个非常重要的信息——他们开发更快速的系统,我们应用机器学习解决实际问题,这之间存在着极密切的关联。
VIA hpcwire
雷峰网原创文章,未经授权禁止转载。详情见转载须知。