众所周知,人工智能的三大基础要素是数据、算法和算力,而这三大要素的核心就是AI芯片技术。随着各项基于AIGC前沿科技的广泛应用,AI对于算力的要求开始不断地快速攀升。特别是深度学习成为当前AI研究和运用的主流方式,目前通用的CPU可以拿来执行AI的算法。但是因为内部有大量的非运算逻辑,而这些指令级对于目前的AI算法来说是完全用不上的,所以CPU并不能达到最高的运算效率。因此,具有海量并行计算能力并且能够加速AI计算的AI芯片应运而生。
什么是AI芯片从广义上讲,只要能够进行人工智能算法或者面向AI计算应用的芯片都叫做AI芯片。但是,通常意义上的AI芯片指的是针对人工智能算法做了特殊加速设计的芯片。他们的目的就是为了更高效地执行AI算法。
AI芯片的发展历程从图灵的论文《计算机器与智能》和图灵测试,到最初的神经元模拟单元感知机,再到现在多达上百层的深度神经网络,人类对人工智能的探索从来都没有停止过。
上世纪80年代,多层神经网络和反向传播算法的出现给人工智能行业点燃了新的火花。
1989年,贝尔实验室成功利用了反向传播算法在多层神经网络开发了一个手写邮编识别器。
1998年,两位人工智能科学家杨立坤和约书亚·本杰奥发表了手写识别神经网络和反向传播优化相关的论文,开创了卷积神经网络的时代。此后,人工智能陷入了长时间的发展沉寂阶段,直到1997年IBM的深蓝战胜了国际象棋大师,和2011年IBM的沃森智能系统在《危险边缘》节目中胜出,人工智能才又一次被人们所关注。
2016年,阿尔法狗击败了韩国围棋九段的职业选手,就标志着人工智能的又一波高潮。从基础算法、底层硬件和工具框架到实际的应用场景,现阶段的人工智能领域已经全面开花。作为人工智能核心的底层硬件,AI芯片同样也经历了多次的起伏和波折。总体来看,AI芯片的发展前后经历了四次大的变化。
2007年以前,AI芯片产业一直没有发展成为成熟的产业,同时由于当时的算法、数据量等因素,这个阶段的AI芯片并没有特别强烈的市场需求,通用的CPU芯片即可满足应用需求。
随着高清视频、VR、AR、游戏等行业的发展,GPU产品得到了快速的突破,同时人们发现GPU的并行计算特性恰好适应人工智能算法及大数据并行计算的需求。如GPU比之前传统的CPU在深度学习算法的运算上可以提升几十倍的效率,因此开始尝试使用GPU进行人工智能计算。
进入2010年后,云计算开始广泛推广,人工智能的研究人员通过云计算借助大量的CPU和GPU进行混合运算,进一步推进了AI芯片的深入应用,从而催生了各类AI芯片的研发和应用。人工智能对于计算能力的要求在不断地提升,
进入2015年后,GPU性能功耗比不高的特点使其在工作适用场合受到多种限制,业界开始研发针对人工智能的专用芯片,以其通过更好的硬件和芯片架构在计算效率、能耗比等性能上得到进一步的提升。
AI芯片的分类首先,从AI芯片的功能来看,AI实现包括两个环节:训练和推理。
所以根据承担的任务不同,AI芯片可以分为基于构建神经网络模型的训练芯片,和利用神经网络模型进行推理预测的推理芯片。训练环节通常需要通过大量的数据输入,训练出一个复杂的深度神经网络模型。训练过程由于涉及海量的训练数据和复杂的深度神经网络结构,运算量非常巨大,需要庞大的计算规模。对于处理器的计算能力、精度、可扩展性的性能要求非常高。比如英伟达的H100,基于FP16的算力达到了2000TOPS,即每秒可以进行2,000万亿次的操作。而推理则是利用训练好的模型,使用新的数据去推理出各种结论。这个环节的计算量相对于训练环节就少很多,但是仍然会涉及到大量的矩阵运算。比如英伟达的T4,基于INT8的算力为1,300TOPS。因此,训练芯片注重绝对的计算能力,而推理芯片更注重的是综合指标,单位能耗、算力、延时等各项成本都需要考虑。
从AI芯片的应用场景来看,也可以分为两大类:服务器端和移动端,也可以说是云端和终端。
服务器端,从刚刚提到的训练阶段,由于数据量和运算量巨大,单一的处理器几乎不可能独立完成一个模型的训练过程,因此训练环节只能在云端实现。而推理阶段,由于训练出来的深度神经网络模型仍然非常复杂,推理过程仍然属于计算密集型和存储密集型,同样可以选择部署在服务器端。移动端,如手机、智能家居、无人驾驶,移动端AI芯片在设计思路上与服务器端的AI芯片有着本质的区别。首先,它们对计算的能效要求非常之高;其次,在智能驾驶等实时性要求很高的场合,推理过程必须在设备本身完成,因此要求移动设备具备足够的推理能力。而某些场合还会有低功耗、低延迟、低成本的要求,从而要求移动端的AI芯片更是多种多样。总的来说,服务器端AI芯片的特点是性能强大,并且能够支持大量运算;而移动端的AI芯片特点是体积小、耗电少,并且有很快的计算效率。
最后,还可以从技术架构来划分,比如GPU、FPGA、ASIC和类脑芯片。
GPU:传统的CPU之所以不适合人工智能算法的执行,主要原因是在于计算指令遵循着串行执行的,没有办法发挥出芯片的全部潜力。CPU大部分面积为控制器和寄存器,而GPU拥有更多的逻辑运算单元,用于数据处理。这样的结构适合对于密集型数据进行并行计算,程序在GPU系统上运行速度相较于单行的CPU往往提升几十倍甚至上千倍。但是,GPU也有一定的局限性:深度学习算法分为训练和推断两个部分,GPU平台在算法训练上是非常高效,但是在推断中,由于单项输入进行处理的时候并行计算的优势不能完全发挥出来。此外,GPU无法单独工作,必须由CPU进行控制调用才能工作,而且功耗比较高。
FPGA:FPGA全称现场可编程门阵列,与GPU不同的是,FPGA同时拥有硬件流水线并行和数据并行处理能力,适用于以硬件流水线方式处理一条数据,且整体运算性更高。因此,常用于深度学习算法中的推断阶段。不过,FPGA通过硬件的配置实现软件算法,因此在实现复杂算法方面有一定的难度。相比于CPU,FPGA因为没有数据和指令存储和读取的功能,速度会变得更快,而功耗会更低。那么它的劣势就是价格比较高,编程相对复杂,而且整体运算能力不是很高。
ASIC:ASIC是专用集成电路,是专用的定制芯片,即是为实现特定要求而定制的芯片。定制的特性有助于提高ASIC的性能功耗比,缺点是电路设计需要定制,相对开发周期长,功能难以扩展。但在功耗、可靠性、集成度等方面都有优势,尤其在要求高性能、低功耗的移动端体现非常明显。因此在深度学习算法稳定后,AI芯片可以采用ASIC设计方法进行全面定制,使性能、功耗和面积等指标面向深度学习的算法做到最优。
神经拟态芯片,也就是类脑芯片。神经拟态计算是模拟生物神经网络的计算机制,神经拟态计算是从结构层面去逼近大脑。这种芯片把定制化的数字处理内核当作神经元,把内存作为突触。其逻辑结构与传统的冯·诺依曼结构完全不同,它的内存、CPU和通信部件完全是集成在一起,因此信息的处理在本地进行,克服了传统计算机的内存和CPU之间的速度瓶颈问题。同时,神经元之间可以方便快捷地相互沟通,只要接收到其他的神经元发过来的脉冲,那么这些神经元就会同时做出反应和动作。
AI芯片的发展AI芯片的发展向着更低功耗、更接近人脑、更靠近边缘的方向发展。现在用于深度学习的AI芯片,为了实现深度学习的庞大乘积累加运算和实现计算的高性能,芯片面积越做越大,带来了成本和散热等问题。AI芯片编程的成熟度和芯片的安全以及神经网络的稳定性等问题也都未能得到很好的解决。因此在现有的基础上进行改进和完善此类芯片,仍然是当前的主要研究方向。最终,AI芯片将进一步提高智能,向着更接近人脑的高度智能方向不断发展,并且向着边缘逐步移动,以获得更低的能耗。AI芯片的发展,计算范式随着创新方向以及硬件实现,AI硬件加速技术已经逐渐走向成熟。未来可能会有更多的创业会来自电路和器件级技术的结合,比如存内计算、类脑计算,或者是针对特殊的计算模式或者是新模型,还会有稀疏化计算和近似计算。关于深度计算的研究,也将持续进行。