AI芯片特性及对比
2022年06月21日
目前,智能驾驶领域在处理深度学习AI算法方面,主要采用GPU、FPGA 等适合并行计算的通用芯片来实现加速。同时有部分芯片企业开始设计专门用于AI算法的ASIC专用芯片,比如谷歌TPU、地平线BPU等。在智能驾驶产业应用没有大规模兴起和批量投放之前,使用GPU、FPGA等已有的通用芯片可以避免专门研发定制芯片(ASIC)的高投入和高风险,但是,由于这类通用芯片设计初衷并非专门针对深度学习,因而存在性能不足、功耗过高等方面的问题。这些问题随着自动驾驶行业应用规模的扩大将会日益突出。
本文从芯片种类、性能、应用和供应商等多角度介绍AI芯片,用于给行业内入门新人扫盲。
是人工智能(AI)芯片?
从广义上讲,能运行AI算法的芯片都叫AI芯片。
目前通用的CPU、GPU、FPGA等都能执行AI算法,只是执行效率差异较大。
但狭义上讲一般将AI芯片定义为“专门针对AI算法做了特殊加速设计的芯片”。
目前AI芯片的主要用于语音识别、自然语言处理、图像处理等大量使用AI算法的领域,通过芯片加速提高算法效率。AI芯片的主要任务是矩阵或向量的乘法、加法,然后配合一些除法、指数等算法。AI算法在图像识别等领域,常用的是CNN卷积网络,一个成熟的AI算法,就是大量的卷积、残差网络、全连接等类型的计算,本质是乘法和加法。
对汽车行业而言,AI芯片的主要用于就是处理智能驾驶中环境感知、传感器融合和路径规划等算法带来的大量并行计算需求。
AI芯片可以理解为一个快速计算乘法和加法的计算器,而CPU要处理和运行非常复杂的指令集,难度比AI芯片大很多。GPU虽然为图形处理而设计,但是CPU与GPU并不是专用AI芯片,其内部有大量其他逻辑来实现其他功能,这些逻辑对于目前的AI算法来说完全无用。目前经过专门针对AI算法做过开发的GPU应用较多,也有部分企业用FPGA做开发,但是行业内对于AI算法必然出现专用AI芯片。
3、为什么要用AI芯片?
人工智能从功能上来看包括推理和训练两个环节,智能驾驶行业亦然。在训练环节,通过大数据训练出一个复杂的神经网络模型,目前大部分企业在训练环节主要使用英伟达的GPU集群完成。推理环节是指利用训练好的模型,使用大量数据推理出各种结论。因此,训练环节对芯片的算力性能要求比较高,推理环节对简单指定的重复计算和低延迟的要求很高。
从应用场景来看,人工智能芯片应用于云端和设备端,在智能驾驶领域同样具备云服务器和车载的各种计算平台或域控制器,在智能驾驶深度学习的训练阶段需要极大的数据量和大量运算,单一处理器无法独立完成,因此训练环节只能在云服务器实现。相对的在设备端即车上,各种ECU、DCU等终端数量庞大,而且需求差异较大。因此,推理环节无法在云端完成,这就要求车上的各种电子单元、硬件计算平台或域控制器有独立的推理计算能力,因此必须要有专用的AI芯片来应对这些推理计算需求。
传统的CPU、GPU都可以拿来执行AI算法,但是速度慢,性能低,尤其是CPU,在智能驾驶领域无法实际投入商用。
比如,自动驾驶需要识别道路、行人、红绿灯等路况和交通状况,这在自动驾驶算法里面都是属于并行计算,如果是CPU去执行计算,那么估计车撞到人了也没算出来个结果,CPU并行计算速度慢属于先天不足。如果用GPU速度要快得多,毕竟GPU专为图像处理并行计算设计,但是GPU功耗过大,汽车的电池无法长时间支撑正常使用,而且GPU价格相对较高,用于自动驾驶量产的话普通消费者也用不起。另外,GPU因为不是专门针对AI算法开发的ASIC,执行AI计算的速度优势还没到极限,还有提升空间。
在智能驾驶这样的领域,环境感知、物体识别等深度学习应用要求计算响应方面必须快!时间就是生命,慢一步就有可能造成无法挽回的情况,但是保证性能快效率高的同时,功耗不能过高,不能对智能汽车的续航里程造成较大影响,也就是AI芯片必须功耗低,所以GPU不是适合智能驾驶的最佳AI芯片选择。因此开发ASIC就成了必然。
4、AI芯片的种类
当前主流的AI芯片主要分为三类,GPU、FPGA、ASIC。GPU、FPGA均是前期较为成熟的芯片架构,属于通用型芯片。ASIC属于为AI特定场景定制的芯片。行业内已经确认CPU不适用于AI计算,但是在AI应用领域也是必不可少,另外一种说法是还有一种类脑芯片,算是ASIC的一种。
FPGA(Field Programmable Gate Array,现场可编程门阵列)具有足够的计算能力和足够的灵活性。FPGA的计算速度快是源于它本质上是无指令、无需共享内存的体系结构。对于保存状态的需求,FPGA中的寄存器和片上内存(BRAM)是属于各自的控制逻辑的,无需不必要的仲裁和缓存,因此FPGA在运算速度足够快,优于GPU。同时FPGA也是一种半定制的硬件,通过编程可定义其中的单元配置和链接架构进行计算,因此具有较强的灵活性。相对于GPU,FPGA能管理能运算,但是相对开发周期长,复杂算法开发难度大。
ASIC(Application Specific Integrated Circuit特定用途集成电路)根据产品的需求进行特定设计和制造的集成电路,能够在特定功能上进行强化,具有更高的处理速度和更低的能耗。缺点是研发成本高,前期研发投入周期长,且由于是定制化,可复制性一般,因此只有用量足够大时才能够分摊前期投入,降低成本。
4.1 CPU (CentralProcessing Unit)
中央处理器作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元,CPU 是对计算机的所有硬件资源(如存储器、输入输出单元) 进行控制调配、执行通用运算的核心硬件单元。
优点:CPU有大量的缓存和复杂的逻辑控制单元,非常擅长逻辑控制、串行的运算
缺点:不擅长复杂算法运算和处理并行重复的操作。
对于AI芯片来说,算力最弱的是cpu。虽然cpu主频最高,但是单颗也就8核,16核的样子,一个核3.5g,16核也就56g,再考虑指令周期,每秒最多也就30g次乘法。还是定点的。
生产厂商:intel、AMD
4.2 GPU (GraphicsProcessing Unit)
图形处理器,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
优点:提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算,拥有更高的浮点运算能力。
缺点:管理控制能力(最弱),功耗(最高)。
生产厂商:AMD、NVIDIA
4.3 FPGA(Field Programmable Gate Array)
FPGA是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
优点:可以无限次编程,延时性比较低,同时拥有流水线并行和数据并行(GPU只有数据并行)、实时性最强、灵活性最高
缺点:开发难度大、只适合定点运算、价格比较昂贵
生产厂商:Altera(Intel收购)、Xilinx
4.4 ASIC(Application Specific IntegratedCircuit)
ASIC,即专用集成电路,指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。目前用CPLD(复杂可编程逻辑器件)和 FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一。
优点:它作为集成电路技术与特定用户的整机或系统技术紧密结合的产物,与通用集成电路相比具有体积更小、重量更轻、 功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。
缺点:灵活性不够,成本比FPGA贵
主要性能指标:功耗、速度、成本
生产厂商:谷歌、地平线、寒武纪等
4.5 四种芯片的特性总结
CPU是一个有多种功能的优秀领导者。它的优点在于调度、管理、协调能力强,计算能力则位于其次。而GPU相当于一个接受CPU调度的“拥有大量计算能力”的员工。
GPU 作为图像处理器,设计初衷是为了应对图像处理中需要大规模并行计算。因此,其在应用于深度学习算法时,有三个方面的局限性:
第一,应用过程中无法充分发挥并行计算优势。深度学习包含训练和应用两个计算环节,GPU 在深度学习算法训练上非常高效,但在应用时一次性只能对于一张输入图像进行处理,并行度的优势不能完全发挥。
第二,硬件结构固定不具备可编程性。深度学习算法还未完全稳定,若深度学习算法发生大的变化,GPU 无法像FPGA 一样可以灵活的配置硬件结构。
第三,运行深度学习算法能效远低于FPGA。学术界和产业界研究已经证明,运行深度学习算法中实现同样的性能,GPU 所需功耗远大于FPGA,例如国内初创企业深鉴科技基于FPGA 平台的人工智能芯片在同样开发周期内相对GPU 能效有一个数量级的提升。
FPGA,其设计初衷是为了实现半定制芯片的功能,即硬件结构可根据需要实时配置灵活改变。
研究报告显示,目前的FPGA市场由Xilinx 和Altera 主导,两者共同占有85%的市场份额,其中Altera 在2015 年被intel以167 亿美元收购, Xilinx则选择与IBM进行深度合作,背后都体现了 FPGA 在人工智能时代的重要地位。
尽管 FPGA 倍受看好,甚至百度大脑、地平线AI芯片也是基于FPGA 平台研发,但其毕竟不是专门为了适用深度学习算法而研发,实际仍然存在不少局限:
第一,基本单元的计算能力有限。为了实现可重构特性,FPGA 内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠LUT 查找表)都远远低于CPU 和GPU中的ALU模块。
第二,速度和功耗相对专用定制芯片(ASIC)仍然存在不小差距。
第三,FPGA 价格较为昂贵,在规模放量的情况下单块FPGA 的成本要远高于专用定制芯片。
人工智能定制芯片是大趋势,从发展趋势上看,人工智能定制芯片将是计算芯片发展的大方向。
推荐新闻
关于为什么 Metaverse 需要加密,特别是为什么 Metaverse 需要 NFT。 至关重要的是,元节的所有权层最终位于公共区块链上而不是私有数据库中。
聊聊看最近关于 Web3 中间件的思考:数据,社交图谱和身份。 Web2 的巨头长期掌握着用户数据所有权和使用权,通过数据直接或间接牟利的手段更是层出不穷。