登录注册   忘记密码

AI芯片类型及发展情况

加州理工学院 Carver Mead 最早开始AI芯片的研究,在20世纪80年代开始研究神经拟态系统(neuromorphic electronic systems),利用模拟电路模仿生物神经系统结构。经过30多年的发展,目前已经诞生了不同特色的各类 AI 芯片,主要包括图形处理器(graphics processing unit,GPU)、现场可编程门阵列(field-programmable gatearray,FPGA)、数字信号处理(digital signal processing,DSP)、专用集成电路(application specific integrated circuits,ASIC)、众核处理器、神经拟态芯片等。

 

近年来基于深度学习的图像识别算法和语音识别算法取得了出色的成绩,引起了学术界和工业界的广泛关注,随着谷歌人工智能围棋程序AlphaGo先后战胜李世乭和柯洁,更是把人工智能的热度推向全社会。谷歌这一成绩离不开背后 AI加速芯片的贡献,从初代AlphaGo采用 CPU GPU 的搭建方案,到最新一代 AlphaGo Zero 采用专用高性能处理器(tensor processing unit,TPU),芯片的变化带来了计算速度的巨大提升和功耗的大幅下降。由此可见针对不同的计算任务,不同类型的AI芯片往往各具优势。

 

AI加速芯片

简单地说,AI 加速芯片是指以现有芯片架构为基础,对某类特定算法或者场景进行加速,从而实现在这一特定场景下的计算速度、功耗和成本等方面的优化。通常包括基于深度神经网络的各类算法,以及图像识别、视频检索、语音识别、声纹检测、搜索引擎优化、自动驾驶等任务。AI加速芯片的设计主要有两种思路:利用已有的GPU、FPGA、DSP、众核处理器等芯片以异构计算的方式来实现;设计专用的ASIC芯片。

 

GPU

GPU,即图形处理器,是一种由大量核心组成的大规模并行计算架构,专为同时处理多重任务而设计,原本的功能是帮助 CPU处理图形显示的任务,尤其是3D图形显示。为了执行复杂的并行计算,快速进行图形渲染,GPU的核数远超 CPU,但每个核拥有的缓存相对较小,数字逻辑运算单元也更简单,更适合计算密集型的任务。Intel的GPU主要做为集成显卡使用,应用于Intel 的主板和 CPU,而 Nvidia 和 AMD 则在独立显卡领域更具优势。


深度神经网络的训练过程中计算量极大,而且数据和运算是可以高度并行的,GPU 具备进行海量数据并行运算的能力并且为浮点矢量运算配备了大量计算资源,与深度学习的需求不谋而合,因此最先被引入运行深度学习算法,成为高性能计算领域的主力芯片之一。但由于 GPU不能支持复杂程序逻辑控制,仍然需要使用高性能CPU配合来构成完整的计算系统。

 

FPGA

FPGA 是在 PAL、GAL、CPLD 等可编程逻辑器件的基础上进一步发展的产物。它作为专用集成电路领域中的一种半定制电路出现,既解决了定制电路灵活性上的不足,又克服了原有可编程器件门电路数量有限的缺点。FPGA 利用门电路直接运算,速度快,而用户可以自由定义这些门电路和存储器之间的布线,改变执行方案,以期得到最佳效果。FPGA 可以采用 OpenCL等更高效的编程语言,降低了硬件编程的难度,还可以集成重要的控制功能,整合系统模块,提高了应用的灵活性,与 GPU相比,FPGA具备更强的计算能力和更低的功耗。


目前,FPGA的主要厂商Xilinx和被Intel收购的Altera 都推出了专门针对 AI 加速的 FPGA 硬件和软件工具。而各个主要的云服务厂商,比如亚马逊、微软、阿里云等都推出了专门的云端 FPGA 实例来支持 AI 应用。中国刚刚被 Xilinx 收购的北京深鉴科技有限公司也是基于FPGA来设计深度学习的加速器架构,可以灵活扩展用于服务器端和嵌入式端。

 

DSP

DSP是一种由大规模集成电路芯片组成的用来完成某种信号处理任务的处理器。DSP善于测量、计算、过滤或压缩连续的真实模拟信号,广泛应用于通信与信息系统、信号与信息处理、自动控制、雷达、航空航天、医疗、家用电器等领域。针对滤波、矩阵运算、FFT(fast Fourier transformation)等需要大量乘加法运算的特点,DSP内部配有独立的乘法器和加法器,从而大大提高了运算速率。

 

