谷歌TPU叫板Nvidia GPU,谁才是人工智能芯片的未来?
来源:内容来自数位时代 ,谢谢。
为了让机器学习演算效率提高、因应更大量的运算需求,Google自行开发了专用的伺服器芯片「TPU」(Tensor Processing Unit),自2015年起在内部使用。去年五月,Google曾在I/O开发者大会提及TPU,今天首度公开更多细节及效能评估报告,发表在一篇论文中。
过去几年来,处理机器学习演算较为经济实惠的标准配备主要是像AMD和Nvidia等品牌的GPU。不过,Google从2006年就开始研究如何在数据中心使用GPU、FPGA与客制化特殊规格的ASIC(其实就是TPU)。
据Google表示,当时这种特殊硬体并没有太大用处,就算是负荷较大的运算,只要利用数据中心原先多余的硬体就够了。不过到了2013年,情况改变,Google预期深度神经网路的使用会变得非常普遍,可能会使数据中心计算需求倍增,要是使用传统CPU就会非常昂贵。因此,Google优先进行相关研发计画,目标将性能提高至GPU的10倍以上。
Google开发的Tensor Processing Unit是针对自家的「TensorFlow」机器学习框架最佳化的芯片,主要用于机器学习演算的后半阶段。以大量数据对神经网路进行训练时,通常是在GPU加速的伺服器上进行。之后对新数据进行推测的阶段,Google则开始使用TPU,处理效率更高。
据论文中Google对自家芯片的测试,TPU在执行Google常规的机器学习运算时,速度比现行标准的GPU/CPU组合(Intel Haswell处理器与Nvidia K80 GPU)平均快上15-30倍。考量数据中心的功耗,使用TPU的效能功耗比也高了30-80倍(将来使用更快的记忆体,或许还会更高)。
但正是这个GPU对你,让Nvidia的创始人黄仁勋不爽了,他撰文表示:Nvidia P40 比TPU 速度快2 倍、频宽是10 倍。
Nvidia认为GPU是人工智能的更好选择
他指出,以Google 为例。Google 在深度学习里突破性的工作引发全球关注:Google Now 语音互动系统令人吃惊的精确性、AlphaGo 在围棋领域历史性的胜利、Google 翻译应用于100 种语言。
深度学习已经达到不可思议的效果。但是深度学习的方法,要求电脑在摩尔定律放缓的时代背景下,精确处理海量资料。深度学习是一种全新的计算模型,也需要一种全新计算架构的诞生。
一段时间以来,这种AI计算模型都是在Nvidia芯片上执行。2010年,研究员Dan Ciresan当时在瑞士Juergen Schmidhuber教授的AI实验室工作,他发现NvidiaGPU芯片可用来训练深度神经网路,比CPU的速度快50倍。一年之后,Schmidhuber教授的实验室又使用GPU开发了世界上首个纯深度神经网路,一举赢得国际手写辨识和电脑视觉比赛的冠军。接着2012年,多伦多大学的硕士生Alex Krizhevsky使用了两个GPU,赢得如今蜚声国际的ImageNet影像辨识竞赛。(Schmidhuber教授曾经写过一篇文章,全面梳理了于GPU上执行的深度学习对于当代电脑视觉的影响。 )
全球AI 研究员都发现了,Nvidia为电脑图形和超级计算应用设计的GPU 加速计算模型,是深度学习的理想之选。深度学习应用,比如3D 图形、医疗成像、分子动力学、量子化学和气象模拟等,都是一种线性代数演算法,需要进行大规模并列张量或多维向量计算。诞生于2009 年的NvidiaKepler GPU 架构,虽然帮助唤醒了世界在深度学习中使用GPU 加速计算,但其诞生之初并非为深度学习量身订做。
所以,我们必须开发出新一代GPU 架构,首先是Maxwell,接着是Pascal,这两种架构都对深度学习进行特定最佳化。在Kepler Tesla K80 之后 4 年,基于Pascal 架构的Tesla P40 推理加速器诞生了,它的推理效能是前者的26 倍,远远超过摩尔定律的预期。
在这时期,Google 也设计了一款自订化的加速器芯片,名为「张量处理单元」,即TPU。具体针对资料推理,于2015 年部署。
上周Google 团队释出了关于TPU 优越性的一些资讯,称TPU 比K80 的推理效能高出13 倍。但是,Google并没有拿TPU 与如今最新一代的Pascal P40 比较。
英伟达方面建立了如下图表,量化K80、TPU 和P40 的效能,看看TPU 与如今Nvidia技术间的较量。
P40 在计算精度和吞吐量、片内储存和储存频宽间达到良好平衡,不仅在训练阶段,也在推理阶段达到前所未有的效能表现。对于训练阶段,P40 拥有10 倍于TPU 的频宽,32 位浮点效能达到12个TFLOPS 。至于推理阶段,P40 具高吞吐的8 位整数和高储存频宽。
虽然Google 和Nvidia选了不同的发展路径,我们有一些共同关切的主题。具体包括:
AI 需要加速计算。在摩尔定律变慢的时代背景下,加速器满足了深度学习大量资料处理需求。
张量处理处于深度学习训练和推理效能的核心位置。
张量处理是一个重要的新工作负载,企业在建立现代资料中心的时候,要考虑这一问题。
加速张量处理可以显著减少现代资料中心的建设成本。
究竟谁才是人工智能芯片的未来?
如何比较TPU的效能呢?把TPU跟Intel的Haswell CPU及NVIDIA Tesla K80 GPU这两款CPU与GPU的效能表现比较,数据显示TPU的速度快他们15至30倍。
但是,NVIDIA Tesla K80 GPU是NVIDIA五年前的产品,而且Google虽说TPU能用在任何人工智能的深度学习运算,然而,TPU不但没对其他系统做最佳化,还设定只能做牺牲精确度的推理运算。
深度学习需要的大量运算训练,还是需要GPU或是CPU来处理,所以Google最后还是说了,TPU需要搭配GPU或是CPU。
这次Google的说法,就好比告诉大家,我针对某种状况特殊设计的东西,比别人的东西(NVIDIA Tesla K80 GPU)表现强15至30倍,但是,Google没说的是,他把别人五年前的产品拿来比。
无怪乎黄仁勋立刻跳出来撰文,辅以数据说明,现在的主力产品P40比这颗TPU快达2倍,频宽10倍。他的动作,其实是一个很不错的公关回应:避免产品被误解,而且是在NVIDIA现在领先业界最多的人工智能运算芯片产品线上。
不过,也因为TPU是硬体特制,无法修改,才能做到最低耗能,这样的芯片比起NVIDIA GPU P40自然省电很多。
TPU是专门针对TensorFlow最佳化所推出的芯片,我认为Google这个宣告主要是想告诉使用TensorFlow的开发者社群「我现在用的东西很不错」,公关宣传意味浓厚。再加上Google之前雇用李飞飞,并打算收购最大的资料科学家、机器学习开发者社群Kaggle,一连串动作,都在强化Google在人工智能开发者社群的地位与认同。
其实,Google主打开发者社群,与NVIDIA主攻各种商用人工智能(特别是无人车用的训练)其实并不一样,两者各有所长。但是为了公关效果,这次双方都出了招。
Google也强调,它不会对外贩售TPU,仅供内部使用。如同《数位时代》2017年4月号所强调的,Google未来10年会强化云端运算与人工智能为主要策略方向。TPU,其实就是这个策略的展现。
TPU的运算效能不错,也说明了原本专长CPU与次专长的GPU的Intel,发现自己在人工智能落后NVIDIA后,为什么决定改往人工智能专用芯片方向上努力的最大原因,是为了能在人工智能运算芯片战场上突破现有的困境。
深度学习的训练需要非常大量的资料,需要非常多的运算单元来做运算,不管是GPU、CPU或TPU,如何相互搭配,才能达到又快又省电的目的,会是接下来各大深度学习应用硬体架构方面的重点。从这次Google、NVIDIA及Intel在人工智能运算芯片的态度与作法,可以预见,在物联网前端产品芯片之外,这会是各大运算单元芯片厂的另一个战场。
今天是《半导体行业观察》为您分享的第1261期内容,欢迎关注。
R
【关于转载】:转载仅限全文转载并完整保留文章标题及内容,不得删改、添加内容绕开原创保护,且文章开头必须注明:转自“半导体行业观察icbank”微信公众号。谢谢合作!
【关于征稿】:欢迎半导体精英投稿(包括翻译、整理),一经录用将署名刊登,红包重谢!签约成为专栏专家更有千元稿费!来稿邮件请在标题标明“投稿”,并在稿件中注明姓名、电话、单位和职务。欢迎添加我的个人微信号 MooreRen001或发邮件到 jyzhang@moore.ren
点击阅读原文加入摩尔精英