IBM研究院利用新型软件技术,将深度学习性能推到新“制高点”

http://www.edu.hc360.com2017年08月11日10:53 来源:慧聪教育装备网T|T

    【慧聪教育装备网】IBM研究院的新型分布式深度学习软件技术,在大型神经网络和大型数据集训练性能上创历史新高。

    IBM研究院宣布,通过全新的分布式深度学习软件实现了接近理想的扩展能力,该软件在64个IBM Power系统中的256个NVIDIA GPU上使用Caffe深度学习框架,实现了95%的扩展效率。

    之前的最佳扩展能力是Facebook AI研究院所取得的,他们利用Caffe2进行训练的扩展效率为89%,但数据通信开销(communication overhead)更高。凭借此软件,IBM研究院使用一个非常大的数据集(750万张图像)训练神经网络时,最新图像识别准确率达到了33.8%,并且训练仅花了7个小时。Microsoft之前发布的记录为10天达到29.8%的准确率。

    IBMPowerAI4.0发行版中现在已经提供了这段IBM研究院分布式深度学习代码的TensorFlow和Caffe技术预览版。

    深度学习是一种广泛使用的AI方法,可以帮助计算机理解人们用以体验世界的图像和声音,并提取其中的含义。它有望帮助我们不仅提升用户移动设备体验,并且在医疗影像诊断等广阔领域取得突破。但是,大规模运行AI深度学习模型在技术上面临着困难,训练时间通常要持续数天甚至数周,这使得大规模部署深度学习的准确率和实用性进展受到了限制。

    我们在IBM研究院的团队致力于缩短使用大型数据集、训练大型模型的时间。我们的目标是将与深度学习训练相关的等待时间从数天或数小时缩短到几分钟或几秒钟,并提高这些AI模型的准确率。为此,我们正在解决在大量服务器和NVIDIA GPU间进行分布式深度学习的巨大挑战。

    大多数流行的深度学习框架可扩展到一个服务器中的多个GPU,但无法扩展到多个配有GPU的服务器。而我们团队(MinsikCho、UliFinkler、DavidKung以及其他合作者)编写了软件和算法,能够对在数十个服务器中的数百个GPU加速器间并行运行的、非常庞大且复杂的计算任务进行自动优化。

    我们的软件能够完全同步进行深度学习训练,并且数据通信开销非常低。因此,当我们扩展到一个包含数百个GPU的大型集群,并使用ImageNet-22k数据集的750万张图像训练模型时,图像识别准确率史无前例地达到了33.8%,而Microsoft此前发布的最好结果仅为29.8%。4%的准确率提升是一次巨大的飞跃;因为过去一般提升不到1%。由于能够充分利用配备了数百个NVIDIA GPU的数十台服务器,我们创新的分布式深度学习(DDL,Distributed deep learning)方法不仅让我们提高了准确率,还能在短短7小时内训练一个ResNet-101神经网络模型;而Microsoft训练同一个模型需要花费10天时间。这一成果需要我们创建分布式深度学习代码和算法,解决对强大的深度学习框架进行扩展的固有难题。

    FacebookAI研究所2017年6月发表了一篇研究论文,解释了他们使用更小的数据集(Image Net1k)和更小的神经网络(ResNet50)所取得的出色成果,体现了固有难题:

    “深度学习的蓬勃发展离不开大型神经网络和大型数据集。但是,网络和数据集越大,训练时间就越长,进而会阻碍研究和开发进度。”

    具有讽刺意味的是,随着GPU速度越来越快,在多个服务器间编排和优化深度学习也变得越来越困难。这使得深度学习系统在功能上有了缺陷,进而促使我们创建一种新型的分布式深度学习软件,能够以极高的性能和极高的准确率在大规模神经网络和数据集上运行Tensorflow、Caffe、Torch和Chainer等流行开源代码。

    下面这个“盲人摸象”寓言的另一版本有助于描述我们正在解决的问题,以及我们实现的早期成果。摘自维基百科:

    “……每位盲人触摸大象身体的不同部分,但仅触摸一部分,比如侧面或象牙。然后他们根据自己的部分体验来描述大象,所以他们对大象的描述完全不同。”

    现在,尽管每个人的最初体验是不一样的,但如果为这些人提供足够的时间,他们可以分享足够的信息,从而拼凑出非常准确的完整的大象图片。

    与此类似,如果你有一些GPU在忙碌地处理一个深度学习训练问题的各个元素-像目前的典型案例一样花数天或数周并行执行–你可以非常轻松地同步这些学习结果。

    但是,随着GPU变得更快,它们的学习速度也会更快,就需要使用传统软件完全无法达到的速度与所有其他GPU共享其学习结果。这是一个很棘手的技术问题,给系统网络带来了压力。基本来讲,更智慧且更快的学习者们(即GPU们)需要更好的通信方式,否则它们将不同步,并会花费大部分时间等待获得彼此的结果。所以,通过使用更多、能更快学习的GPU,你并没有获得更快的速度,甚至可能遇到性能下降的情况。

    我们通过分布式深度学习(DDL)软件弥补的功能局限,主要体现在提高扩展效率以及如何在增加GPU时实现接近完美的系统扩展性能上。这项指标展示了256个GPU如何高效地“交流”彼此的学习成果。

    我们通过使用ImageNet-22K数据集的750万张图像(批量处理的图像尺寸为5120)来训练ResNet-101深度学习模型,证明了该分布式深度学习软件的扩展能力。团队使用了一个包含64台IBM Power服务器和总计256个NVIDIA P100 GPU加速器的集群,以非常低的数据通信开销实现了88%的扩展效率。

    Facebook AI研究所(FAIR)的一个团队此前实现了256个GPU的最佳扩展能力。FAIR在较小的数据集ImageNet-1K(拥有约130万张图像)上使用了一个较小的深度学习模型ResNet-50,两者都降低了计算的复杂性,而且使用了8192这一更大的批处理尺寸,他们使用Caffe2深度学习软件,在由256个NVIDIA P100 GPU加速的集群上,实现了89%的扩展效率。使用ResNet-50模型以及与Facebook相同的数据集,IBM研究院的DDL软件使用Caffe实现了95%的效率,如下图所示。

    IBMDDL在256个GPU间的扩展性能

    对于开发人员和数据科学家,IBM研究院的分布式深度学习(DDL)软件提供了一个API(应用编程接口),每个深度学习框架都可以接入该API,从而扩展到多台服务器上。Power AI企业级深度学习软件第4版提供了一个技术预览版,使这项集群扩展功能可以用于任何使用深度学习框架训练其AI模型的组织。我们期望,通过为AI社区提供DDL功能,更多的人将利用集群的强大功能进行AI模型训练,实现更高的准确性。

责任编辑:刘瑶琪

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。