5 年提速 500 倍,英伟达 GPU 创纪录突破与技术有哪些?

640?wx_fmt=png&wxfrom=5&wx_lazy=1

作者:诗颖

摘要:日前,英伟达 Developer Blog 上一篇博文详细陈述了英伟达 Volta Tensor Core GPU 在深度学习社群取得的巨大突破,以及种种突破背后的技术细节。


2017 年 5 月,在 GTC 2017 上,英伟达 CEO 黄仁勋发布 Volta 架构 Tesla V100,它被称为史上最快 GPU 加速器。2018 年 3 月,同样也是在 GTC 上,黄仁勋发布「全球最大的 GPU」——DGX-2,搭载 16 块 V100 GPU,速度达到 2 petaflops。


近年来,英伟达在高速计算之路上越走越快。日前,英伟达 Developer Blog 上一篇博文详细陈述了英伟达 Volta Tensor Core GPU 在深度学习社群取得的巨大突破,以及种种突破背后的技术细节。


正文如下:


由深度学习驱动的人工智能现在解决了曾一度被认为不可能的挑战,比如让计算机理解自然语言、进行对话以及自动驾驶。既然深度学习能如此有效地解决一系列挑战,随着算法复杂度呈现指数级增长,我们是否能将计算变得更快呢?基于此,英伟达设计了 Volta Tensor Core 架构。


为了更快地计算,英伟达与许多公司以及研究人员一样,一直在开发计算的软件和硬件平台。Google 是个典型的例子——他们的研究团队创建了 TPU(张量处理单元)加速器,当利用 TPU 进行加速时,在训练神经网络时可以达到优异的性能。


这篇文章中,我们分享了英伟达实现 GPU 巨大的性能提升后,在 AI 社群中取得的一些进步:我们已经在单芯片和单服务器上创造了 ResNet-50 的训练速度记录。最近,fast.ai 也宣布了他们利用英伟达 Volta Tensor Core GPU 在单个云实例上的创纪录表现 。


以下是我们的结果:


  • 在训练 ResNet-50 时,一个 V100 Tensor Core GPU 的处理速度能达到 1075 张图像/秒,与上一代 Pascal GPU 相比,它的性能提高了 4 倍。


  • 一个由 8 个 Tensor Core V100 驱动的 DGX-1 服务器的处理速度能达到 7850 张图像/秒,几乎是去年在同一系统上处理速度(4200 张图像/秒)的两倍。


  • 一个由 8 个 Tensor Core V100 驱动的 AWS P3 云实例可以在不到 3 小时内完成

    ResNet-50 的训练,比 TPU 实例快 3 倍。


640?wx_fmt=jpeg

图 1:Volta Tensor Core GPU 在训练 ResNet-50 时所取得的速度突破


英伟达 GPU 在对算法进行大规模并行处理时效果极好,因此它极其适合用于深度学习。我们一直都没有停止探索的脚步,Tensor Core GPU 是我们利用多年的经验和与世界各地的人工智能研究人员的密切合作,为深度学习模型创造的一种新的架构。


结合高速 NVLink 互连以及在当前所有框架内的深度优化,我们获得了最先进的性能。英伟达 CUDA GPU 的可编程性在这里也非常重要。


V100 Tensor Core 打破了单处理器的最快处理速度记录


英伟达 Volta GPU 中引入了 Tensor Core GPU 架构,这是英伟达深度学习平台的巨大进步。这种新硬件能加速矩阵乘法和卷积计算,这些计算在训练神经网络时占总计算的很大一部分。


英伟达 Tensor Core GPU 架构能够提供比功能单一的 ASIC 更高的性能,在不同工作负载下仍然具备可编程性。例如,每一个 Tesla V100 Tensor Core GPU 用于深度学习可以达到 125 teraflop 的运算速度,而 Google TPU 芯片只能达到 45 teraflop。包含 4 个 TPU 芯片的「Cloud TPU」可以达到 125 teraflop,相比之下,4 个 V100 芯片可以达到 500 teraflop。


我们的 CUDA 平台使每一个深度学习框架都能充分利用 Tensor Core GPU 的全部能力,加速诸如 CNN、RNN、GAN、RL 等各类神经网络,以及基于这些网络每年出现的成千上万个变种。


