毕业论文
您现在的位置: 语言识别 >> 语言识别发展 >> 正文 >> 正文

AI芯片发展的前世今生

来源:语言识别 时间:2022/10/26
患白癜风可以要孩子吗 http://m.39.net/baidianfeng/a_4247163.html

作者

任源、潘俊、刘京京、何燕冬、何进

来源

《微纳电子与智能制造》期刊

现代电子产品和设备在诸如通信、娱乐、安全和医疗保健等许多方面改善了我们的生活质量,这主要是因为现代微电子技术的发展极大地改变了人们的日常工作和互动方式。在过去几十年中,摩尔定律一直是通过不断缩小芯片上的器件特征尺寸来提高计算能力,带来了电子产品诸如更高速度、更低成本和更小功耗等优势。GordonMoore最初的观察是芯片中的晶体管数量大约每2年增加1倍,DavidHouse进一步预测,由于更多更快的晶体管,芯片性能将每18个月翻一番。虽然GordonMoore的预测已经成功超过50年,但是今天的硅CMOS技术正在接近其尺寸的基本物理极限,摩尔定律的延续性已经变得越来越具有挑战性。

这意味着电子产品和设备的性能增益不再仅仅依赖于器件特征尺寸的缩小,人们有必要发明新的IT技术或新的计算原理,以满足应用对计算能力和低功耗等方面不断增长的需求,而人工智能的出现为突破这种局限性提供了无限可能。人工智能(artificialintelligence,AI)指由人制造出来的机器来呈现人类智能的技术,而人工智能芯片指能够运行人工智能技术和相关算法的半导体芯片。本文将对人工智能芯片的研究进展及市场发展进行介绍。

人工智能芯片的发展

据了解,人工智能(AI)技术的发展和应用在美国、中国和欧盟等世界主要国家中已经成为国家战略,在国家的科技发展和产业竞争中占据越来越重要的位置。同时,AI技术在手写识别(例如MNIST数据集[1])、人脸识别(例如Facebook的DeepFace[2])、语音识别(例如亚马逊的Alexa[3]、Apple的Siri[4]、微软的Cortana[5])、机器人技术(例如机器人操作系统[6])、自动驾驶(例如TartanRacing[7]),甚至智力游戏(例如Google的AlphaGo[8])和视频游戏(例如Pac-mAnt[9])等领域得到了广泛应用。随着人工智能的发展,产生了更多的专业技术,比如神经网络模型、机器学习等,依靠经验学习而不是编程来做出决策。反过来,机器学习为深度学习奠定了基础,深度学习涉及分层算法,以便更好地理解数据。

自20世纪50年代开始,人类对人工智能技术的探索从来就没有停止过。“人工智能”一词是由科学家约翰·麦卡锡(JohnMcCarthy)、克劳德·香农(ClaudeShannon)和马文·明斯基(MarvinMinsky)于年在达特茅斯会议上提出的,从此揭开人工智能研究的序幕。年Rosenblatt出版《神经动力学原理》及其年设计的模拟计算器,被视作深度神经网络模型的算法原型。年,Minsky与Papert出版《感知器》,指出单层神经网络训练出来的图像识别算法连对称图形都无法正确识别。

对于多层神经网络,由于人造神经元的运算极限严重受限于当时计算机的算力不足,导致多层神经网络也无法被当时和后来的计算机的芯片运算效能实现,这造成了人工神经网络领域在年代的寒冬时期。

年,日本开始第五代计算机项目研究计划,同时美国也投入不少资源在第五代计算机的研发中,但最终依然无法解决图像和音讯识别的重大问题。年,Hinton与Sejnowski发表了之前被视为不可能实现的基于玻尔兹曼机的“多层神经网络”,年,Rumelhart和Hinton发表“BP反向传播算法”,年,贝尔实验室成功利用反向传播算法,在多层神经网络开发了一个手写邮编识别器。同年,Mead出版AnalogVLSIandNeuralSystems,开创了基于仿生芯片的神经形态工程领域。

年,YannLeCun的团队使用DSP在一台电脑上实现深度学习算法,其作为推理芯片,已可辨识手写的数字。至此,通用芯片CPU的算力大幅提升,但仍无法满足多层神经网络的计算能力需求。年,MichaelGschwind等使用FPGAs实现神经网络的算法应用,年,YannLeCun和YoshuaBengio发表了手写识别神经网络和反向传播优化相关的论文“Gradient-basedlearningappliedtodocumentrecognition”,开创了卷积神经网络时代的到来。

