英伟达 CEO 黄仁勋发布 Volta 架构 Tesla V100,它被称为史上最快 GPU 加速器。2018 年 10月,同样也是在 GTC 上,黄仁勋发布「全球最大的 GPU」——DGX-2,搭载 16 块 V100 GPU,速度达到 2 petaflops。
近年来,英伟达在高速计算之路上越走越快。日前,英伟达 Developer Blog 上一篇博文详细陈述了英伟达 Volta Tensor Core GPU 在深度学习社群取得的巨大突破,以及种种突破背后的技术细节。正文如下,雷锋网 AI 研习社编译整理。
由深度学习驱动的人工智能现在解决了曾一度被认为不可能的挑战,比如让计算机理解自然语言、进行对话以及自动驾驶。既然深度学习能如此有效地解决一系列挑战,随着算法复杂度呈现指数级增长,我们是否能将计算变得更快呢?基于此,英伟达设计了 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 倍。
图 1:Volta Tensor Core GPU 在训练 ResNet-50 时所取得的速度突破
英伟达 GPU 在对算法进行大规模并行处理时效果极好,因此它极其适合用于深度学习。我们一直都没有停止探索的脚步,Tensor Core GPU 是我们利用多年的经验和与世界各地的人工智能研究人员的密切合作,为深度学习模型创造的一种新的架构。
我们获得了最先进的性能。英伟达 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 来进行计算,可以在维持精度时最大化吞吐量。
图 2:Volta Tensor Core 矩阵乘法计算
随着最近的软件改进,目前在单个 V100 上训练 ResNet-50 的速度达到了 1360 张图像/秒。我们现在正努力将这一训练软件集成到流行的框架中,详情如下。
为了让性能最佳,基于 Tensor Core 进行张量操作的存储器布局应该为 channel-interleaved 型数据布局(Number-Height-Width-Channel,常被称为 NHWC),但往往默认是 channel-major 型数据布局(Number-Channel-W