归功于阿法狗与韩国李世石对弈掀起的波澜,人工智能和深度学习已经深入人心。而中科院、英特尔、谷歌、IBM、英伟达等中美两国的科研机构和商业公司,不满足于当吃瓜群众,也纷纷推出了用于深度学习的处理器。

所有这些机构和公司的产品中,既有CPU、GPU、DSP这样的传统芯片,也有专门为深度学习而生的NPU(嵌入式神经网络处理器)。毫无疑问,就像PC时代一样,在人工智能时代,这些芯片也将成为未来深度学习人工智能的核心,可以说是走向智能世界的重要根基。

这么重要的技术,自然也是国家科技竞赛的必争之地,那么,中美两国推出的这些CPU、GPU、DSP、TPU、NPU深度学习处理器,各有什么特点,在深度学习处理器方面,中美谁更有希望率先突破呢?

美国:CPU、GPU、DSP、TPU、NPU一应俱全

由于在美国在半导体产业上拥有的雄厚技术底蕴,使美国不少公司都开发出了针对深度学习的芯片,这其中以英特尔的众核芯片,·的GPU,Cadence公司和Synopsys公司的DSP,以及IBM的真北和谷歌的TPU为代表。

一直以来,英伟达着力于将自己的GPU用于深度学习,并为深度神经网络推出了Tesla P100 GPU,并且发布了基于该GPU的深度学习超级计算机 DGX-1,随后DGX-1被交给了人工智能项目OpenAI。

2016090500019

图:英伟达为人工智能开发的超级计算机DGX-1

在英伟达开发出针对人工智能的定制GPU,并坚持DGX-1 系统之后,英特尔也不甘落后,在收购深度学习创业公司Nervana Systems之后,英特尔又公布了用于深度学习的Xeon Phi家族新成员,在深度学习处理器领域开辟新战场。

美国Cadence公司的Tensilica Vision P5处理器和Synopsys公司的EV处理器本质上也是在现有的成熟技术上做改进,将传统的面向数字信号处理的DSP处理器架构用于处理神经网络。

在今年年初,谷歌公开一款叫做Tensor Processing Unit的处理器,根据TPU团队主要负责人介绍,TPU专为Google机器学习应用TensorFlow打造,能够在相同时间内处理更复杂、更强大的机器学习模型并将其更快地投入使用。

谷歌数据中心早在一年前就开始使用TPU,之前打败李世石的AlphaGo就是采用了TPU做了运算加速。不过,谷歌也表示,TPU只在特定应用中辅助CPU和GPU使用。由于谷歌没有公开TPU的细节信息,而且只供内部使用,以及只能配合CPU和GPU起辅助作用。因此,下文对TPU不再论述。

相对于只起到辅助作用的TPU,IBM的真北则是能独立完成深度学习的芯片,IBM宣称处理能力相当于1600万个神经元和40亿个神经键。

可以说,由于美国在相关技术上的深厚积累,使其可以实现遍地开花,既可以运用现有成熟技术开发出针对深度学习的CPU、GPU和DSP,也可以开发出专门针对深度学习的专业芯片NPU和TPU。

中国:在NPU上成果斐然

由于中国在CPU和GPU方面相对美国有相当大的技术差距,导致国内企业没有能力像英特尔和英伟达那样以现有的成熟技术为基础开发出适合深度学习的产品。不过,在没有任何历史包袱的NPU领域,由于中国和美国基本处于同一起跑线的情况下,反而取得了不凡的技术成果。

中国科学院计算技术研究所是国际上最早研究深度神经网络处理器的单位之一。2014年,中科院计算所和法国Inria合作发表的相关学术论文先后获得了计算机硬件领域顶级会议ASPLOS’14和MICRO’14的最佳论文奖。这也是亚洲首次在此领域顶级会议上获得最佳论文奖。

随后,国际计算机学会(Association for Computing Machinery)通讯也将这一系列工作列为计算机领域的研究焦点。这标志着我国在智能芯片领域已经进入了国际领先行列。

