对话 Hillery Hunter:IBM 通过有效地扩展训练缩短了神经网络的训练时间

阅读数:232 2017 年 9 月 29 日

话题:语言 & 开发AI

2017 年 8 月,IBM 宣布其打破了图识别功能的训练记录

IBM Research 能够将其 ResNet-50 神经网络布局的训练时间缩短到只有 50 分钟。在另一个名为 ResNet-101 的网络布局上,他们获得了 33.8%的准确率新记录。他们利用 256 个 GPU,在ImageNet-22K 数据集的 750 万张图训练其神经网络。相比之下,2017 年 6 月,Facebook 宣布能够在一个小时内训练他们的模型,但其使用了较小的数据集和较小的神经网络。IBM 将其成果作为一篇论文发表在 arXiv 上

InfoQ 联系了 IBM Research 认知计算加速基础架构主管 Hillery Hunter,并提出了几个问题。

InfoQ:您可以先说说你们试图破解此记录时遇到的问题吗? 你们的数据集有多大,其他人在使用同样的数据集时通常会遇到什么问题?

我们在 ResNet-101 训练中使用了 750 万张图片,当处理这么多数据时,计算花费的时间是一个重大挑战。如果在单台服务器上实施此训练,需要大约 16 天才能完成。今天很少有领域能容忍这么长的计算周转时间。所以我们想解决这个时间尺度的问题,将这一大量数据集的训练缩短到一天之内。

InfoQ: 256 多个 GPU 之间的通信在此成果中起到了非常重要的作用。您能说说你们做了什么以及它们如何帮助你们训练网络吗?

我们开发了一个自定义的通信库,可帮助系统中的所有学习单元(即 GPU)以非常接近最优的速度和带宽彼此进行通信。我们的库可以融入到任何深度学习框架(如 TensorFlow,Caffe 等)中,而不是被硬编码进深度学习软件包。当各个学习单元可以快速相互通信时,你便可以更有效地将更多学习单元添加到系统中,并更快完成训练。如果通信时间不够快,你就会遇到扩展瓶颈,并且无法应用更多的服务器 / GPU 来解决训练的问题。

InfoQ:您提到了扩展效率。之前的记录是 89%,但你们却达到了 95%。扩展效率究竟是什么,它与训练时间有何关系?

扩展效率可以衡量多台服务器共同有效地解决计算问题的能力。扩展效率越高,你就可以添加更多的服务器并加快解决问题的时间。95%的扩展效率意味着你不是只使用 1 台服务器来解决问题,而是使用 100 台服务器,所以它们解决问题的速度会快 95 倍。

InfoQ:在这种情况下,您使用 256 个 GPU 提供了 95%的扩展效率。如果我使用 10000 个 GPU,那么我的网络是不是能够加快 9500 倍的速度? 换句话说:速度是线性扩展的吗?限制因素有哪些?

我们相信我们新的通信库与最优已经非常接近了,而且我们预计会继续实现更高的 GPU 加速。现在,深度学习研究界正在努力解决一个被称为“批量大小”的限制因素。这个因素目前会令 10,000 个 GPU 运行起来非常困难,但如果克服了这一问题,那么扩展更多 GPU 将成为可能。

InfoQ:除了打破记录之外,你们还将准确率从 29.8%提高到 33.8%。这纯粹是因为更高的“训练能力”,还是因为改变了网络布局?

我们并未为这项工作设计新的神经网络。我们使用了全同步训练(得益于我们的低延迟通信库),并且由于训练时间上的优势,我们对许多图片进行了可行的训练。

InfoQ:你们的模型是在哪个框架下开发的?

公告中描述了我们在 Torch(ResNet-50)和 Caffe(ResNet-101)上完成的工作。通过 PowerAI 技术预览程序,IBM 服务器团队也将我们的分布式深度学习技术提供给了 TensorFlow 的用户。

InfoQ:您能解释一下 PowerAI 平台是什么以及它能为开发人员做些什么吗?

PowerAI 是一套深度学习功能,包括框架(如 Caffe、Tensorflow、Torch、Chainer 等)、多服务器支持以及一些为受 GPU 加速的 IBM 服务器预编译和预优化过的用户工具。PowerAI 可帮助用户避免使用开源深度学习工具的麻烦、加快训练时间并提升自定义数据集的深度学习性能。任何人都可以在自己的服务器上或在 Nimbix 云端试用 PowerAI 功能。

InfoQ:你们有计划提高训练速度吗? 您认为计算时间和准确度方面的限制是什么?

我们的分布式深度学习库在扩展效率方面已经非常接近最优了,但总体而言,我们相信深度学习的训练时间和准确性还能进一步提高。我们希望深度学习不只是停留在象牙塔中,而是要走出去。大型功能目前需要几周到一个月的时间才能到达客户手中,而客户仅需要在几分钟或几秒钟内就可以看到业务成果。

Hillery Hunter 简介:

Hillery Hunter 是 IBM Tats Watson 研究中心、加速认知基础设施团队的研究员和主管,该中心位于纽约 Yorktown Heights。她对跨学科技术课题包括硅到系统架构、采用新解决方案解决传统问题等较感兴趣。其团队致力于优化硬件协同、解决机器学习和深度学习等待时间的问题。其以前的工作主要在 DRAM 主存系统和嵌入式 DRAM 领域,其曾是 IBM 服务器和大型机 DDR3 的端对端存储器电源主管,拥有丰富的相关开发经验。2010 年,她在工程前沿研讨会上被美国国家工程院评为院士,她是美国获得此殊荣的顶尖年轻工程师之一。Hillery 博士拥有伊利诺伊大学厄巴纳 - 尚佩恩分校的电气工程博士学位,并且是 IBM 科技学院成员。2017 年她被任命为 IBM 研究员。

查看英文原文:https://www.infoq.com/news/2017/09/ibm-scale-neural-network-gpus


感谢罗远航对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。