接下来是对 Tensor Core 架构的更深入讲解,大家可以在这里看到它独特的功能。图 2 显示了 Tensor Core 计算张量的过程,虽然存储是在低精度的 FP16 中,但是用精度更高的 FP32 来进行计算,可以在维持精度时最大化吞吐量。


640?wx_fmt=jpeg

图 2:Volta Tensor Core 矩阵乘法计算


随着最近的软件改进,目前在单个 V100 上训练 ResNet-50 的速度达到了 1360 张图像/秒。我们现在正努力将这一训练软件集成到流行的框架中,详情如下。


为了让性能最佳,基于 Tensor Core 进行张量操作的存储器布局应该为 channel-interleaved 型数据布局(Number-Height-Width-Channel,常被称为 NHWC),但往往默认是 channel-major 型数据布局(Number-Channel-Width-Height,通常称为 NCHW)。因此,cuDNN 库会在 NCHW 和 NHWC 之间执行张量转置操作,如图 3 所示。正如前面所提到的,由于卷积运算现在的速度非常快,所以这些转置操作占了总运行时间中相当大的一部分。


为了消除这些转置操作,我们直接用 NHWC 格式表示 RN-50 模型图中的每个张量,MXNet 框架支持这一功能。此外,对所有其他非卷积层,我们还将优化的 NHWC 实现添加到 MXNet 和 cuDNN 中,从而消除了训练过程中对张量转置的需求。


640?wx_fmt=jpeg

图 3:优化 NHWC 格式,以消除张量转置


另一个优化是基于阿尔达姆定律(并行计算中的加速比是用并行前的执行速度和并行后的执行速度之比来表示的,它表示了在并行化之后的效率提升情况),这一法则能预测并行处理的理论加速。由于 Tensor Core 显著地加速了矩阵乘法和卷积层的计算,因此在训练时对其他层的计算占据了总运行时间很大的一部分。我们可以确定这些新的性能瓶颈并进行优化。


如图 4 所示,数据会移动到 DRAM 或从 DRAM 中移出,因此许多非卷积层的性能会受到限制。可以利用片上存储器将连续的层融合在一起,避免 DRAM traffic。例如,我们在 MXNet 中创建一个图优化传递功能,以检测连续的 ADD 和 ReLu 层,只要有可能就将这些层替换成融合层。在 MXNet 中可以非常简单地使用 NNVM(神经网络虚拟机,Neural Network Virtual Machine)来实现这些类型的优化。


640?wx_fmt=jpeg

图 4 : 进行层融合操作,消除反复数据读/写


最后,我们继续为常见的各类卷积创建额外的专用 kernel,以进行优化。


我们目前正在将许多这种优化应用于多个深度学习框架之中,包括 TensorFlow、PyTorch 和 MXNet 。我们利用单个 Tensor Core V100 GPU 进行标准的 90-epoch 训练,基于在 MXNet 上做的改进,处理速度达到 1075 张图像/秒,与此同时,我们的训练与单精度训练一样达到了相同的 Top-1 分类精度(超过 75%)。我们在单机测试中的处理速度可以达到 1360 张图像/秒,这意味着性能还有很大的提升空间。可以在 NGC(NVIDIA GPU CLOUD)上利用 NVIDIA-optimized deep learning framework containers 实现性能的提升。


创纪录的最高单节点速度


多个 GPU 可以作为单节点运行,以实现更高的吞吐量。然而,在将多个 GPU 缩到单服务节点中工作时,需要 GPU 之间存在高带宽/低延迟通信路径。英伟达 NVLink 高速互连结构允许我们将 8 个 GPU 作为单服务器运行,实现性能扩展。这些大规模的加速服务器可以让深度学习的计算达到 petaflop 量级的速度,并且在云端和本地部署中都可以被广泛使用。


然而,虽然将 GPU 扩展到 8 个可以显著提高训练性能,但在这种框架下,主 CPU 执行其他工作时性能会受到限制。而且,在这种框架下,对连接 GPU 的数据管道性能要求极高。


数据管道从磁盘中读取编码的 JPEG 样例,然后再执行解码、调整图像大小、图像增强(如图 5 所示)操作。这些操作提高了神经网络的学习能力,从而提高了训练模型的预测准确性。而因为在训练时,有 8 个 GPU 在进行运算操作,这会限制框架的整体性能。


