深度学习发展至今,成熟功能模块的下沉将是必然的趋势。
新年刚过,人工智能界先后有两次理论上的新知公诸于世:一是图灵奖获得者David Patterson与John Hennessy发布论文称计算机体系结构的新黄金时代将到来,二是计算机视觉奠基者之一Alan Yuille公开怼了一波深度学习,他认为神经网络已进入瓶颈期,现在科研人员一股脑儿涌入深度学习不利于软件算法的发展。
透过两则消息,不难察觉到人工智能产业急需变革的呼声已经十分强烈,无论是硬件端还是软件算法,而它确实要迎来了新的发展阶段。事实上,随着市场需求变化和技术迭代,一直以来软件算法和硬件芯片虽各自发展却也如两股互相“博弈”的力量般纠缠不休。而当深度学习发展步入模式时,一边是专家对创新衰退的忧虑,另一边则预示着深度学习架构的发展已经迈入一定的成熟阶段,此时将部分功能下沉到硬件端的需求则顺势衍生。
图 |《计算机体系结构的新黄金时代》
在《计算机体系结构的新黄金时代》中,Patterson和Hennessy这样写道,“计算机体系结构领域将迎来又一个黄金十年,就像20世纪80年代我们做研究那时一样,新的架构设计将会带来更低的成本,更优的能耗、安全和性能。”如所言,在深度学习算法热潮过后,2019年的硬件产业也开始了新的蠢蠢欲动,而在AI赋能应用的大背景下,它具体表现为推理芯片市场的崛起。
英特尔沉不住气了,推理芯片市场开启群雄争霸
回到2019年年初前后这一期间,迎来了历史转型期的芯片市场可以说动荡不安,一边存储芯片价格在涨一波跌一波的云雨之中起伏;另一边为了满足人工智能催生的产能需求,英特尔、美光等老牌IDM厂商开始大肆兴建起工厂。而不同于已有的成熟市场,有一部分新兴的AI芯片市场也逐渐有了蓬勃生长的态势,产业化发展向好。
“苗头”就出现在CES 2019上,英特尔高调宣布与Facebook合作开发一款AI推理芯片,并宣称将于2019年下半年完成。
在曝光度极高的CES上,提前半年大肆宣传并隆重预告这一款公众并不熟知的推理芯片,作为x86架构缔造者,占据数据中心服务器市场90%份额的英特尔,显然有些沉不住气了。
图 | 英特尔宣布与Facebook合作推出推理芯片
无独有偶,在研发推理芯片这件事情上,各家有能力争一块蛋糕的厂商也都开始摩拳擦掌,不出意外得集中在2019年前后几个月推出自家产品。2018年9月,英伟达推出自己的推理预测芯片;11月,亚马逊召开re:Invent大会,在会议上隆重发布了一款专用推理芯片AWS Inferentia,以用于自己的服务器推理任务处理;而阿里也透露了自己首款推理芯片Ali-NPU的发布时间,同Facebook相近,定在了2019年中。
在2019年前后巨头们不约而同得带起了一波“节奏”,这样的集群效应或多或少说明了专用推理芯片系统市场已经开始要“变天”。
数据统计显示,到2021年,训练市场规模将增长到82亿美元,而推理市场规模将达到118亿美元,超出前者近四十亿美元。时间紧迫,机会转瞬即逝,在没有巨头的大片“蓝海”市场面前,换作谁都是要坐不住的。
一场由互联网企业引发的芯片之战
既知是蓝海,早些年亦有许多科研院所在积极研究,巨头们却都到今年才迟迟动手,是为何?
Facebook公开道出了其中的缘由。
去年四月份,Facebook暗地里组建芯片团队的事情被彭博社报道,称它想摆脱对英特尔和高通的依赖,随后成为热议的焦点。后没有多久,在一年一度的大会上,Facebook的高管大大方方承认了。
作为一家互联网公司,Facebook坦言它的初衷不是为造芯片而造芯片,实则是深受成本成倍增加之苦但同时又寻不到更优硬件方案,无奈使然。2018年末的大会上,对于这一点,Facebook高管Jason Taylor就直接毫不留情的怼了当时市面上的推理芯片:“市面上是有很多加速器芯片,但是我们发现他们设计的芯片在完成关键工作负载任务的能力上,值得考量。”
言下之意,Taylor认为很多公司在没有弄清楚深度学习应用端需要处理的推理任务有哪些就开始造芯片,颇有乱打乱撞的嫌疑。而在深度学习算法的应用上,以精准营销著长的Facebook似乎也更有发言权。
图 | 精准营销
据公司工程师Kim Hazelwood介绍,每天Facebook的AI应用程序产生超过200万亿个推送,翻译超过50亿个文本,并自动删除超过一百万个假账户,在推理功能上,Facebook的任务计算量是其他任务的100倍。官方透露的数据显示,2018年,Facebook的资本支出大约在140亿美元,2019年,这个数字预计将增长到200亿美元,其中很大一部分支出都在数据中心服务器上。
但苦于没有合适替代方案,今天Facebook还不得不采用“CPU+GPU”的服务器。
和Facebook类似,最接近应用,需求也是最为强烈,因而谷歌、亚马逊、阿里等将人工智能与互联网应用融合密切的企业都不可避免的遇到了这个问题,因而也陆续开启了自研芯片之路。
不可不知的“鼻祖”
在这组互联网梯队中,谷歌是第一位吃螃蟹的“人”,同时它用这个秘密武器助力AlphaGo战胜李世石,引起轰动。而这里的秘密武器就是谷歌TPU(张量处理单元)。
图 | 谷歌TPU
其实2017年,当谷歌重磅推出TPU时,很多人都好奇作为一家成功的互联网公司,谷歌怎么突然有兴趣做起了芯片,还做出了这样一款“脑洞大开”的芯片?
在后来的公开论文中,谷歌提到其实自己的软件服务背后需要庞大的服务器网络在支持,即需要难以计数的硬件服务器日夜运行。提供的数据显示,为了支持各类大量的数据应用,谷歌当时已经在全球四个洲建有15个仓库般大小的数据中心。
但是随着深度学习算法的出现,令谷歌自己惊奇的事情发生了。在后来计算机架构专家David Patterson和Norm Jouppi合著的论文中,他们提到这样一个细节:六年前,谷歌开始为安卓操作系统添加语音识别功能之后,原来相对充裕的计算能力突然间捉襟见肘,根据当时谷歌工程师的推算——如果世界上每一台安卓手机每天都使用3分钟的语音搜索功能,且识别率百分之百正确,即一次搜索成功,那么谷歌的数据中心的规模就起码要翻倍。
这样的解释,与Facebook后提到的境况几近相同。
意识到这样的问题,谷歌为这样的大规模扩张需求而背后生寒,更何况当时还只是深度学习算法应用刚刚开始的阶段。因此在慎重考虑了语音识别技术的迅速发展和推理运算需求的激增等情况之后,谷歌决定开发专属推理芯片以替代性能不足的CPU,即后来的TPU。
不过当时外界只知谷歌街景、AlphaGo等应用中用到了TPU,对于“蒙上一层面纱”的TPU到底为何物,众说纷纭。后来直到看见谷歌公开发表的TPU论文并眼见AlphaGo的成功,众人才意识到谷歌TPU划时代的意义。
寒武纪陈天石毫不吝啬得用了“浓墨重彩”一词盛赞其对于整个产业发展的意义;而英伟达黄仁勋也不惜亲自撰写长文来回应谷歌TPU与自己产品的对比,虽然言语之中难掩对英伟达技术的偏袒,但也只有势均力敌的对手值得“老黄”如此重视。
后来Jouppi在一篇论文中这样评价这款芯片,“这并不意味着TPU有多复杂,它看起来更像雷达的信号处理引擎,而不是标准X86架构。而且它与浮点单元协处理器更为神似,跟GPU倒不太一样。”
所谓创新,大概如此。
一股清流,从通用出发去做专用芯片
目前主导推动推理芯片市场的以互联网公司居多,除了领头的谷歌,还有Facebook、亚马逊等,不可忽视的还有以硬件结构创新为出发点、骨骼清奇的寒武纪和寻求新增长力的英伟达。
不过,其中Facebook最有意思。
从他们在公共场合的表态来看,和谷歌、亚马逊所处之境一样,面对不可控的成本上涨,Facebook不是不着急。但不同于其他四家的芯片设计方向,即依据应用需求调试算法,随后依次开发设计硬件,Facebook选择耐着性子去做一款通用的深度学习专用芯片。按照Facebook的意思,虽然是深度学习专用芯片,但是也不可顺着应用需求过于专一,因此它的做法也是非常独特。
图 | Facebook Glow平台
这始于Facebook早早为自己搭建好的一款名为Facebook Glow的深度学习通用处理器。提到这款平台,Facebook称其可用于处理云端的各种深度学习加速,但又不同于TensorFlow等开源工具,它不是针对用户设计的。
Taylor解释说:“推理加速器的市场必将表现为硬件碎片化,但我们的Glow主要是帮助深度学习专家设计神经网络而不是让大家用它来开发算法,以调试到去适应各类硬件推理加速器。我们知道碎片化时代正在到来,因为没人知道怎样把硬件资源组合起来最优,所以我们会让开发者专注在上层的网络图上而不是让他们为‘硬件’敲代码。”
在软件加速器上树立好绝对的标准,而后基于此来设计芯片,Facebook的造芯计划可谓宏图。
其实对于Facebook研发芯片这件事,业内人多用“奇葩”来形容。依据精准的上层架构来反向“强行”设计出底层具有通用性的AI芯片,很难评价其做法是否过于执拗和宏大,只能暗叹它的不走寻常路,因此对于CES2019上Intel宣布的这款与Facebook联手的芯片,还是值得期待一下。
终端市场缘何如此重要?
不难发现,上文提到的在推理芯片市场引起轩然大波的芯片产品都可归为一类:服务器芯片,即终端市场。
从技术角度来看,其实不仅仅是终端市场对推理芯片有着强需求,随着智能应用需求的深入,手机等移动端亦有此需求,如华为麒麟平台中用到的NPU芯片正是一款专用于解决神经网络推理计算的芯片。
但是不同于端侧市场的现有产品饱和与增长力不足,因云计算快速的深入,服务器的计算任务需求呈爆发式增长,因而对硬件架构提升的需求格外迫切。
图 | 数据中心
亚马逊James Hamilton曾结合亚马逊所遇到的问题给出这样的分析:一直以来,虽然专用芯片可以成十倍改善延迟、降低成本和功耗,但是通用芯片的地位却是不可撼动的,这里面有其原因。以传统服务来说,一般情况下每个用户只会用到几个固定的服务器,即我们的服务器是按照用户分配的,这样的情况下专用芯片通常是没什么用的。但是云改变了一切,在一个完备的云系统中,比较“罕见”的工作负载甚至需要连接进入数千甚至数万个服务器里,同时运行以完成任务。这在过去是完全不可能实现的,因为以前即便能够很好的分配任务给专用硬件,也不能节约成本,尤其是当一些紧急状况出现时。
云的出现打通了硬件之间的“壁垒”,也极大程度的发挥了深度学习算法的威力,但它同时很快耗尽了众多公司现有服务器芯片的计算能力。
IDC曾做过数据统计,2018年第二季度全球服务器市场的厂商收入同比增长43.7%达到225亿美元,该季度全球服务器出货量同比增长20.5%达到290万台。而其中最大的增长力就表现在云计算服务器上。
深度学习、推理芯片与产业变迁
回到推理芯片,即处理逻辑运算的芯片。其实它并不是什么新产物,这里不得不提英特尔的x86架构。
所谓x86架构,通俗来讲就是一种通用的“CPU+Linux”操作系统的架构,它伴随着1978年英特尔推出的8086处理器出现,具体指的是英特尔开发的一套通用的计算机指令集合。目前市面上所有主流的服务器都是基于Intel x86架构的CPU公版二次开发而来。
采用Intel的x86架构来处理服务器大量的计算任务,有人说是考虑CPU通过冯诺依曼架构可以为数百万的不同应用加载任何软件的灵活性优势,有人认为英特尔x86架构的向后兼容性让用户只要换个CPU就能获得性能提升的优势主导使然。总而言之,不同于训练模式的单一,深度学习推理任务的复杂让产业界综合考虑成本、技术成熟度等因素而最终选择了CPU芯片+x86指令集的系统架构。
图 | Intel x86
但众所周知的是,古老的x86架构虽经过了几十年的技术迭代,受系统架构本身的访问限制(又称冯诺依曼瓶颈),其总体的吞吐量和能耗都限制了它在大量计算任务上的表现能力,尤其是当深度学习算法出现后,这一弊端愈加被凸显。
深度学习算法之所以如此重要,主要原因在于它刚刚诞生不久就能够迅速适应几乎所有的应用需求,历史上很少有一项技术有如此的影响力,因此其特殊属性催生了对大量数据进行处理和分析的需求。对于这一算法带来的影响,黄仁勋一句话点出其中奥妙:深度学习是一种新的计算方法,所以整个产业需要发展出一种新的计算体系结构。
因而在深度学习的两大功能——训练和推理的模式推动下,Caffe、Tensorflow等软件架构工具迅速发展,芯片巨头也争相以此为起点开发新的芯片。英伟达借助GPU与训练功能的天生匹配登上了市场龙头的宝座,但他们发现要实现训练之后的推理功能,即对图像的识别、语义的关联处理等,GPU却是不适合的。
没有合适“人选”,推理市场因此空出霸主之位。退而求其次,CPU+GPU发展成了服务器市场中主流的架构解决方案,但终究不是长久之计。对此,大家心知肚明。
最后
在这一波巨头带动的小高潮背后,无疑预示着产业发展中推理任务处理需求积聚到了一个新的高点。
箭在弦上,不得不发。但最终谁将胜出,还只能静候各厂家接下来的芯片产品。
正如Patterson与Hennessy在《计算机体系结构的新黄金时代》里所言,“在摩尔定律走向终点的同时,体系结构正在闪耀新的活力——以TPU为代表的领域特定架构 (Domain Specific Architectures, DSA) 兴起,但CPU、GPU、FPGA仍然有用武之地,最终,市场会选出胜者。”