此后中科院计算所独立研制了世界首个深度学习处理器芯片——寒武纪,发布了世界首个神经网络处理器指令集,后者于2016年被计算机体系结构领域顶级国际会议ISCA2016(International Symposiumon Computer Architecture)所接收,其评分排名所有近300篇投稿的第一名。目前,中科院计算所已成立寒武纪公司,对神经网络处理器进行产业化,明年就能听到好消息。

2016090500020

图:寒武纪板卡

传统CPU、GPU、DSP存在先天不足

想要看出谁能突破,就得从最底层的技术特点来分析。

首先来看看美国众多公司的CPU、GPU和DSP。无论是针对人工智能的众核芯片还是定制版的GPU,本质上都不是专用处理器,实际上是拿现有的、相对成熟的架构和技术成果去应对新生的人工智能,并没有发生革命性的技术突破。

其实,英特尔和英伟达是在使用现有的比较成熟的技术去满足深度学习的需求,虽然能借助现有的非常成熟的技术,以及英特尔、英伟达这样巨大体量、市场推广以及销售能力拔得头筹,但由于众核芯片和定制版GPU在本质上来说依旧是CPU和GPU,而并非专门针对深度学习的专业芯片,这就必然带来一些天生的不足。

打一个比方,用众核芯片和GPU跑深度学习,就类似于用轿车去拉货,受轿车自身特点的限制,货物运输能力与真正大马力、高负载的货车有一定差距。

同理,即便是因为技术相对更加成熟,英特尔和英伟达的芯片在集成度和制造工艺上具有优势,但由于CPU、GPU并非针对深度学习的专业芯片,相对于专业芯片,其运行效率必然受到一定影响。

专业角度看,Cadence公司的Tensilica Vision P5处理器、Synopsys公司的EV处理器其实是将传统的面向数字信号处理的DSP处理器架构用于处理神经网络,主要在运算器方面作了相应修改,例如低位宽和超越函数,而并非真正的NPU。

这种方式能够适用于卷积神经网路(CNN),而对循环神经网络(RNN)和长短期记忆网络(LSTM)等处理语音和自然语言的网络有可能就无能为力了。因此,用传统SIMD/DSP架构来适配神经网络,和真正的NPU依然有一定差距。

NPU:为深度学习而生的专业芯片

那么,什么是真正适合人工智能神经网络的芯片呢?我们得从人工智能和神经网络的特点讲起。

人工神经网络是一类模仿生物神经网络而构建的计算机算法的总称,由若干人工神经元结点互联而成。神经元之间通过突触两两连接,突触记录了神经元间联系的权值强弱。

每个神经元可抽象为一个激励函数,该函数的输入由与其相连的神经元的输出以及连接神经元的突触共同决定。为了表达特定的知识,使用者通常需要(通过某些特定的算法)调整人工神经网络中突触的取值、网络的拓扑结构等。

说得通俗点,这个过程其实就是“学习”的过程。在学习之后,人工神经网络就可通过学习到的知识来解决特定的问题。

由于深度学习的基本操作是神经元和突触的处理,而传统的处理器指令集(包括x86和ARM等)是为了进行通用计算发展起来的,其基本操作为算术操作(加减乘除)和逻辑操作(与或非),往往需要数百甚至上千条指令才能完成一个神经元的处理,深度学习的处理效率不高。

这也是为什么,谷歌甚至需要使用上万个x86 CPU核运行7天来训练一个识别猫脸的深度学习神经网络。因此,传统的通用处理器(包括x86和ARM芯片等)用于深度学习的处理效率不高,这时就必须研发面向深度学习的专用处理器。

而中国研发的的寒武纪芯片这种NPU芯片,其指令集直接面对大规模神经元和突触的处理,一条指令即可完成一组神经元的处理,并对神经元和突触数据在芯片上的传输提供了一系列专门的支持。

