AI芯片【From Multi-Source】

  九游新闻     |      2024-05-10 00:11

一. Intro

当前主流的AI芯片主要分为三类,GPU、FPGA和ASIC。其中GPU、FPGA均是前期较为成熟的芯片架构,属于通用型芯片。ASIC属于为AI特定场景定制的芯片。

GPU(图像处理单元)

GPU最初承担图像计算任务,能够进行并行计算,因此GPU架构本身比较适合深度学习算法,通过对GPU的优化,进一步满足深度学习大量计算需求。其主要缺点在于功耗较高。

FPGA(Field Programmable Gate Array)

场效可编程逻辑闸阵列运用硬件语言描述电路,根据所需要的逻辑功能对电路进行快速烧录。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者的需要而改变,这就好像一个电路试验九游体育官方网站板被放在了一个芯片里,所以FPGA可以完成所需要的逻辑功能。FPGA和GPU内都有大量的计算单元,因此它们的计算能力都很强。在进行神经网络运算的时候,两者的速度会比CPU快很多。但是GPU由于架构固定,硬件原生支持的指令也就固定了,而FPGA则是可编程的。其可编程性是关键,因为它让软件与终端应用公司能够提供与其竞争对手不同的解决方案,并且能够灵活地针对自己所用的算法修改电路。

ASIC(Application Specific Integrated Circuit)

根据产品的需求进行特定设计和制造的集成电路,能够在特定功能上进行强化,具有更高的处理速度和更低的能耗。缺点是成本高,且由于是定制化,九游体育官方网站可复制性一般,因此只有用量足够大时才能够分摊前期投入,降低成本。现在也有了很多ASIC实现深度学习,但相比较FPGA的可编程,FPGA的灵活性也更有优势。由于目前人工智能技术还是处于发展当中,大量的算法不断涌现和持续优化,而且这种变化以各自的方式在加速。而ASIC芯片由于其在设计之时就是针对特定算法进行固化的,所以无法做到适应各种算法。虽然一些手机芯片厂商开始在SoC当中集成专用的AI内核(比如麒麟970的NPU),但是其主要还是只能针对一些特定的AI算法进行加速。而对于其他的算法还需要依赖于SoC当中的CPU、GPU来实现。特别是在云端的服务器/数据中心,目前更多的还是依赖于CPU、GPU以九游体育官方网站及可重复编程和可重新配置的FPGA来进行人工智能运算和推理。

二. 比较

ARM与FPGA

华为海思ARM架构有鲲鹏系列、ARM内核(公版)是麒麟系列。ARM灵活,通用,但现在算力不足。FPGA不能独立成为平台,需要通用处理器配合,例如ARM,典型的SOC例如xilinx(赛灵思)的Ultrascale+,作为全球唯一基于16纳米技术的成本优化型产品组合,器件采用台积电最先进的InFO(Integrated Fan Out,集成扇出)封装技术,能以紧凑的封装提供高计算密度、出色的性能功耗比以及可扩展性,从而应对智能边缘应用的需求。而这类的SOC都是采用ARM+FPGA。FPGA价格昂贵,很难找到可用九游体育官方网站的场合,一般都是用来做原型,以后流片做ASIC。

FPGA与GPU

峰值性能:GPU远远高于FPGA

GPU上面成千上万个核心同时跑在GHz的频率上是非常壮观的,最新的GPU峰值性能甚至可以达到几十TFlops。GPU的架构经过仔细设计,在电路实现上是基于标准单元库而在关键路径上可以用手工定制电路,甚至在必要的情形下可以让半导体fab依据设计需求微调工艺制程,因此可以让许多core同时跑在非常高的频率上。相对而言,FPGA首先设计资源受到很大的限制,例如GPU如果想多加几个核心只要增加芯片面积就行,但FPGA一旦型号选定了逻辑资源上限就确定了。而且,FPGA里面的逻辑单元是基于SRAM查找表,其性能九游体育官方网站会比GPU里面的标准逻辑单元差很多。FPGA的布线资源也受限制,因为有些线必须要绕很远,不像GPU这样走ASIC flow可以随意布线,这也会限制性能。

平均性能:GPU逊于FPGA

FPGA可以根据特定的应用去编程硬件,例如如果应用里面的加法运算非常多就可以把大量的逻辑资源去实现加法器,而GPU一旦设计完就不能改动了,所以不能根据应用去调整硬件资源。目前机器学习大多使用SIMD架构,即只需一条指令可以平行处理大量数据,因此用GPU很适合。但是有些应用是MISD,即单一数据需要用许多条指令平行处理,这种情况下用FPGA做一个MISD的架构就会比GPU有优势。所以,对于平均性能,看的就是FPG九游体育官方网站A加速器架构上的优势是否能弥补运行速度上的劣势。如果FPGA上的架构优化可以带来相比GPU架构两到三个数量级的优势,那么FPGA在平均性能上会好于GPU。

功耗能效比:

功耗方面,虽然GPU的功耗远大于FPGA的功耗,但是如果要比较功耗应该比较在执行效率相同时需要的功耗。如果FPGA的架构优化能做到很好以致于一块FPGA的平均性能能够接近一块GPU,那么FPGA方案的总功耗远小于GPU,散热问题可以大大减轻。反之,如果需要二十块FPGA才能实现一块GPU的平均性能,那么FPGA在功耗方面并没有优势。能效比的比较也是类似,能效指的是完成程序执行消耗的能量,而能量消耗等于功耗乘以程序执行的时间。虽然G九游体育官方网站PU的功耗远大于FPGA的功耗,但是如果FPGA执行相同程序需要的时间比GPU长几十倍,那FPGA在能效比上就没有优势了;反之如果FPGA上实现的硬件架构优化得很适合特定的机器学习应用,执行算法所需的时间仅仅是GPU的几倍或甚至于接近GPU,那么FPGA的能效比就会比GPU强。

FPGA在安装过程中需要针对不同的IP核定制一系列复杂的工具套件,相比之下,GPU通过PCI-e接口可以直接部署在服务器中,方便而快速。

FPGA与ASIC

在面对一个新的技术和应用的时候,算法会不断的进行快速升级,在这种情况下FPGA会更为合适。而对于那些软件、算法已经比较成熟和稳定的领域,ASIC会更为适合。九游体育官方网站人脸识别、语音识别厂商,在新的技术应用之初,通常会选择FPGA,这样可以不断的进行微调升级,而等到完全算法成熟需要大规模部署之时,必然会采用ASIC来提升能效。5G运营商在部署网络之初,量不够大的时候,采用FPGA就可以符合市场的要求,但是等到技术成熟,需要大规模部署时,ASIC会成为最佳的选择。毕竟FPGA的频宽不够,运算能力也不够。