TPU/GPU/FPGA,谁比较厉害?
扫描二维码
随时随地手机看文章
随着神经网络的研究和应用越来越多,人们也越发地认识到神经网络所需的计算力近乎于无底洞 。如果说高校实验室和一般爱好者在耐心等待之外办法不多的话,大公司们要面对的则是“做还是不做”的问题。
英特尔、英伟达、微软、谷歌这几年为了“做”,都有哪些举动呢?纽约时报的这篇文章可以带我们看看这一变化的梗概。
最近人们希望电脑能做的事情越来越多。电脑要跟人对话,要能认出人脸,也要能认出路边的小花,再过不久还要给人类开车。所有这些人工智能都需要极高的计算能力,即便当下最先进的电脑也没法随随便便完成。
为了能够满足高速增长的计算需求,一些科技巨头们现在正从生物学中寻找灵感。他们正在重新思考电脑的本质,然后建造更像人类大脑的机器:神经系统里要有一个中央脑干,然后把听、说这样的具体任务交给周围的大脑皮层去做。他们希望电脑也能这样。
新时代的萌芽
在连续几年的缓步发展以后,计算机终于又开始进化了,换上了新样子的计算机会产生广泛而持久的影响。它们能够大大提高人工智能系统的运行速度,也许未来某一天“机器人可以统治世界”的梦想也可以成真。这种转换也会削弱芯片巨头英特尔的地位。从提供互联网服务的数据中心、手里的iPhone到VR头盔和无人机,所有科技产品的核心都是半导体芯片。随着新型芯片的时代来临,目前年产值三千亿美元的半导体工业很可能会完全变个样子。
现任谷歌母公司Alphabet董事的 John Hennessy 曾任斯坦福大学校长,1990年代他出版写过一本计算机设计的权威著作。“这是一场巨大的变革,”他说,“现在的这一套做法马上就要过时了,大家都想重新开发一套系统架构。”
现有的计算机架构也有过自己的好日子。在过去的接近五十年里,计算机的设计者们都围绕着一块单独的、全能的芯片设计整个系统。这个全能的芯片就是CPU,台式电脑、笔记本电脑里都有,往往来自英特尔;手机里有时候也有英特尔的CPU。英特尔也是全球最大的半导体生厂商之一。
更复杂的系统在计算机工程师中间变得流行起来。以前可能所有的任务都要传到英特尔CPU中完成,现在的计算机则会把任务分成许多的小块,然后把它们交给外围的专用芯片完成,这些芯片结构比CPU简单、耗电也要更少。
谷歌的大型数据中心里的变化是对全行业未来走向的一个预兆。谷歌大多数的服务器里都还有一个CPU,但是现在有数不清的定制化芯片和它们共同工作,为语音识别等人工智能应用提供运算支持。
实实在在的需求推动了谷歌的这一变化。多年以来,谷歌都有着全世界最大的计算机网络,简直像是一个数据中心和线缆组成的帝国,从加利福尼亚一直扩张到芬兰和新加坡。然而,对这位谷歌的研究员来说,这样的网络还是太小了。
Jeff Dean 和谷歌为人工智能应用开发的TPU
Jeff Dean 是谷歌最出名、最受人尊敬的工程师之一。2011年他开始带领团队探索“神经网络”的想法。这种想法的核心是让计算机算法自己学习任务,然后可以用在很多的场合中,比如识别手机用户的语音输入,又或者是照片中的人脸。只花了几个月的时间,Jeff Dean 和他的团队就开发出了一个基于神经网络语音识别系统,它识别对话的准确率要比谷歌那时已有的系统高得多。但接下来也有一个麻烦,全世界运行谷歌的安卓系统的智能手机已经超过了10亿部,假设这些手机用户们每天只用3分钟语音识别,根据 Jeff Dean 的计算,谷歌也需要把现有的数据中心容量翻一倍才能支持得了。
监控着谷歌“数据中心帝国”运行的是计算机科学家 Urs Hölzle,在一次开会的时候 Jeff Dean 就对他说:“我们需要再建立一个谷歌”,后来有参会者回忆道。但这个想法实现不了,Jeff Dean 就提出了一个替代方案:自己造一种专门运行这种人工智能的芯片。
谷歌数据中心里的这个苗头已经扩散到了其它科技巨头的身上。在未来几年里,谷歌、苹果、三星等公司都会制造带有专用的AI芯片的手机。微软设计的这种芯片打算专门用在AR头盔上,然后谷歌、丰田等一大群造自动驾驶汽车的厂商也会需要类似的芯片。
这种研发专用芯片和新计算机架构的热潮,在美国国防部研究机构 DARPA 的前项目管理人员 Gill Pratt 看来可谓是人工智能界的“寒武纪生物大爆发”,他本人现在正在丰田从事无人车的研究。他已经感觉到,把不同的计算分散给数量众多的小面积、低功耗芯片的运行方式,会让机器更像人脑,这也让能源的利用效率提高了不少。“在生物的大脑中,能源效率至关重要”,在近期的一次采访中,身处丰田在硅谷的新研究中心的 Gill 这样说。
地平线已经发生变化
硅基的计算机芯片有很多种。有的芯片可以存储数据,有的芯片可以完成玩具和电视机中的基本任务;也有的芯片可以运行计算机上的各种运算,它们大到能构造全球变暖模型的超级计算机用的芯片,小到个人计算机、服务器和手机上用的。
多年以来,计算机和类似的设备都是以CPU为核心运行的,CPU也是设备成本的大头。这一切都似乎不需要做什么改变。根据英特尔联合创始人戈登·摩尔提出的著名的摩尔定律,计算机芯片中晶体管数量每两年左右就会翻一番,几十年来计算机性能的提升就是按照摩尔定律一路稳定地发展了过来。而根据 IBM 研究员 Robert Dennard 提出的 Dennard 缩放定律,芯片性能提升的同时,它们消耗的能源却几乎维持不变。所以在以往的日子里一切都还好。
然而到了2010年,让晶体管数量再翻一倍花的时间比摩尔定律预测的更长了,Dennard 缩放定律也失效了,因为芯片设计人员们遇到了来自材质物理特性本身的限制。结果就是,如果想要更高的计算能力,只靠升级CPU已经不能解决问题了,需要增加更多的计算机、消耗更多的空间和电力。[!--empirenews.page--]
语音和语言团队负责人黄学东(左)和计算架构组的 Doug Burger 都是微软的专用芯片开发团队成员
业界和学术界的研究者们都在想办法延长摩尔定律的生命力,探索全新的芯片材料和芯片设计方法。但是微软研究员 Doug Burger 有了另一种想法:除了整个业界从1960年代以来都倚仗的CPU的稳步进化之外,为什么不试着探索专用芯片之路呢?
当时微软才刚刚开始用机器学习改进必应搜索,通过分析用户的使用方式改善搜索结果。虽然那时候的算法对硬件的要比后来风靡的神经网络低得多,但是芯片已经有点跟不上了。
Doug Burger 和他的团队做了很多不同的尝试,最终决定用了这种叫做“FPGA”(现场可编程矩阵门阵列)的芯片,它们可以在工作过程中重新编程,适应新的任务。微软的Windows需要运行在英特尔的CPU上,但是CPU是不能重新编程的,一旦造出来,能做什么就固定了。有了FPGA,微软就可以改变芯片工作的方式。他们可以先对芯片编程,让它在特定的机器学习算法中表现非常好;然后可以重新编程,让它适合做逻辑运算。同一个芯片可以有截然不同的表现。
大概2015年前后,微软开始应用这类芯片。到现在,几乎每一台微软的数据中心新增的服务器中都带有一块FPGA芯片,它们帮助呈现必应搜索的结果,以及支持着微软的云计算服务Azure。
给计算机装上耳朵
2016年秋天,另一组微软的研究员们做了和 Jeff Dean 的团队同样的工作,构建了一个比人类的平均水平还要高一点点的语音识别系统,也是通过神经网络。
这个项目的负责人就是黄学东,他是来自中国的语音识别专家。在介绍这项工作的论文发表之后没多久,他就约了他的好朋友、英伟达 CEO黄仁勋在 Palo Alto 吃了个饭。他们开了一瓶香槟庆祝。
黄学东和他的微软同事们就是靠着数量众多的英伟达 GPU训练出他们的语音识别系统的。没有继续使用英特尔的CPU。如果没有做这样的转换,他们很可能完成不了这项突破。“我们花了差不多一年的时间达到了人类的水平”,黄学东说。“如果没有新计算架构的帮助,我们可能至少要花5年。”
基于神经网络的系统可以很大程度上自己学习,所以它们进化得比传统方法设计的系统快得多。以往的系统需要工程师们写下无数行代码,仔仔细细描述系统应该如何如何做。基于神经网络的系统就不需要这样。不过神经网络的问题就是,它需要无数次的试错。要构建一个单词识别达到人类水平的系统,研究者们需要花费很多时间反复训练它,对算法做精细的调节,以及不断优化训练数据。这个过程里需要尝试成百上千算个不同的算法,每个算法又需要运行上万、上亿次。这需要庞大的计算能力,如果微软这样的公司用一般的通用芯片来做这样的计算,这个过程花的时间就太久了,芯片可能支持不了这样高的负载,用掉的电也太多了。
所以,几个互联网巨头都已经借助英伟达的GPU训练自己的神经网络。GPU本来的设计只是为了用在游戏图形渲染中的,专用的设计让它们保持了CPU近似水平的功耗,但是在神经网络训练中的计算速度要比CPU高很多。现在GPU就和CPU联手负责计算机中的运算。
英伟达借着这个机会大举扩张,向美国以及全世界的科技公司销售了大量的GPU,中国公司的购买数量尤为惊人。英伟达季度营收中数据中心业务的部分,在过去的一年中翻了3倍,超过了4亿美元。
“有点像是互联网刚兴起的那时候就走对了路”,黄仁勋在最近的一个采访中说。换句话说,科技界的局势正在快速改变,英伟达正处在这场改变的中心。
创造专用芯片
GPU是各个公司训练神经网络的重要基石,不过这也只是整个过程中的一部分。当神经网络训练完毕以后就可以开始执行任务,这时候需要的计算能力又有所不同。
比如,在训练好一个语音识别算法以后,微软会把它作为一个线上服务提供出来,然后它就可以开始识别人们讲给自己手机的指令。GPU在这种时候就没有那么高效了。所以很多公司现在都开始制造专门用于执行所学到的东西的芯片。
谷歌造了自己的专用芯片:TPU。英伟达也在造类似的芯片。微软在继续对 FPGA 芯片重新编程来让它们更适合运行神经网络,这些芯片来自英特尔收购的 Altera。
其它的公司也在后面追赶。专做智能手机用的ARM芯片的高通,以及数量客观的初创公司都在研发AI芯片,希望能在这个快速成长的市场中分一杯羹。根据科技调研公司 IDC 预计,到2021年,带有替代计算芯片的服务器将达到68亿美元的销售额,大致是整个服务器市场的十分之一。
Bart Sano 表示目前 TPU 也只是谷歌整个网络运营里的一小部分
Doug Burger 透露,在微软全球的服务器网络中,替代计算芯片只占了所有运营中很小的一部分。谷歌的网络软硬件研发工程副总裁 Bart Sano 表示谷歌的数据中心也是类似的状况。
英特尔实验室的主管 Mike Mayberry 已经向着替代计算芯片开始发起努力。可能是因为英特尔占据着数据中心市场90%的市场份额,从而也是传统芯片的最大的销售商。他说,如果对CPU做一些适当的修改,它们也可以应对新的任务而无需其它帮助。
不过这个硅片的新浪潮扩散得很快,英特尔的市场地位也越来越纠结。它一方面否认市场正在发生变化,但是又或多或少地转换着自己的业务避免掉队。2年前,英特尔花费了高达167亿美元收购了Altera,这家公司造的就是微软使用的FPGA。这是英特尔历史上最大的收购。去年,英特尔又收购了一家开发专门用于神经网络的公司 Nervana,据说又花了超过4亿美元。如今,在Nervana团队的领导下,英特尔也在开发一款专门用于神经网络训练和执行的芯片。[!--empirenews.page--]
硅谷风投公司红杉资本的合伙人 Bill Coughran 在过去的接近10年中为谷歌的互联网基础设施出谋划策,他的工作内容基本针对的就是英特尔。他表示,“他们都有大公司病,他们需要想清楚如何踏入这片新的、成长中的领域,而且还不损害他们的传统业务。”
当英特尔内部高管们讨论摩尔定律失效的状况时,他们内部的混乱连公司外的人都看得到。在近期一次纽约时报的采访中,Nervana创始人、现在已是英特尔高管的Naveen Rao表示,英特尔其实可以让摩尔定律“再坚持几年”。从官方口径上讲,英特尔的姿态是传统芯片的改善在未来10年都还可以顺利地进行下去。
英特尔实验室的主管 Mike Mayberry 则表示加一两块芯片不是什么新鲜事了,他说以前的电脑里就有单独的芯片来处理声音之类的事情。
不过现在的趋势要比以前大多了,而且从新的层面上改变着这个市场。英特尔面前的竞争对手不仅有英伟达和高通的这样的芯片制造商,还有谷歌和微软这样一直以来都相当“软”的公司。谷歌已经在设计第二代的TPU芯片了。根据谷歌的说法,今年晚些时候,任何谷歌云计算服务的客户或者开发者都可以在新的TPU芯片上面运行他们自己的软件。
虽然目前这些事情都还只发生在消费者视野之外的大型数据中心里,但是这对整个IT工业体系产生广泛的影响恐怕只是时间问题。人们最期待的是,随着新型移动芯片的到来,手持设备也可以独立完成更多、更复杂的任务,不再需要把任务交给几百公里外的数据中心,无论是智能手机无需互联网也能识别语音指令,还是无人驾驶汽车可以用现在无法企及的速度和精度识别周边的世界。
换句话说,无人驾驶汽车少不了摄像头和雷达,但是同样少不了一颗好的大脑。