同时,因为NPU面向深度学习应用专门定制了功能单元和片上存储层次,同时剔除了通用处理器中为支持多样化应用而加入的复杂逻辑(如动态流水线等),因此与CPU、GPU相比,神经网络专用处理器会有百倍以上的性能或能耗比差距。

在NPU上中国领先美国

由于IBM很不幸地点歪了科技树,这直接导致中国在NPU上暂时领先于美国。

IBM的真北本身的研究是基于脉冲神经网络(Spiking Neural Network,SNN)的,而寒武纪则一直面向的是机器学习类的神经网络,如MLP(多层感知机)、CNN(卷积神经网络)和DNN(深度神经网络)。

两种网络根本的不同在于网络中传递的信息表示,前者(SNN)是通过脉冲的频率或者时间,后者则是突触连接的权值。目前在现有的测试集上,机器学习类的神经网络具有更高的精度(尤其是深度神经网络);前者则在精度上不能与之比拟。

精度是目前领域内很关心的非常重要的指标,比如近几年火热的ImageNet竞赛也是以识别精度为衡量标准的。正是因为曾经存在精度方面的差距,所以后来IBM的真北放弃了原来的路线图,也开始贴近机器学习类的神经网络,并采用了一些很曲折的方法来实现这一目标。

之前说过,真北本身是基于脉冲神经网络设计的,并且采用了逻辑时钟为1KHz这样的低频率来模拟毫秒级别生物上的脉冲,这也使得真北功耗很低(70mW),当然性能也比较有限。

而寒武纪则是机器学习类的神经网络设计,运行时钟频率在GHz左右,能够极其快速且高效的处理网络计算。这使得寒武纪相对于真北具有性能上的优势。

相比之下,寒武纪系列的内部计算符合机器学习类神经网络(机器学习类网络本身也没有如同脉冲神经网络一样特别贴合生物神经元模型),通过调度在不同时刻计算不同的神经元从而完成整个神经网络的计算。这其中,涉及到处理器设计本身的一点是,通过不同参数的选取就能够完成不同规格(处理能力)的处理器实现。

笔者曾采访过杜子东博士(杜子东博士长期从事人工神经网络和脉冲神经网络处理器的研究工作,在处理器架构最好的三个国际顶级会议ISCA/MICRO/ASPLOS上发表过多篇论文,是中国计算机体系结构领域青年研究者中的翘楚),杜子东博士表示,“包括他们(IBM)在内,大家都认为他们(IBM)走错了路......”,并认为,“真北相对于寒武纪没有什么优势。硬要说有的话,那就是IBM的品牌优势和广告优势”。

技术有优势,不过还有商业问题

就深度学习处理器而言,美国可以凭借其在CPU和GPU上深厚的技术积累,并在芯片集成度和制造工艺水平占据绝对优势的情况下,开发出能用于深度学习,且性能不俗的众核芯片和GPGPU。

但因为之前提到,CPU、GPU相对于NPU在深度学习方面天生会有一定劣势,在芯片集成度和制造工艺水平相当的情况下,其表现必然逊色于NPU。而将DSP用于处理神经网络的做法,其本质上也是对现有的技术进行修改,用传统SIMD/DSP架构来适配神经网络,和真正的NPU依然有一定差距。谷歌的TPU在深度学习中能起到加速作用,但也只能辅助CPU和GPU,而不是独挑大梁。

在NPU领域,由于IBM点歪了科技树,以及中科院在该领域前瞻性地开展了一系列科研工作,使中国能在目前处于优势地位。

当然,技术归技术,和PC时代一样,技术之外还有商业问题。中国和美国的深度学习处理器,哪一款产品能在商业上取得成功,则很大程度上取决于技术以外的因素。就现在情况来看,大家基本处于同一起跑线,鹿死谁手,还未可知。

本文由作者铁流授权转载,首发于瞭望智库,如需转载请联系作者