年,Hinton提出受限玻尔兹曼机模型与深度信念网络,成功地训练多层神经网络,解决了反向传播算法局部最佳解问题,并把多层类神经网络称作“深度学习”,首次证明了大规模深度神经网络学习的可能性。年,英伟达开发出统一计算架构(CUDA),研究人员透过CUDA可以轻松使用C语言开发GPU,使得GPU具有方便的编程环境可以直接编写程序。年,英伟达推出Tegra芯片,作为最早的可用于人工智能领域的GPU,如今已成为英伟达最重要的AI芯片之一,主要用于智能驾驶领域。年,RajatRaina和吴恩达联合发表利用GPU完成深度学习训练的论文“Large-scaleDeepUnsupervisedLearningUsingGraphicProcessors”。年,IBM首次发布类脑芯片原型模拟大脑结构,该原型具有感知认知能力和大规模并行计算能力。

年,Krizhevsky与Hinton的团队采用GPU架构结合卷积神经网络(CNN)算法,在ImageNet大赛中,将图像识别错误率降到18%,并在NIPS会议上发表图像识别论文“ImageNetClassificationwithDeepConvolutionalNeuralNetworks”。这一突破性的成果,让人们第一次惊喜地看到神经网络的算力需求可被现行计算设备满足。不过,这一成果也有它的美中不足:他们使用的GPU架构芯片并非针对神经网络架构设计,其中包含许多运行神经网络时不需要的架构设计,因此效率提升有限。就在同一年,GoogleBrain用1.6万个GPU核的并行计算平台训练DNN模型,在语音和图像识别等领域获得巨大成功,年GPU开始广泛应用于人工智能领域,高通公司发布Zeroth。年,中国科学研究院的陈天石博士(寒武纪创办人)团队发表以DianNao[10]为名的人工智能专用加速芯片系列论文(包含DaDianNao[11]、PuDianNao[12]、ShiDianNao[13]、Cambricon-X),开启人工智能加速专用芯片(ASIC)的研究领域。也在同年,英伟达发布首个为深度学习设计的GPU架构Pascal,IBM发布第二代TrueNorth。

年,JasonCong在当年的国际FPGA大会上,发表1篇FPGA加速DNN算法的论文“OptimizingFPGA-basedAcceleratorDesignforDeepConvolutionalNeuralNetworks”,使得FPGAs迅速大火。很快地,年,Google发表TensorFlow框架设计的TPU芯片,而同年,采用TPU架构的AlphaGo出现,并击败人类世界冠军棋士李世石。还是在同年,寒武纪研发出DIANNAO,FPGA芯片在云计算平台得到广泛应用。仅仅在年,谷歌TPU2.0发布,加强了训练效能[14];英伟达发布Volta架构,推进GPU的效能大幅提升;华为麒麟成为首个手机AI芯片;清华大学魏少军教授团队开发出Thinker原型,并随后推出在算力和能效方面具有国际水平的系列Thinker人工智能芯片。

人工智能芯片的分类

2.1传统CPU困局

自20个世纪60年代早期开始,CPU(中央处理器)开始出现并使用在计算机工业中。现如今,虽然CPU在设计和实现上都发生了巨大变化,但是基于冯·诺依曼架构的CPU基本工作原理却一直没有发生很大变化。如图1所示,冯·诺依曼架构分为中央处理单元(CPU)和存储器,CPU主要由控制器和运算器两大部件组成[15]。在工作时,CPU每执行一条指令都需要从存储器中读取数据,根据指令对数据进行相应的操作,因此CPU不仅负责数据运算,而且需要执行存储读取、指令分析、分支跳转等命令。同时可以通过提升单位时间内执行指令的条数,即主频,来提升计算速度。但在人工智能深度学习领域中程序指令相对较少,但对大数据的计算需求很大,需要进行海量的数据处理。当用CPU执行AI算法时,CPU将花费大量的时间在数据/指令的读取分析上,在一定的功耗前提下,不能够通过无限制的加快CPU频率和内存带宽来达到指令执行速度无限制的提升。因此在这种情形下,传统CPU结构缺点明显,在人工智能芯片领域中的算力瓶颈问题很难解决。

2.2人工智能芯片中的后CPU时代

基于CPU的算力问题,近年来人工智能芯片领域的科学家们进行了富有成果的广泛研究,主要集中在AI芯片目前的两种发展方向。一个方向是继续延续经典的冯·诺依曼计算架构,以加速计算能力为发展目标,主要分为并行加速计算的GPU(图形处理单元)、半定制化的FPGA(现场可编程门阵列)、全定制化的ASIC(专用集成电路)。另一个方向就是颠覆传统的冯·诺依曼计算架构,采用基于类脑神经结构的神经拟态芯片来解决算力问题。下面将对这两个方向的人工智能芯片特点进行详细描述。

