导航菜单

超级计算机加速了深度学习训练

来自加州大学伯克利分校、加州大学戴维斯分校和德州高级计算中心(TACC)的一组研究人员公布了一项成果,该成果旨在利用超级计算机的能力来训练深度神经网络(DNN)来快速识别图像。

研究人员在TACC的Stampede2超级计算机上高效地使用了1024个Skylake处理器,用AlexNet在11分钟内完成了100-epoch ImageNet训练——这是迄今为止记录的最快时间。他们使用1600个Skylake处理器,在32分钟内用ResNet-50完成了90-epoch ImageNet的训练,并且在批处理大小超过20000的情况下,他们的准确性远远高于Facebook。(近年来,ImageNet基准测试——一种用于图像识别研究的可视化数据库——在评估DNN训练的不同方法方面发挥了重要作用。)

在Stampede2上使用512块Intel Xeon Phi芯片,他们在24分钟内完成了100-epoch AlexNet,在60分钟内完成了90-epoch ResNet-50。

领先的超级计算中心TACC的研究科学家赵章(音)说:“这些结果表明,利用先进的计算资源,比如TACC的计算资源,以及大型的微批量算法,以一种分布式的方式交互地训练深度神经网络是有潜力的。”“考虑到我们庞大的用户群和巨大的容量,这将对科学产生重大影响。”

他们于2017年11月在Arxiv上发表了研究结果。

DNN训练系统达到了最先进的“top-1”测试精度,这意味着模型答案(概率最高的答案)与预期答案的百分比。使用ResNet-50(一种由微软开发的卷积神经网络,赢得了2015年ImageNet大型视觉识别竞赛,并在ImageNet数据集上超越了人类的表现),他们获得了超过75%的准确率——与Facebook和亚马逊的批处理训练水平相当。将这项工作中的32,000个数据按批处理大小进行缩放,只损失了前1名中0.6%的准确性。

目前,深度学习研究人员需要使用试错法来设计新的模型。这意味着他们需要运行训练过程数十次甚至数百次来建立一个模型。

相对较慢的训练速度会影响科学的速度,以及研究人员愿意探索的科学类型。谷歌的研究人员指出,如果训练一个神经网络需要一到四天,研究人员认为这是可以忍受的。如果需要1 - 4周的时间,该方法将仅用于高值实验。如果需要超过一个月,科学家们甚至不会尝试。如果研究人员能在喝咖啡休息时完成训练过程,他们的工作效率将会大大提高。

该小组的突破包括分层自适应速率缩放(LARS)算法的开发,该算法能够有效地将数据分布到多个处理器,同时使用比以往任何时候都大的批处理大小(多达32,000个项目)进行计算。

LARS将更多的训练范例合并在一个前/后遍历中,并自适应地调整神经网路每一层之间的学习率,这取决于先前迭代中所收集到的度规。

由于这些变化,他们能够利用Stampede2上提供的大量Skylake和Intel Xeon Phi处理器,同时保持准确性,这与以前的大规模批处理方法不同。

“对于深度学习应用程序,更大的数据集和更大的模型可以显著提高准确性,但代价是需要更长的训练时间,”加州大学伯克利分校(UC Berkeley)数学和计算机科学教授詹姆斯·德梅尔(James Demmel)说。在NVIDIA的一次实习中,Y. You与B. Ginsburg和I. Gitman共同开发了LARS算法,该算法使我们能够在批量大小为32K的情况下保持准确性。如此大的批处理规模使我们能够高效地使用分布式系统,并在1024个Skylake处理器上用AlexNet在11分钟内完成ImageNet培训,这比之前的结果有了显著的改进。”

这些发现表明了一种替代使用专门硬件的趋势——gpu、张量流芯片、fpga或其他新兴架构——用于深度学习。该团队编写了基于Caffe的代码,并使用了Intel-Caffe,它支持多节点训练。

深度神经网络的训练阶段通常是深度学习中最耗时的部分。直到最近,加州大学伯克利分校领导的团队完成这一过程可能需要几个小时或几天。快速分布式训练的进步将影响科学的速度,以及研究人员可以用这些新方法探索的科学类型。

该实验是TACC更广泛努力的一部分,目的是测试CPU硬件在深度学习和机器学习应用程序和框架(包括Caffe、MXNet和TensorFlow)中的适用性。

TACC的专家演示了如何使用resNet-50处理器将Caffe扩展到1024个Skylake处理器上,该框架的运行效率约为73%,几乎是单个Skylake处理器的750倍。

TACC的数据密集型计算主管Niall Gaffney说:“使用普通的HPC服务器来快速训练大规模数据集上的深度学习算法,对于测量和模拟研究都是一个强大的新工具。”“由于不必在专门的硬件系统之间迁移大型数据集,数据驱动发现的时间减少了,整体效率可以显著提高。”

随着研究人员和科学学科越来越多地使用机器和深度学习来从大规模的实验和模拟数据集中提取见解,拥有能够处理这些工作负载的系统是很重要的。

最近的结果表明,这样的系统现在可以通过Stampede2之类的国家高级计算资源在开放科学社区中使用。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。