在过去六年中,机器学习领域的关注点都集中在神经网络的训练以及GPU加速器如何从根本上提高网络的准确性上,这要归功于GPU大内存带宽和并行计算能力。现在,机器学习行业正趋于平衡,越来越多的关注点转移到了推理上,也就是使用训练模型基于新数据做一些有用的事情。
推理对于Nvidia来说绝对不陌生,尽管它之前一直致力于创建机器学习训练平台。如果你要训练神经网络,一定要在新数据上运行,所以不可避免地要进行推理。
Nvidia的第一个基于GPU的推理引擎是Tesla M4(基于“麦克斯韦”GM106 GPU,主要支持单精度浮点数学运算)和Tesla M40(基于GM204 GPU,主要用于机器学习训练,也不支持双精度)。这两个设备于2015年11月问世,当时的神经网络的复杂度要低得多。Tesla M4的单精度性能可以达到2.2 teraflops,并且提供了50瓦或75瓦热封套版本。Tesla M4拥有1024个CUDA内核和8 GB GDDR5帧缓冲内存,内存带宽达到了88 GB/秒。这比Xeon CPU的内存要少得多,但与典型的双插槽Xeon系统能够提供的内存带宽相当,并且在推理方面提供了足够的并行计算来打败X86系统。但Xeon服务器已经存在于数据中心中,所以公司在很大程度上仍然需要依赖它们。
两年前,当Nvidia推出专门针对机器学习推理的Tesla P4和P40加速器时,它在市场上占有一席之地并对这部分市场进行了更为认真的尝试。当时我们还创造了所谓的Buck定律,它假定世界上生成的数据在其生命周期内都需要进行千兆次的计算。这个说法当然不是很精确的,提出这个说法的是NvidiaTesla数据中心业务部副总裁兼总经理Ian Buck。这个说法其实是涵盖了各种工作负载,并不仅限于机器学习训练和推理。Nvidia在构建用于HPC和AI工作负载的GPU计算的Tesla硬件和CUDA软件方面做了很出色的工作,并且正在扩展到其他领域,例如GPU加速数据库以及传统的虚拟桌面和部分虚拟工作站。
推理引擎被嵌入到各种各样的系统中,因为机器学习现在已经成为应用程序栈的一部分。这一切都始于超大规模的公司,他们拥有足够的数据进行机器学习,而GPU又提供了足够的内存带宽和并行计算能力让机器学习训练算法发挥作用。Facebook每天的视频浏览量超过10亿,背后有机器学习推荐引擎和搜索引擎在推动,而谷歌和Bing每天由语音识别驱动的搜索超过10亿次。网页浏览量和搜索量每天带来超过1万亿次广告展示。微软是公开承认正在使用GPU加速视觉搜索的超大规模公司之一。
两年前的Tesla P4加速器将GPU推理提升了一个档次,在同样的50瓦和75瓦热封套中包含了2560个核心,性能达到了单精度5.5teraflops,而使用新的INT8八位整数格式可达到22 teraops。Tesla P4配备8 GB GDDR5内存,并提供超过两倍的内存带宽,以平衡两倍于192 GB/秒的计算量。
Tesla P4加速器是一个不错的推理设备,并已经被用在很多工作负载上。Buck不能随意透露推理业务的实际收入,特别是Tesla P4的实际收入,但他通过The Next Platform分享了推理工作类型的收入细分:
目前,视频识别推理正在推动其中一半的业务,语音处理大约占四分之一。搜索也很重要。这个饼图无疑会随着时间的推移而改变。Buck补充说,Tesla的推理收入流已经成为“业务的重要组成部分”。
今天,在日本GPU技术大会上宣布的Tesla T4加速器正在将GPU推理推向新的高度。
机器学习软件栈正在发生快速的变化,很多芯片制造商正在寻找推理方面的机会,Buck声称这个市场在未来五年可以达到200亿美元的规模。(这意味着在五年之后,机器学习推理将推动200亿美元的基础设施销售,而不仅仅是与基础设施相关的芯片销售。)重点是,正如英特尔所说的那样,两年前95%的机器学习推理已经部署在了X86服务器上,这些服务器并没有使用加速器或其他类型的处理器。但仍然有大量数据需要进行推理,无论它们是在我们的智能手机中,在网络边缘,还是在数据中心中,它们都要求系统能够进行更有效地推理。FPGA也在这里起到一定的作用,很多专用的ASIC也是如此—— Graphcore在这方面表现突出,Wave Computing也起到很大的作用,Brainchip采用了非常不一样的尖峰神经网络方法。
Tesla T4基于“图灵”GPU架构,该架构于今年夏天早些时候推出,用于GeForce RTX和Quadro RTX卡,可通过机器学习算法增强动态射线跟踪。与专注于HPC和机器学习训练的“Volta” GV100 GPU一样,Tesla T4加速器使用的图灵GT104 GPU由中国台湾半导体制造公司使用12纳米制造工艺进行蚀刻。它拥有136亿个晶体管,接近Pascal GP100 GPU的153亿个晶体管,但仍落后于GV100 GPU的211亿个晶体管。这是GT104 GPU上的一个内核照片:
GT104芯片提供了专用的RT内核来执行射线跟踪,但这对推理并没有太大帮助,即使推理引擎反过来对射线跟踪很有用。Tesla T4上的芯片包含了2560个CUDA内核,具有32位单精度和16位半精度浮点数学单元(FP32和FP16)以及8位和4位整数数学单元(INT8和INT4)。Volta GV100上的FP64数学单元不在图灵架构中,但如果真的想在Tesla T4上进行机器学习训练,并且没有使用需要FP64的框架,那么按照Buck的说法,这样是可行的——但这并不是这个设备的设计考虑点,因为它在内存容量和带宽方面有所限制。具体而言,Tesla T4配备了用于计算的16 GB GDDR6帧缓冲内存,并提供320 GB/秒的内存带宽。GT104 GPU有320 Tensor Core,可用于执行机器学习中常用的矩阵运算。(Tensor Cores一趟可以处理带有FP16输入和FP32输出的4x4x4矩阵。)
这比Volta GV100 GPU的配置要低得多,后者包含了5376个32位整数内核、5376个32位浮点内核,2688个64位内核、672个Tensor内核和336个跨84个流式多处理器(SM)的纹理单元。在生产GV100时,84个SM中只有80个被激活,这样才能保证足够的良品率,因为要启用所有84个SM就很难获得完美的芯片。GT104 GPU的不同之处在于它支持INT8和INT4格式的张量核心单元,这会让数据量翻倍或翻两倍,也会让整数单元的处理吞吐量加倍或翻两倍。以下是Tesla P4和T4加速器在推理工作负载上的峰值相对性能表现,具体取决于数据的位数和处理方式:
Buck告诉The Next Platform,“我们采用了Volta Tensor Core,并专门针对推理将其演化为图灵芯片。如果使用INT8,FP16的基本性能可以加倍,我们已经为此对软件进行了优化。如果使用INT4,可以将性能再翻番。我们的一些研究人员已经发布了他们的工作成果,即使只使用四个位,他们也可以通过极小、高效和快速的模型来保持高精度。我们甚至可以使用INT1,但这还只是一个研究课题。”
Nvidia认为,随着机器学习被嵌入到应用程序技术栈中以及人类有限的耐心,延迟成为最重要的关注点,将GPU添加到推理技术栈中可以从根本上减少推理所需的时间。与之前仅使用CPU的方法相比,微软通过GPU加速视频识别算法,将视觉搜索的延迟减少了60倍。专注于实时视频分析的初创公司Valossa试图推理出人们的情绪,其推理速度也提高了12倍。SAP有一个用于分析品牌影响力的软件系统,可在视频中查找公司的logo,分析它们在屏幕上的显示时间、它们的大小等等,该软件系统在使用GPU进行推理之后,性能提高了40倍。
另外,延迟并非只针对单个推理工作负载。很多工作负载使用了不同的框架,而且还有很多来自不同神经网络的带有不同风格的推理模型需要处理。
为了说明这一点,Buck以语言搜索为例,说明在CPU上完成这些是多么的痛苦。首先必须运行自动语音识别,这部分使用了百度的DeepSpeech2神经网络,它需要大约1000毫秒来处理“Where is the best ramen shop nearby?”这句话。接下来,应用程序必须理解搜索请求的上下文,这需要用到自然语言处理。Nvidia选择了谷歌的GNMT神经网络,只需35毫秒即可完成。然后,GNMT的输出被传给推荐引擎,这一步使用了Deep Recommender,大概需要800毫秒。接下来,推荐系统的输出被传给文本到语音生成器,这一步使用了DeepMind(被谷歌收购)的Wavenet,这需要159毫秒。把所有时间加起来,大概是1994毫秒。差不多两秒钟,人们造就等得不耐烦了,所以肯定会跑到其他网站去了。
如果推理想要变得高效,就必须变得更快,如果想要在GPU上普及,就必须变得更便宜。所以,Nvidia将Tesla P4和T4加速器安在配备了一对英特尔18核Xeon SP-6140 Gold处理器(运行频率为2.3 GHz,单个售价约为2450美元)的服务器上。Tesla T4让Xeons处理器对相形见绌。Nvidia没有给出Tesla T4的定价,但据我们所知,Tesla P4零售价约为3000美元。因此,如果Tesla T4的价位与Tesla P4差不多,并且推理性能是Xeon SP处理器对(一对售价约为5000美元)的21倍至36倍,那么从价格和性能的比率上看,Tesla T4是Xeon SP处理器的35倍至60倍。英特尔拥有更多内核的处理器,但它们的价格上涨速度超过了它们的性能,这会削弱它的优势。
Tesla T4将于第四季度上市,谷歌表示将会在自家的云平台上使用这些设备,就像上一代Tesla P4加速器一样。看着Tesla T4机架被加到谷歌TPU 3加速器机架上以进行推理工作,这将是一件非常有趣的事情。
查看英文原文:https://www.nextplatform.com/2018/09/12/nvidia-takes-on-the-inference-hordes-with-turing-gpus/
领取专属 10元无门槛券
私享最新 技术干货