2.2.1按架构分类

(1)图形处理单元(graphicsprocessingunit,GPU)。GPU是相对较早的加速计算处理器,具有速度快、芯片编程灵活简单等特点。由于传统CPU的计算指令遵循串行执行方式,不能发挥出芯片的全部潜力,而GPU具有高并行结构,在处理图形数据和复杂算法方面拥有比CPU更高的效率。在结构上,CPU主要由控制器和寄存器组成,而GPU则拥有更多的逻辑运算单元(arithmeticlogicunit,ALU)用于数据处理,这样的结构更适合对密集型数据进行并行处理,程序在GPU系统上的运行速度相较于单核CPU往往提升几十倍乃至上千倍。同时,GPU拥有了更加强大的浮点运算能力,可以缓解深度学习算法的训练难题,释放人工智能的潜能。但是GPU也有一定的局限性。深度学习算法分为训练和推断两部分,GPU平台在算法训练上非常高效。但在推断中对于单项输入进行处理的时候,并行计算的优势不能完全发挥出来。

(2)现场可编程门阵列(fieldprogrammablegatearray,FPGA)。FPGA是在PAL、GAL、CPLD等可编程器件基础上进一步发展的产物。其基本原理是在FPGA芯片内集成大量的基本门电路以及存储器,用户可以通过更新FPGA配置文件(即烧入)来定义这些门电路以及存储器之间的连线。这种烧入不是一次性的,因此,它既解决了定制电路灵活性的不足,又克服了原有可编程器件门电路数有限的缺点。与GPU不同,FPGA同时拥有进行数据并行和任务并行计算的能力,适用于以硬件流水线方式处理一条数据,且整数运算性能更高,因此常用于深度学习算法中的推断阶段。不过FPGA通过硬件的配置实现软件算法,因此在实现复杂算法方面有一定的难度。

将FPGA和CPU对比可以发现两个特点,一是FPGA没有内存和控制所带来的存储和读取部分,速度更快,二是FPGA没有读取指令操作,所以功耗更低。劣势是价格比较高,编程复杂,整体运算能力不是很高。功耗方面,从体系结构而言,FPGA也具有天生的优势。传统的冯氏结构中,执行单元(如CPU核)执行任意指令,都需要有指令存储器、译码器、各种指令的运算器及分支跳转处理逻辑参与运行,而FPGA每个逻辑单元的功能在重编程(即烧入)时就已经确定,不需要指令,无需共享内存,从而可以极大地降低单位执行的功耗,提高整体的能耗比。FPGA最值得注意的例子可能是CNP[16],它进一步改进并重命名为NeuFlow[17],后来改编为nn-X[18]。这些设计可以实现10~KM/s操作(GOPS),功率仅为10W以下。

(3)专用集成电路(application-specificintegratedcircuit,ASIC)。目前以深度学习为代表的人工智能计算需求,主要采用GPU、FPGA等已有的适合并行计算的通用芯片来实现加速。在产业应用没有大规模兴起之时,使用这类GPU、FPGA已有的通用芯片可以避免专门研发定制芯片(ASIC)的高投入和高风险。但是,由于这类通用芯片设计初衷并非专门针对深度学习,因而天然存在性能、功耗等方面的局限性。随着人工智能应用规模的扩大,这类问题日益突显。

GPU作为图像处理器,设计初衷是为了应对图像处理中的大规模并行计算。因此,在应用于深度学习算法时无法充分发挥并行计算优势。深度学习包含训练和推断两个计算环节,GPU在深度学习算法训练上非常高效,但对于单一输入进行推断的场合,并行度的优势不能完全发挥。其次,GPU采用SIMT计算模式,硬件结构相对固定,无法灵活配置硬件结构。此外,运行深度学习算法能效低于FPGA。

虽然FPGA倍受看好,但其毕竟不是专门为了适用深度学习算法而研发,实际应用中为了实现可重构特性,FPGA内部有大量极细粒度的基本单元,但是每个单元的计算能力都远低于CPU和GPU中的ALU模块;其次,为实现可重构特性,FPGA内部大量资源被用于可配置的片上路由与连线,因此计算资源占比相对较低;再者,速度和功耗相对专用定制芯片(ASIC)仍然存在不小差距;而且FPGA价格较为昂贵,在规模放量的情况下单块FPGA的成本要远高于专用定制芯片。