DSP 种类繁多,目前应用于 AI 领域的 DSP 主要用于处理视觉系统如图像、视频等方面的任务,在自动驾驶、安防监控、无人机和移动终端等领域最为常见。这些 DSP 中加入了专为深度神经网络定制的加速部件,如矩阵乘和累加器、全连接的激活层和池化层等。由于 DSP 具有高速、灵活、体积小、低功耗、可编程的特点,非常适合被用在终端设备中,例如手机和摄像头。

 

众核处理器

众核处理器采用将多个处理核心整合在一起的处理器架构,主要面向高性能计算领域,作为CPU的协处理器存在。众核处理器适合处理并行程度高的计算密集型任务,如基因测序、气象模拟等。比起 GPU,众核处理器支持的计算任务的控制逻辑和数据类型要更加复杂。2000年后,该领域的芯片研究一直很活跃,例如IBM CELL和 Kalray MPPA。Intel 的至强融核处理器(Xeon Phi)是典型的众核处理器,其中2017年发布的KNL代表了众核处理器的领先水平。

 

众核处理器的结构能有效地利用现代网络和服务器等应用中较高的线程并行度,虽然芯片面积和功耗会随着内核数量的增加而增加,但性能也随之有效地增加。而增加运算部件和指令发射宽度等技术在增大芯片面积的同时,会拉长信号传输线路,显著增加线延迟,因此众核处理器更适用于数据中心部署的各类 AI训练和推理任务。

 

ASIC

ASIC 是一种为专用目的设计的,面向特定用户需求的定制芯片,在大规模量产的情况下具备性能更强、体积更小、功耗更低、成本更低、可靠性更髙等优点。ASIC分为全定制和半定制。全定制设计需要设计者完成所有电路的设计,因此需要大量人力物力,灵活性好,但开发效率低下,时间成本高昂。如果设计较为理想,全定制能够比半定制的 ASIC 芯片运行速度更快。半定制使用库中标准逻辑单元,设计时可以从标准逻辑单元库中选择门电路、加法器、比较器、数据通路、存储器甚至系统级模块和 IP核,这些逻辑单元已经布局完毕,而且设计得较为可靠,设计者可以较方便地完成系统设计。

 

近年来越来越多的公司开始采用ASIC芯片进行深度学习算法加速,其中表现最为突出的是 Google 的TPU。TPU 的主要模块包括 24 MB 的局部内存、6 MB的累加器内存、256×256个矩阵乘法单元、非线性神经元计算单元,以及用于归一化和池化的计算单元。TPU比同时期的GPU或CPU平均提速15~30倍,能效比提升 30~80倍。中国的北京寒武纪科技有限公司、北京比特大陆科技有限公司、北京地平线信息技术有限公司等公司也都推出了用于深度神经网络加速的ASIC芯片。目前基于 DNN的算法还没有统一标准,而且算法还在不断快速演进,所以 ASIC的设计需要保持一定的可编程性,采取软硬件协同设计。

 

类脑仿生芯片

当今类脑仿生芯片的主流理念是采用神经拟态工程设计的神经拟态芯片。神经拟态芯片采用电子技术模拟已经被证明的生物脑的运作规则,从而构建类似于生物脑的电子芯片,即“仿生电子脑”。神经拟态主要指用包括模拟、数字或模数混合超大规模集成电路VLSI(也包括神经元或者神经突触模型的新型材料或者电子元器件研究)和软件系统实现神经网络模型,并在此之上构建智能系统的研究。神经拟态工程发展成为一个囊括神经生物学、物理学、数学、计算机科学和电子工程的交叉学科。神经拟态研究陆续在全世界范围内开展,并且受到了各国政府的重视和支持,如美国的脑计划、欧洲的人脑项目,以及中国的类脑计算计划等。受到脑结构研究的成果启发,复杂神经网络在计算上具有低功耗、低延迟、高速处理、时空联合等特点。

 

