随着人工智能领域不断取得突破性进展。作为实现人工智能技术的重要基石,AI芯片拥有巨大的产业价值和战略地位。作为人工智能产业链的关键环节和硬件基础,AI芯片有着极高的技术研发和创新的壁垒。从芯片发展的趋势来看,现在仍处于AI芯片发展的初级阶段。未来将是AI芯片发展的重要阶段,无论是架构还是设计理念都存在着巨大的创新空间。
一、芯片的发展历史
1956年达特茅斯会议上,科学家约翰·麦卡锡,克劳德·香农和马文·明斯基提出了"人工智能"一词。50年代末,阿瑟·萨缪尔(ArthurSamuel)提出了"机器学习"这个术语,他开发了一个西洋跳棋程序,可以从错误中吸取教训,经过学习后,甚至比编写程序的人棋力更强。
在这个计算机技术飞速发展的时代,乐观的环境让研究人员相信AI技术将在短时间内"攻克"。科学家们研究了基于人脑功能的计算是否能够解决现实生活中的问题,创造了"神经网络"的概念。1970年,马文·明斯基在《生活》杂志中讲到,"未来3~8年内,我们将拥有相当于普通人智力水平的机器。"
到了20世纪80年代,AI走出实验室,进入商业化,掀起了一股投资热潮。80年代末,AI技术泡沫最终破裂,AI又回到了研究领域,科学家们继续开发AI的潜能。行业观察者称AI是一种超前于时代的技术,也有人说是未来科技。经历了相当长一段时间的所谓"AI寒冬"之后,商业开发再次启动。
1986年,杰弗里·希尔顿(GeoffreyHinton)和他的同事发表了一篇里程碑式的论文,描述了一种称为"反向传播(back-propagation)"的算法,该算法可以显著提高多层或"深度"神经网络的性能。1989年,严恩·乐库(YannLeCun)和贝尔实验室的其他研究人员创建了一个可以训练识别手写的邮政编码的神经网络,展示了这项新技术在现实世界中的重要应用。他们训练深度学习卷积神经网络(CNN)只花了3天时间。时光飞逝到2009年,斯坦福大学的RajatRaina、AnandMadhavan和AndrewNg发表了一篇论文,阐述了现代GPU在深度学习领域拥有远远超过多核CPU的计算能力。AI已经准备好重新起航。
得益于摩尔定律在最近二十年的发展,充足的算力使得在可以接受的价格、功耗和时间内提供人工智能算法所需的计算性能。根据英特尔的处理器芯片能力和零售价格对比测算,单位价格可以购买到的计算力提升了1.5万倍,从而使"通用中央处理器"(CPU)可以支持各种人工智能任务。可以说,通过芯片技术来大幅增强人工智能研发的时机已经非常成熟。然而,由于CPU要面对成百上千种工作任务来进行设计和优化,因此不可能牺牲灵活性来专门为某一类应用做优化,因此未必针对所有AI算法都是最优的选择。为此,出现了多种CPU加专用芯片的异构计算方案,以解决计算资源和内存访问瓶颈的研究。此外,与"脑启发式"(brain-inspired)的深度神经网络不同的"类脑"(brain-like)计算研究也推出了先进的神经拟态芯片来支持超高能效比的自然学习方式。
二、AI芯片的发展阶段
人工智能核心计算芯片也经历了四次大的变化。
2007年以前,人工智能研究和应用经历了数次起伏,一直没有发展成为成熟的产业;同时受限于当时算法、数据等因素,这一阶段人工智能对于芯片并没有特别强烈的需求,通用的CPU芯片即可提供足够的计算能力。之后,由于高清视频、游戏等行业的发展,GPU产品取得快速的突破;同时人们发现GPU的并行计算特性恰好适应人工智能算法大数据并行计算的要求,如GPU比之前传统的CPU在深度学习算法的运算上可以提高9倍到72倍的效率,因此开始尝试使用GPU进行人工智能的计算。进入2010年后,云计算广泛推广,人工智能的研究人员可以通过云计算借助大量CPU和GPU进行混合运算,事实上今天人工智能主要的计算平台还是云计算。但人工智能业界对于计算能力的要求不断快速地提升,因此进入2015年后,业界开始研发针对人工智能的专用芯片,通过更好的硬件和芯片架构,在计算效率上进一步带来10倍的提升。
(一)基于FPGA的半定制人工智能芯片
在芯片需求还未成规模、深度学习算法暂未稳定需要不断迭代改进的情况下,利用具备可重构特性的FPGA芯片来实现半定制的人工智能芯片是最佳选择。
这类芯片中的杰出代表是国内初创公司深鉴科技,该公司设计了"深度学习处理单元"(DeepProcessingUnit,DPU)的芯片,希望以ASIC级别的功耗来达到优于GPU的性能,其第一批产品就是基于FPGA平台。这种半定制芯片虽然依托于FPGA平台,但是利用抽象出了指令集与编译器,可以快速开发、快速迭代,与专用的FPGA加速器产品相比,也具有非常明显的优势。
(二)针对深度学习算法的全定制人工智能芯片
这类芯片是完全采用ASIC设计方法全定制,性能、功耗和面积等指标面向深度学习算法都做到了最优。谷歌的TPU芯片、我国中科院计算所的寒武纪深度学习处理器芯片就是这类芯片的典型代表。
寒武纪在国际上开创了深度学习处理器方向:以寒武纪处理器为例,目前寒武纪系列已包含三种原型处理器结构:寒武纪1号(英文名DianNao,面向神经网络的原型处理器结构)、寒武纪2号(英文名DaDianNao,面向大规模神经网络)、寒武纪3号(英文名PuDianNao,面向多种深度学习算法)。
寒武纪芯片计划于今年内实现产业化:其中寒武纪2号在28nm工艺下主频为606MHz,面积67.7mm2,功耗约16W。其单芯片性能超过了主流GPU的21倍,而能耗仅为主流GPU的1/330。64芯片组成的高效能计算系统较主流GPU的性能提升甚至可达450倍,但总能耗仅为1/150。
(三)类脑计算芯片
这类芯片的设计目的不再局限于仅仅加速深度学习算法,而是在芯片基本结构甚至器件层面上希望能够开发出新的类脑计算机体系结构,比如会采用忆阻器和ReRAM等新器件来提高存储密度。这类芯片的研究离成为市场上可以大规模广泛使用的成熟技术还有很大的差距,甚至有很大的风险,但是长期来看类脑芯片有可能会带来计算体系的革命。
这类芯片的典型代表是IBM的Truenorh芯片。TrueNorth处理器由54亿个连结晶体管组成,构成了包含100万个数字神经元阵列,这些神经元又可通过2.56亿个电突触彼此通信。
三、AI的研发方向
近几年,AI技术的应用场景开始向移动设备转移,比如汽车上的自动驾驶、手机上的人脸识别等。产业的需求促成了技术的进步,而AI芯片作为产业的根基,必须达到更强的性能、更高的效率、更小的体积,才能完成AI技术从云端到终端的转移。
目前,AI芯片的研发方向主要分两种:一是基于传统冯·诺依曼架构的FPGA(现场可编程门阵列)和ASIC(专用集成电路)芯片,二是模仿人脑神经元结构设计的类脑芯片。其中FPGA和ASIC芯片不管是研发还是应用,都已经形成一定规模;而类脑芯片虽然还处于研发初期,但具备很大潜力,可能在未来成为行业内的主流。
这两条发展路线的主要区别在于,前者沿用冯·诺依曼架构,后者采用类脑架构。你看到的每一台电脑,采用的都是冯·诺依曼架构。它的核心思路就是处理器和存储器要分开,所以才有了CPU(中央处理器)和内存。而类脑架构,顾名思义,模仿人脑神经元结构,因此CPU、内存和通信部件都集成在一起。
四、AI芯片技术特点和代表性产品
从GPU,到FPGA和ASIC芯片
2007年以前,受限于当时算法和数据等因素,AI对芯片还没有特别强烈的需求,通用的CPU芯片即可提供足够的计算能力。
之后由于高清视频和游戏产业的快速发展,GPU(图形处理器)芯片取得迅速的发展。因为GPU有更多的逻辑运算单元用于处理数据,属于高并行结构,在处理图形数据和复杂算法方面比CPU更有优势,又因为AI深度学习的模型参数多、数据规模大、计算量大,此后一段时间内GPU代替了CPU,成为当时AI芯片的主流。
GPU比CPU有更多的逻辑运算单元(ALU)
然而GPU毕竟只是图形处理器,不是专门用于AI深度学习的芯片,自然存在不足,比如在执行AI应用时,其并行结构的性能无法充分发挥,导致能耗高。
与此同时,AI技术的应用日益增长,在教育、医疗、无人驾驶等领域都能看到AI的身影。然而GPU芯片过高的能耗无法满足产业的需求,因此取而代之的是FPGA芯片,和ASIC芯片。
那么这两种芯片的技术特点分别是什么呢?又有什么代表性的产品呢?
"万能芯片"FPGA
FPGA(FIELD-PROGRAMMABLEGATEARRAY),即"现场可编程门阵列",是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
FPGA可以被理解为"万能芯片"。用户通过烧入FPGA配置文件,来定义这些门电路以及存储器之间的连线,用硬件描述语言(HDL)对FPGA的硬件电路进行设计。每完成一次烧录,FPGA内部的硬件电路就有了确定的连接方式,具有了一定的功能,输入的数据只需要依次经过各个门电路,就可以得到输出结果。
用大白话说,"万能芯片"就是你需要它有哪些功能、它就能有哪些功能的芯片。
尽管叫"万能芯片",FPGA也不是没有缺陷。正因为FPGA的结构具有较高灵活性,量产中单块芯片的成本也比ASIC芯片高,并且在性能上,FPGA芯片的速度和能耗相比ASIC芯片也做出了妥协。
也就是说,"万能芯片"虽然是个"多面手",但它的性能比不上ASIC芯片,价格也比ASIC芯片更高。
但是在芯片需求还未成规模、深度学习算法需要不断迭代改进的情况下,具备可重构特性的FPGA芯片适应性更强。因此用FPGA来实现半定制人工智能芯片,毫无疑问是保险的选择。
目前,FPGA芯片市场被美国厂商Xilinx和Altera瓜分。据国外媒体Marketwatch的统计,前者占全球市场份额50%、后者占35%左右,两家厂商霸占了85%的市场份额,专利达到6000多项,毫无疑问是行业里的两座大山。
Xilinx的FPGA芯片从低端到高端,分为四个系列,分别是Spartan、Artix、Kintex、Vertex,芯片工艺也从45到16纳米不等。芯片工艺水平越高,芯片越小。其中Spartan和Artix主要针对民用市场,应用包括无人驾驶、智能家居等;Kintex和Vertex主要针对军用市场,应用包括国防、航空航天等。
Xilinx的Spartan系列FPGA芯片
我们再说说Xilinx的老对手Altera。Altera的主流FPGA芯片分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的应用需求,如Cyclone和MAX系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix和Arria系列。Altera的FPGA芯片主要应用在消费电子、无线通信、军事航空等领域。
专用集成电路ASIC
在AI产业应用大规模兴起之前,使用FPGA这类适合并行计算的通用芯片来实现加速,可以避免研发ASIC这种定制芯片的高投入和风险。
但就像我们刚才说到的,由于通用芯片的设计初衷并非专门针对深度学习,因此FPGA难免存在性能、功耗等方面的瓶颈。随着人工智能应用规模的扩大,这类问题将日益突出。换句话说,我们对人工智能所有的美好设想,都需要芯片追上人工智能迅速发展的步伐。如果芯片跟不上,就会成为人工智能发展的瓶颈。
所以,随着近几年人工智能算法和应用领域的快速发展,以及研发上的成果和工艺上的逐渐成熟,ASIC芯片正在成为人工智能计算芯片发展的主流。
ASIC芯片是针对特定需求而定制的专用芯片。虽然牺牲了通用性,但ASIC无论是在性能、功耗还是体积上,都比FPGA和GPU芯片有优势,特别是在需要芯片同时具备高性能、低功耗、小体积的移动端设备上,比如我们手上的手机。
但是,因为其通用性低,ASIC芯片的高研发成本也可能会带来高风险。然而如果考虑市场因素,ASIC芯片其实是行业的发展大趋势。
为什么这么说呢?因为从服务器、计算机到无人驾驶汽车、无人机,再到智能家居的各类家电,海量的设备需要引入人工智能计算能力和感知交互能力。出于对实时性的要求,以及训练数据隐私等考虑,这些能力不可能完全依赖云端,必须要有本地的软硬件基础平台支撑。而ASIC芯片高性能、低功耗、小体积的特点恰好能满足这些需求。