因此,随着人工智能算法和应用技术的日益发展,以及人工智能专用芯片ASIC产业环境的逐渐成熟,全定制化人工智能ASIC也逐步体现出自身的优势。ASIC是专用定制芯片,定制的特性有助于提高ASIC的性能功耗比,缺点是电路设计需要定制,相对开发周期长,功能难以扩展。但在功耗、可靠性、集成度等方面都有优势,尤其在要求高性能、低功耗的移动应用端体现明显。比如谷歌的TPU、寒武纪的GPU,地平线的BPU都属于ASIC芯片。

(4)神经拟态芯片(类脑芯片)。在人工智能芯片中,传统的冯·诺依曼架构存在着“冯·诺依曼瓶颈”,它降低了系统的整体效率和性能[19]。为了从根本上克服这个问题,神经形态计算近年来已成为基于冯·诺依曼系统的这些传统计算架构的最有吸引力的替代方案。术语“神经形态计算”首先由Mead[20]在年提出,它是一种受大脑认知功能启发的新计算范式。与传统的CPU/GPU不同,生物脑(例如哺乳动物的大脑)能够以高效率和低功耗在小区域中并行处理大量信息。因此,神经形态计算的最终目标是开发神经形态硬件加速器,模拟高效生物信息处理,以弥合网络和真实大脑之间的效率差距[21],这被认为是下一代人工智能的主要驱动力。

神经拟态芯片不采用经典的冯·诺依曼架构,而是基于神经形态架构设计,是模拟生物神经网络的计算机制,如果将神经元和突触权重视为大脑的“处理器”和“记忆”,它们会分布在整个神经皮层[22]。神经拟态计算从结构层面去逼近大脑,其研究工作可分为两个层次,一是神经网络层面,与之相应的是神经拟态架构和处理器,以IBMTruenorth为代表,这种芯片把定制化的数字处理内核当作神经元,把内存作为突触。

其逻辑结构与传统冯·诺依曼结构不同:内存、CPU和通信部件完全集成在一起,因此信息的处理在本地进行,克服了传统计算机内存与CPU之间的速度瓶颈问题。同时神经元之间可以方便快捷地相互沟通,只要接收到其他神经元发过来的脉冲(动作电位),这些神经元就会同时做动作;二是神经元与神经突触层面,与之相应的是元器件层面的创新。如IBM苏黎世研究中心宣布制造出世界上首个人造纳米尺度的随机相变神经元,可实现高速无监督学习。

当前,最先进的神经拟态芯片仍然远离人类大脑的规模(个神经元,每个神经元有~个突触),至多达到倍,如表1所示。为了达到在人脑中规模,应将多个神经拟态芯片集成在电路板或背板上,以构成超大规模计算系统。神经拟态芯片的设计目的不再仅仅局限于加速深度学习算法,而是在芯片基本结构甚至器件层面上改变设计,希望能够开发出新的类脑计算机体系结构,比如采用忆阻器和ReRAM等新器件来提高存储密度。这类芯片技术尚未完全成熟,离大规模应用还有很长的距离,但是长期来看类脑芯片有可能会带来计算机体系结构的革命。

2.2.2按功能分类

根据机器学习算法步骤,可分为训练(training)和推断(inference)两个环节。训练环节通常需要通过大量的数据输入,训练出一个复杂的深度神经网络模型。训练过程由于涉及海量的训练数据和复杂的深度神经网络结构,运算量巨大,需要庞大的计算规模,对于处理器的计算能力、精度、可扩展性等性能要求很高。目前市场上通常使用英伟达的GPU集群来完成,Google的TPU2.0/3.0也支持训练环节的深度网络加速。

推断环节是指利用训练好的模型,使用新的数据去“推断”出各种结论。这个环节的计算量相对训练环节少很多,但仍然会涉及到大量的矩阵运算。在推断环节中,除了使用CPU或GPU进行运算外,FPGA以及ASIC均能发挥重大作用。表2是4种技术架构的芯片在人工智能系统开发上的对比。

2.2.3按应用场景分类

主要分为用于服务器端(云端)和用于移动端(终端)两大类。

服务器端:在深度学习的训练阶段,由于数据量及运算量巨大,单一处理器几乎不可能独立完成1个模型的训练过程,因此,负责AI算法的芯片采用的是高性能计算的技术路线,一方面要支持尽可能多的网络结构以保证算法的正确率和泛化能力;另一方面必须支持浮点数运算;而且为了能够提升性能必须支持阵列式结构(即可以把多块芯片组成一个计算阵列以加速运算)。在推断阶段,由于训练出来的深度神经网络模型仍非常复杂,推断过程仍然属于计算密集型和存储密集型,可以选择部署在服务器端。