640?wx_fmt=jpeg

图 5:图像解码和增强数据管道


为了解决这个问题,我们开发了 DALI(Data Augmentation Library,数据扩充库),这是一个与框架无关的库,可以将计算从 CPU 转移到 GPU 上。如图 6 所示,DALI 将 JPEG 解码的一部分、调整图像大小以及其他所有增强操作移动到 GPU 上。这些操作在 GPU 上的执行速度要比在 CPU 上快得多,这缓解了 CPU 的负荷。DALI 使得 CUDA 的并行处理能力更加突出。消除 CPU 瓶颈之后,在单节点上的计算速度可以达到 7850 张图像/秒。


640?wx_fmt=jpeg

图 6:利用 DALI 优化工作负荷


英伟达正在帮助将 DALI 融入到所有主流人工智能框架中。这一解决方案有助于提升具备 8 个以上 GPU 的系统的性能,比如英伟达最近发布的带有 16 个 Tesla V100 GPU 的 DGX-2


创纪录的单个云实例处理速度


我们使用单 GPU 和单节点运行来训练 ResNet-50(90 epoch),使预测准确率超过 75%。通过算法的创新和超参数调节,可以进一步减少训练时间,在更少的 epoch 下达到更高精度。GPU 具备可编程的特性,并支持所有深度学习框架,这使得 AI 研究者能够探索新的算法,并利用现有的算法进行研究。


fast.ai 团队最近分享了基于英伟达硬件的优秀成果,他们使用 PyTorch 在远小于 90 epoch 的训练下达到了很高的精确度。Jeremy Howard 和 fast.ai 的研究人员利用 8 个 V100 Tensor Core GPU,在一个 AWS P3 实例上用 ImageNet 训练 ResNet-50。他们对算法进行创新,调节了一系列超参数,不到 3 个小时就将模型训练好了,这比基于云实例的 TPU 计算(需要将近 9 个小时来训练 ResNet-50)快三倍。


我们进一步期望这一博客中描述的提高吞吐量的方法同样也适用于其他训练,例如前面提到的 fast.ai 的例子。


效果呈现指数级增长


自从 Alex Krizhevsky 利用两块 GTX 580 GPU 赢得了 ImageNet 比赛,我们在深度学习加速方面所取得的进步令人难以置信。Krizhevsky 当时花了 6 天时间来训练他的神经网络——AlexNet,这一网络在当时的表现优于所有其他的图像识别方法,引发了一场深度学习革命。我们最近发布的 DGX-2 可以在 18 分钟内训练好 AlexNet。从图 7 可以看到,在这 5 年多的时间里,随着硬件性能的提升,处理速度加快了 500 倍。


640?wx_fmt=jpeg

图 7:在  ImageNet 上训练 AlexNet 所需要的时间


Facebook 人工智能研究院(FAIR)开源了他们的语言翻译模型 Fairseq,在不到一年的时间里,我们基于 DGX-2 和软件栈的改进(见图 8),在训练 Fairseq 时实现了 10 倍的加速。


640?wx_fmt=jpeg

图 8:训练 Fairseq 所需要的时间


图像识别和语言翻译仅仅是研究人员用 AI 力量解决无数难题的用例之一。Github 上共有超过 6 万个使用 GPU 加速框架的神经网络项目,GPU 的可编程性为 AI 社群正在构建的所有类型的神经网络提供加速。我们的快速改进使得 AI 研究人员能够想象出更复杂的神经网络,以解决更困难的挑战。


这些长久的进步得益于我们对 GPU 加速计算的全堆栈优化算法。从构建最先进的深度学习加速器到复杂的系统(HBM、COWOS、SXM、NVSwitch、DGX),从先进的数字计算库和深度软件栈(cuDNN,NCCL,NGC) 到加速所有的 DL 框架,英伟达对 AI 的承诺为 AI 开发者提供了无与伦比的灵活性。


我们将继续优化整个堆栈,并持续实现性能的指数级提升,为 AI 社群提供推动深度学习创新研究的有力工具。


总结


AI 继续改变着各行各业,驱动出无数用例。理想的 AI 计算平台需要提供出色的性能,能支持庞大且不断增长的模型,并具备可编程性,以应对模型的多样性需求。