目前神经拟态芯片的设计方法主要分为非硅和硅技术。非硅主要指采用忆阻器等新型材料和器件搭建的神经形态芯片,还处于研究阶段。模拟集成电路的代表是瑞士苏黎世联邦理工学院的 ROLLS芯片和海德堡大学的BrainScales芯片。数字集成电路又分为异步同步混合和纯同步两种。其中异步(无全局时钟)数字电路的代表是 IBM 的 TrueNorth,纯同步的数字电路代表是清华大学的天机系列芯片。另外,对于片上自学习能力,最近Intel推出了Loihi芯片,带有自主片上学习能力,通过脉冲或尖峰传递信息,并自动调节突触强度,能够通过环境中的各种反馈信息进行自主学习。中国的上海西井信息科技有限公司也成功制备了带有片上学习能力的芯片。

 

通用AI芯片

现今的 AI芯片在某些具体任务上可以大幅超越人的能力,但究其通用性与适应性,与人类智能相比差距甚远,大多处于对特定算法的加速阶段。而 AI芯片的最终成果将是通用 AI芯片,并且最好是淡化人工干预的自学习、自适应芯片。因此未来通用 AI芯片应包含以下特征。

 

1)可编程性:适应算法的演进和应用的多样性。

2)架构的动态可变性:能适应不同的算法,实现高效计算。

3)高效的架构重构能力或自学习能力。

4)高计算效率:避免使用指令这类低效率的架构。

5)高能量效率:能耗比大于5 Tops/W(即每瓦特进行5×1012次运算)。

6)低成本低功耗:能够进入物联网设备及消费类电子中。

7)体积小:能够加载在移动终端上。

8)应用开发简便:不需要用户具备芯片设计方面的知识。

 

目前尚没有真正意义上的通用AI芯片诞生,而基于可重构计算架构的软件定义芯片(software defined chip)或许是通用 AI芯片的出路。软件定义芯片顾名思义就是让芯片根据软件进行适应与调整,简单来说就是将软件通过不同的管道输送到硬件中来执行功能,使芯片能够实时地根据软件、产品、应用场景的需求改变架构和功能,实现更加灵活的芯片设计。沿用这种架构设计出来的芯片,可以让芯片的计算能力按照软件的需求来调整适应,而不是沿用传统芯片设计的刚性架构,让应用适应架构。

 

可重构计算技术允许硬件架构和功能随软件变化而变化,兼具处理器的通用性和 ASIC的高性能和低功耗,是实现软件定义芯片的核心,被公认为是突破性的下一代集成电路技术。清华大学微电子学研究所设计的 AI 芯片 Thinker,采用可重构计算架构,能够支持卷积神经网络、全连接神经网络和递归神经网络等多种 AI算法。Thinker芯片通过以下 3个层面的可重构计算技术,实现软件定义芯片。

 

1)计算阵列重构:Thinker芯片的计算阵列由多个并行计算单元互连而成。每个计算单元可以根据算法所需要的基本算子不同而进行功能重构。此外,在复杂 AI 任务中,多种 AI 算法的计算资源需求不同,因此Thinker芯片支持计算阵列的按需资源划分以提高资源利用率和能量效率。

 

2)存储带宽重构:Thinker芯片的片上存储带宽能够根据 AI算法的不同而进行重构。存储内的数据分布会随着带宽的改变而调整,以提高数据复用性和计算并行度,提高了计算吞吐和能量效率。

 

3)数据位宽重构:16 bit数据位宽足以满足绝大多数应用的精度需求,对于一些精度要求不高的场景,甚至 8 bit数据位宽就已经足够。为了满足AI算法多样的精度需求,Thinker芯片的计算单元支持高/低(16/8 bit)两种数据位宽重构。高比特模式下计算精度提升,低比特模式下计算单元吞吐量提升进而提高性能。

 

可重构计算技术作为实现软件定义芯片的重要技术,非常适合应用于 AI芯片的设计当中。采用可重构计算技术之后,软件定义的层面不仅仅局限于功能这一层面,算法的计算精度、性能和能效等都可以纳入软件定义的范畴。可重构计算技术借助自身实时动态配置的特点,实现软硬件协同设计,为 AI芯片带来极高的灵活度和适用范围。Thinker团队最新推出的 Thinker 2人脸识别芯片,能够做到 6 ms 人脸识别(iPhone X 为10 ms),准确率超过 98%;以及 Thinker S语音识别芯片,不仅功耗只有 200 μW,只需要节 7 号 AAA 电池就运行 1 年,而且可以进行声纹识别。《MIT Technology Review》2018年初在一篇专稿中评论了 Thinker团队的工作,认为这是中国取得的顶级成就。

您的评论:

0

用户评价

  • 暂无评论