关于我们当前位置: > 关于我们 > 正文

五年加快500倍,英伟达GPU创纪录的突破和技术有什么?

发布时间:2018-08-09 09:51 浏览次数:佚名
▲点击雷锋网络顶部注意 文|赢驷 李iphone -深圳报道 雷锋网络( )艾研究所出版社,2017年5月,在GTC 2017上,英伟达CEO黄仁勋发布了伏打架构Tesla v100,这是有史以来最快的GPU加速器.。 2018年3月,同样在GTC上,黄仁勋发布了“世界上最大的GPU”——dgx - 2,拥有16个v100 GPU块,速度达到2pb.。 近年来,英伟达在高速计算的道路上走得越来越快.。 前几天,英伟达开发商的最后一篇博文详细介绍了英伟达volt core GPU在深度学习社区中取得的重大突破,以及各种突破背后的技术细节.。 全文主要内容如下:雷锋同志的爱学学会编撰和整理。 深入学习驱动的人工智能已经解决了过去被认为不可能解决的挑战,例如让计算机理解自然语言、进行对话和自动驾驶.。 由于深度学习能有效地解决一系列的挑战,算法的复杂度呈指数增长,能否加快计算速度?? 在此基础上,英伟达设计了伏打帐篷核心架构.。 为了加快计算速度,英伟达与许多公司和研究人员一样,一直在开发用于计算的软件和硬件平台.。 谷歌就是一个典型的例子. 他们的研究团队创造了TPU加速器,当使用TPU加速时,在训练神经网络时可以获得优异的性能.。 在本文中,我们分享了英伟达在GPU性能提升后在ai社区取得的一些进展:我们在单片机和单个服务器上创建了resnet - 50训练速度记录.。 最近,快. ai还通过使用NVIDIA volta tendor核心GPU宣布了他们在单个云实例上的创纪录性能. 。 以下是我们的结果: 训练resnet - 50时,v100张量核GPU的处理速度可达1075幅/秒,性能是以前Pascal GPU的4倍.。 由八个张量核v100驱动的dgx - 1服务器的处理速度可以达到7850图像/秒,几乎是去年在同一系统上( 4200图像/秒)的两倍。 由八个张量核v100驱动的AWS P3云实例可以在不到3小时的时间内完成resnet - 50训练,比TPU实例快3倍.。 图1 :沃尔特帐篷核心GPU在resnet - 50训练中实现的速度突破. GPU在大规模并行处理算法中非常有效,非常适合于深入学习.。 我们从未停止过探索,张量核GPU是我们利用多年的经验和与世界各地人工智能研究者的密切合作,为深入学习模型而创建的一种新架构.。 结合所有现有框架中的高速NV链路互连和深度优化,我们实现了最先进的性能.。 NVIDIA cuda图形处理单元的可编程性在这里也非常重要.。 将tenar核心图形处理器体系结构引入到NVIDIA伏打图形处理器中,是NVIDIA深度学习平台的一大进步.。 这种新硬件可以加快矩阵乘法和卷积运算的速度,在神经网络的训练中占了很大的比例.。 NVIDIA tendor核心GPU体系结构可以提供比ASIC更高的性能,并且可以在不同的工作负载下进行编程.。 例如,每个Tesla v100张量核GPU可以达到125兆兆位的计算速度进行深入学习,而Google TPU芯片只能达到45兆位.。 具有4个TPU芯片的“云TPU”可以达到125兆位触发器,而4个v100芯片可以达到500兆位触发器.。 我们的cuda平台使每个深入的学习框架能够充分利用tendor核心GPU的所有功能,加速CNN、rnn、gan、rl等各种神经网络,以及每年基于这些网络出现的数万个变种.。 接下来是对张量核心架构的更深入的解释,您可以在这里看到它的独特功能.。 无花果. 2给出了用张量核计算张量的过程. 虽然存储在低精度fp16中,但可以使用高精度fp32计算,这可以在保持精度的同时最大化吞吐量.。 图2 :沃尔特腱索核心矩阵乘法计算 通过最近的软件改进,在单个v100上训练resnet - 50的速度达到1360个图像/秒.。 我们现在正在尝试将此培训软件集成到流行的框架中,具体内容如下。 为了获得最佳性能,基于张量核的张量运算存储器布局应该是通道交错数据布局(数字-高度-宽度-通道,通常称为nhwc ),但默认情况下通常是通道主要数据布局(数字-通道-宽度-高度,通常称为nchw )。 因此,Cu dnn库将在nchw和nhwc之间执行张量转换操作,如图. 3.。 如前所述,由于卷积运算现在非常快,因此这些转置操作占用了总运行时间的相当大部分.。 为了消除这些转置操作,我们直接使用nhwc格式来表示rn - 50模型图中的每个张量,mxnet框架支持这个功能.。 此外,对于所有其他非卷积层,我们还将优化的nhwc实现添加到MX网络和Cu dnn中,从而消除了训练过程中张量变换的需要.。 图3 :优化nhwc格式以消除张量变换 另一种优化是基于ardam定律(并行计算中的加速比用并行前的执行速度与并行后的执行速度之比表示,表明并行后效率的提高),可以预测并行处理的理论加速.。 由于张量核极大地加快了矩阵乘法和卷积层的计算,其他层的计算占用了训练总运行时间的很大一部分.。 我们可以识别这些新的性能瓶颈并对其进行优化.。 如图1所示. 4、数据将移入或移出dram,因此许多非卷积层的性能将受到限制.。 通过使用片上存储器可以将连续层熔合在一起以避免dram流量.。 例如,我们在mxnet中创建了一个图形优化传递函数来检测连续添加层和重新添加层,并尽可能地用融合层替换这些层.。 在MX网络中,nnvm (神经网络虚拟机)可以非常简单地用于实现这些类型的优化.。 图4 :执行层融合操作以消除重复的数据读/写 最后,我们继续为公共卷积创建额外的专用内核以进行优化.。 我们目前正在将其中的许多优化应用于许多深入的学习框架,包括帐篷流、py火炬和MX net. 。 我们使用单张量核v100 GPU进行标准的90年代训练. 通过对mxnet的改进,处理速度达到1 075幅/秒. 同时,我们的训练达到了与单精度训练相同的一级分类精度( 75 %以上).。 我们在单机测试中的处理速度可以达到1360图像/秒,这意味着性能还有很大的改进空间.。 NVIDIA优化的深度学习框架容器可用于提高NGC ( NVIDIA GPU云)的性能。 多个GPU可以作为单个节点运行以实现更高吞吐量.。 然而,当缩小多个GPU以在单个服务节点中工作时,必须在GPU之间具有高带宽/低延迟通信路径.。 英伟达NV链路高速互连结构允许我们将8台GPU作为一台服务器运行,实现性能扩展.。 这些大规模的加速服务器可以使深入的学习计算达到千万级的速度,可以广泛应用于云部署和本地部署.。 然而,虽然将GPU扩展到8可以显著提高训练性能,但是在此框架下,主CPU在执行其他任务时的性能将受到限制.。 此外,在该框架中,连接GPU的数据管道的性能要求极高.。 数据流水线从盘读取编码的JPEG样本,然后执行解码、调整大小和图像增强的操作(如图1所示. 5 )。 这些操作提高了神经网络的学习能力,从而提高了训练模型的预测精度.。 但是,由于在培训期间有八个GPU在运行,这将限制框架的整体性能.。 图5 :图像解码和增强数据流水线 为了解决这个问题,我们开发了Dali (数据扩充库),这是一个独立于框架的库,可以将计算从CPU传输到GPU.。 如图1所示. 6、Dali将JPEG解码、调整图像大小和所有其他增强操作的一部分移动到GPU.。 这些操作在GPU上的执行速度远远快于在CPU上的执行速度,从而减轻了CPU的负载.。 大理使得cuda的并行处理能力更加突出.。 消除CPU瓶颈后,单个节点上的计算速度可达到7850映像/秒.。 图6 :使用Dali优化工作负载 英伟达正在帮助将Dali集成到所有主流人工智能框架中.。 此解决方案有助于提高8 GPU以上的系统的性能,例如英伟达最近发布的16特斯拉v100 GPU的dgx - 2.。 采用单GPU和单节点操作训练resnet - 50 ( 90年代),使预测精度达到75 %以上。 通过算法的改进和超参数的调整,可以进一步缩短训练时间,以较少的时间获得较高的精度.。 GPU具有可编程的特性,支持所有深入的学习框架,使人工智能研究人员能够探索新的算法,并利用现有算法进行研究.。 紧的. ai团队最近分享了基于英伟达硬件的优秀成果,他们使用py火炬在远小于90年代的训练中提供了高精度.。 杰里米霍华德和法斯特. 人工智能研究人员使用8v 100张量核GPU,在AWS P3实例上使用imagenet对resnet - 50进行了训练.。 他们对算法进行了改进,调整了一系列超参数,并在不到3小时的时间内完成了模型的训练,比基于云实例的TPU计算速度快3倍(训练resnet - 50耗时近9小时)。 我们还希望本博客中描述的提高吞吐量的方法也可以应用于其他培训,如前面提到的fast.. 人工智能的例子。 自从克里哲夫斯基以两个gtx 580 GPU赢得imagenet竞争后,我们在加速深入学习方面取得的进步令人难以置信.。 克里哲夫斯基花了六天时间训练他的神经网络——亚历克斯网,这比当时所有其他图像识别方法都表现得好,引发了一场深入学习的革命.。 我们最近发布的dgx - 2可以在18分钟内训练亚历克斯网.。 如从图1中可以看出. 7、在过去五年或更长时间内,随着硬件性能的提高,处理速度提高了500倍.。 图7 :在imagenet上培训Alex net所需的时间 Facebook人工智能研究所( fair )已向其语言翻译模型fair seq开放源代码. 在不到一年的时间里,基于dgx - 2和软件堆栈的改进(见图8 ),我们在seq.。 图8 :培训公平序号所需的时间 图像识别和语言翻译只是研究者利用人工智能解决无数问题的用例之一.。 github拥有超过60,000个使用GPU加速框架的神经网络项目,并且GPU可编程性为ai社区正在构建的所有类型的神经网络提供加速.。 我们的快速改进使人工智能研究人员能够想象更复杂的神经网络来解决更困难的挑战.。 这些长期的改进归功于我们针对GPU加速计算的全堆栈优化算法.。 从构建最先进的深度学习加速器到复杂系统( hbm、cow操作系统、sxm、NV交换机、dgx ),从高级数字计算库和深度软件堆栈( Cu dnn、nccl、NGC )到加速所有dl框架,英伟达对人工智能的承诺为人工智能开发人员提供了无与伦比的灵活性.。 我们将继续优化整个堆栈,不断实现性能的指数级提升,为ai社区提供有力工具,促进深入研究和创新研究.。 人工智能不断改变着各行各业,淘汰了无数的用例.。 理想的人工智能计算平台需要提供卓越的性能,支持大型和不断增长的模型,并可编程以满足各种模型的需求.。 NVIDIA的volta tent核心GPU是世界上最快的人工智能处理器,只有一个芯片可以使深入学习的训练速度达到125万亿次.。 我们将很快将16个特斯拉v100数据块集成到一个服务器节点中,以创建世界上最快的计算服务器,并提供2pb的计算性能.。 除了卓越的加速性能外,GPU的可编程性及其在云、服务器制造商和整个ai社区中的广泛应用将带来下一次ai变革.。 无论您选择哪种深度学习框架( caffe 2、chaliner、认知工具包、kaldi、keras、MATLAB、mxnet、桨叶、py火炬、帐篷流),您都可以使用英伟达硬件加速学习.。 此外,英伟达GPU每年还用于培训CNN、rnn、gan、rl、混合网络架构以及基于这些网络的数千种变体.。 目前在人工智能领域有许多令人惊讶的应用,我们期待着为人工智能的下一步发展提供动力.。 通过:发展博客. 恩维迪亚. 雷锋网络爱学会的组建与安排 注意回复否.2 .与读者交朋友. 资料来源: http : / /万维网. 义田子胥. 内容? 身份证号码= 34646880