英伟达的 Volta Tensor Core GPU 是世界上最快的 AI 处理器,只用一块芯片就能让深度学习的训练速度达到 125 teraflop。我们很快会将 16 块 Tesla V100 整合到一个单服务器节点中,以创建世界上最快的计算服务器,提供 2 petaflops 的计算性能。


除了在加速上的优异性能,GPU 的可编程性以及它在云、服务器制造商和整个 AI 社群中的广泛使用,将带来下一场 AI 变革。


无论你选择什么深度学习框架(Caffe2, Chainer, Cognitive Toolkit, Kaldi, Keras, Matlab, MXNET, PaddlePaddle, Pytorch,TensorFlow),都可以用英伟达硬件进行加速。此外,英伟达 GPU 还用于训练 CNN、RNN、GAN、RL、混合网络架构以及每年基于这些网络的成千上万个变体。AI 社群中目前存在很多惊人的应用,我们期待着为 AI 的下一步发展提供动力。


640?wx_fmt=png

未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【译】Lesson 1: 一个三角形和一个方块

【声明】:本系列文章译自:http://learningwebgl.com/blog/?page_id1217, 感谢Giles Thomas;限于我的英文水平,本文翻译并不一定严格遵从原文,但也不会严重背离原文(如果有,请务必知…

小甲鱼 OllyDbg 教程系列 (三) :PJ 软件功能限制

小甲鱼OllyDbg教程:https://www.bilibili.com/video/av6889190?p8 https://www.freebuf.com/articles/system/87723.html 程序下载地址:https://pan.baidu.com/s/1OprawMSCXPZw1wuY5vxMmA 提取码: tp9e 无壳的实例 目标:去除软件功能限制…

特朗普即将主持AI会议 中美竞争成焦点

来源:华尔街见闻摘要:特朗普将用一整天在白宫主持他当选以来的第三次科技大会,这次的主题是人工智能(AI)。特朗普都将和硅谷巨头们探讨AI相关话题。其中,对AI技术的监管以及中美之间的AI竞争将会是会议的焦…

Fedora 10初体验

一、前奏 Fedora 10 - 熄灭吧 Fedora 是基于 Linux 的操作细碎,包罗了从容和开源软件最新的效果。Fedora 准许通通人从容操纵、修正和重新宣布。它由普及举世的贡献者协作开发,他们组成了 Fedora 项目社区。Fedora 项目对通通人都是开放的。 Fedora 项目…

DeepMind重大突破:AI进化出大脑级导航能力,像动物一样会“抄小路”

作者:刘伟摘要:DeepMind团队称,其最新研发出的一个人工智能程序具有类似哺乳动物一样的寻路能力。美国东部时间 5 月 9 日,一手打造 AlphaGo的DeepMind 团队又在世界顶级学术杂志《自然》上发表了一项重磅成果。在一篇题为 Vector…

小甲鱼 OllyDbg 教程系列 (十二) : inline patch ( 内嵌补丁 ) 之 调用堆栈查找法

小甲鱼 OD 教程:https://www.bilibili.com/video/av6889190?p20 堆栈调用方法 程序运行后,直接断点到 004DC0D1 这个 位置,按 F8一直没反应,打开程序,可以看到 neg 窗口, 点击 exit ,关闭 neg …

Solaris 11 安装图解(8)

豆豆网 技能应用频道 图 13 完成安装界面 完成安装之后,安装日记会保留在文件中。可在以下地位检查安装日记:■ /a/var/sadm/system/logs/install_log■ /a/var/sadm/system/logs/upgrade_log■ /a/var/sadm/system/logs/sysidtool.log三、 系统登录…

CPU是如何制造出来的

来源:EDN电子技术设计摘要:Intelx86架构已经经历了二十多个年头,而x86架构的CPU对我们大多数人的工作、生活影响颇为深远。CPU是现代计算机的核心部件,又称为“微处理器”。对于PC而言,CPU的规格与频率常常被用来作为衡…

解析:GE工业互联网平台Predix

来源:赛迪智库摘要:当前,工业互联网平台作为我国构建工业互联网生态的核心载体,成为推动制造业与互联网融合的重要抓手。早在2012年GE提出工业互联网的概念,随后推出Predix,要将GE在工业领域的技术设备硬件…