移动端(手机、智能家居、无人车等):移动端AI芯片在设计思路上与服务器端AI芯片有着本质的区别。首先,必须保证很高的计算能效;其次,在高级辅助驾驶ADAS等设备对实时性要求很高的场合,推断过程必须在设备本身完成,因此要求移动端设备具备足够的推断能力。而某些场合还会有低功耗、低延迟、低成本的要求,从而导致移动端的AI芯片多种多样。

人工智能芯片研究现状

3.1研究背景

人工智能芯片的核心为神经网络算法的实现。深度神经网络(DNN)已经在自然语言处理、机器视觉、语音识别、医学影像分析等众多人工智能领域取得了重大突破[28-29]。深度学习主要分为传统卷积神经网络(CNN)和递归神经网络(RNN),其依赖于大数据集的反复训练和大量浮点运算推理运算,这对计算机算力要求较高,训练时间长,功耗极大。以AlphaGo为例,其基于个中央处理单元和个图形处理单元,功耗为1MW,这几乎是人脑能耗(~20W)的5万倍。近年来,人工智能被视为有极大的潜力应用于物联网和边缘计算领域中,因此需要具备高能效、快速预测,在线学习的能力,以避免向后端或服务器发送大量的数据[30-32]。

人工智能算法、架构、电路、器件等各个层面得到了很大的改进和优化,以减少推理的能量消耗,同时保持分类精度等性能指标[30,32-34]。通过定制ASIC设计实现节能推理硬件加速器的工作已经实现了相当高的能效(1TFlops/W),但基于反向传播的深度学习算法需要频繁地从远程传播误差信号,因此很难实现有效的在线学习。由于能量效率低下和缺乏有效的在线学习方法,以CNN和RNN为代表的许多深度学习算法不适合以事件驱动和对能效要求极高的新兴人工智能应用,例如物联网智能传感器和边缘计算等[31-32,35]。

在此背景下,人工智能领域科学家提出脉冲神经网络(SNN),其被誉为第三代人工神经网络。

SNN在神经元模型之间使用时序脉冲序列来表示、传输和处理信息,来保证了更快的在线学习和更高的能量效率。相比传统的人工神经网络(CNN和RNN),SNN具备了更多独特的仿脑特性,包括信息的脉冲表示、事件驱动的信息处理和基于脉冲的局部学习规则等,更加接近于生物神经网络中的学习和记忆机制。因此,由于脉冲神经网络其快速的在线学习、极高的能量效率、与人脑的高度相似性,近年来是人工智能科学领域极具科学意义的研究课题[36-37]。

3.2研究现状

近年来,世界上著名的学术研究机构和国际半导体公司都在积极研究和开发基于脉冲的神经拟态电路[38-45]。如表3所示,基于SNN的神经拟态计算硬件比基于传统DNN的硬件加速器具有更高的能量效率。大多数最先进的神经拟态计算芯片[39-41,44]都是基于成熟的CMOS硅技术对SNN进行ASIC设计,通过SRAM等存储器模拟实现人工突触,并利用关键的数字或模拟电路仿生实现人工神经元。其中最具有代表性的是IBM公司研发的基于CMOS多核架构TrueNorth芯片[40],当模拟万个神经元和2亿万个突触时,该芯片仅消耗70mW的功耗,每个突触事件仅消耗26pJ的极高能量效率。然而,为了模仿生物突触和神经元的类脑特性,电子突触和神经元需要高度复杂的CMOS电路来实现所需的人工突触和神经元的功能,如图2所示。

以IBM的TrueNorth芯片为例,它包含54亿个晶体管,在28nm工艺下占据4.3cm2的面积。因此,这一类基于脉冲的神经拟态CMOS硬件电路使用大量的晶体管,并导致耗费非常大的芯片面积。加之,现有的大多数神经拟态芯片[39-41,44]由于其计算单元与存储单元在局部依然是分离的,这在用于神经元的CMOS逻辑电路和用于突触的SRAM电路之间依然存在局部的存储壁垒问题和能量效率问题,所以实际上还不是真正意义上的非冯·诺依曼体系结构。不过最新的具有三维堆叠能力的非易失性存储器(NVM)技术或存内计算技术(in-memory

转载请注明:http://www.0431gb208.com/sjszyzl/2129.html