小甲鱼 OllyDbg 教程系列 (十三) : 把代码和变量注入程序 以及 硬件断点

小甲鱼 OllyDbg 视频教程:https://www.bilibili.com/video/av6889190?p21 程序下载地址:https://pan.baidu.com/s/1A4-BDgbdUgy-cmI4IMMzYw 提取码:jsdv 开始,按照惯例,首先用 PEiD 打开,看下是什么语…

小甲鱼 OllyDbg 教程系列 (十四) : 模态对话框 和 非模态对话框 之 URlegal 和 movgear

小甲鱼 OD 使用教程:https://www.bilibili.com/video/av6889190?p22 exeScope 下载:https://pan.baidu.com/s/1dSWapltdQsX9ttl_lSoq_g 提取码:yz2p URlegal 下载:https://pan.baidu.com/s/1Ljbvsnk_1Ps0e-cp7a1F9A 提取码…

Swiftfox:极速的冲浪体验

Toy Posted in Apps将 Firefox 针对特定的处置惩罚器进行优化之后,便成了 Swiftfox。行使 Swiftfox,无论是启动次第本人,还是阅读网站内容,都能让你觉取得一股强烈的极速之风。更爽的是,你之前所用的 Firefox 设置、主…

小甲鱼 OllyDbg 教程系列 (十五) : 逆向注册机简单算法

小甲鱼 OD 教程: https://www.bilibili.com/video/av6889190?p24 KeygenMe 下载地址:https://pan.baidu.com/s/1gXAscM3WCNpIqxIm5t1rrQ 提取码:z5in 前言 用 OD 打开程序 输入框 常用 API,当不知道是哪个时,可…

以大自然为师,可上天入地的11款仿生机器人

来源:资本实验室尽管人类已经借助科技的力量改造了世界,但许多技能仍然为人类所不拥有,很多恶劣的环境仍然是人类的禁区。而经过大自然的“公平选择”,使得某些生物具有我们所不具备的独特“技能”“,也适合在人类难以…

深度分析:区块链技术未来发展的 8 个趋势

来源:36氪CB Insigh日前发表了一份关于区块链技术的研究报告,结合区块链目前的发展现状,提出了区块链技术未来发展的8个趋势。虽然加密货币和加密资产的价格已从2017年的峰值回落,但区块链创业公司的股权投资,在2018年…

小甲鱼 OllyDbg 教程系列 (十六) : 简单病毒的逆向分析

小甲鱼 OD 教程( 多态 和 变形 分析 ): https://www.bilibili.com/video/av6889190?p25 https://www.bilibili.com/video/av6889190?p26 ReverseMe Tutorial.zip:https://pan.baidu.com/s/1xOUvXqX6lVdcCwQvpql…

全文解析:面向基于区块链的「机器人经济学」概念中,如何验证自主智能体的行为?...

原文来源:arXiv作者:Konstantin Danilov、Ruslan Rezin、Alexander Kolotov、 Ilya Afanasyev「雷克世界」编译:嗯~是阿童木呀、KABUDA、EVA随着AI技术的发展,自主智能体在速度和精确度方面有了很大的提升,变得更加智能…

小甲鱼 OllyDbg 教程系列 (十七) : 反调试

小甲鱼 OD 教程:https://www.bilibili.com/video/av6889190?p27 ReverseMe.A.B.C.D 下载地址:https://pan.baidu.com/s/1_aVUa6aDATSpE6bQgc6hLA 提取码:ebo2 [调试篇] 调试篇 - 第二十二讲 - OD使用教程22(视频课件试验程序…

一张图看懂微软人工智能

来源:微软科技摘要:对于微软人工智能,你了解多少?是Cortana?是小冰?还是机器翻译?看完下面这张信息图,你会发现你所了解的,很可能只是冰山一角。看完你是否想要立刻参加微…

Pycharm 快捷键 整理

From:http://www.cnblogs.com/themost/p/6900370.html Pycharm 版本控制之本地 Git 用法:https://blog.csdn.net/u013088062/article/details/50350520PyCharm 中文指南(Win版):https://pycharm.iswbm.com/ github:https://github…