您现在的位置: 主页 > 资讯 > 人工智能AI > 人工智能芯片分类及发展现状
本文所属标签:
为本文创立个标签吧:

人工智能芯片分类及发展现状

来源: 网络用户发布,如有版权联系网管删除 2020-05-12 

人工智能芯片分类及发展现状 从结构和功能综合而言,我们可以将人工智能芯片分为三大类,分别是:图形处理单元(Graphic Processing Unit,GPU)、现场可编辑门阵列(Field Programmable Gate Array,FPGA)、应用导向集成电路(Application Specific Integrated Circuit,ASIC)
为了更好地解释这三种芯片,我们首先简要介绍传统CPU的结构。

传统CPU遵循的是冯诺依曼计算机架构:存储程序、顺序执行。一般来说,CPU由逻辑计算单元(ALU)、控制单元(CU)、存储单元(包括高速缓存器和寄存器)组成。在具体的计算中,控制单元指挥电脑从具体的硬盘地址中取出我们需要的指令和数据输送到CPU的存储单元中,并交由逻辑计算单元进行运算。由于CPU的应用场景广泛,任务类型多样,CPU的控制单元和存储单元更加“发达”,相比较而言逻辑计算单元比较“弱小”,这也是为什么CPU的计算能力在神经网络面前显得“势单力薄”的根本原因。
GPU
CPU在面对重复计算的挑战面前表现往往不佳,而图像处理恰恰需要这种能力,在这种背景下GPU诞生了。从结构上而言,GPU具有更多的ALU和更少的高速缓存器。这是因为GPU是专门面向大量数据运算而准备的,不需要具备过于复杂的逻辑功能,因此GPU分配更多的芯片面积给ALU。同时值得注意的是,GPU不仅仅是依靠ALU的数量,更加重要的是其并行运算的能力。我们可以这样理解:传统的CPU就像一个老教授,其能力很强,但做事一板一眼,在完成一道绝对难度不大但计算量很大的数学题时,该教授只能一个数一个数的运算;GPU就像一群小学生,虽然其无法完成思维难度较大的任务(也就是逻辑、指令更加复杂的任务),但可以在同一时刻分别进行一组数据的运算,这样从绝对的时间上来看,这群小学生完成运算的时间可能远远小于教授完成的时间。

具体到神经网络上,在前文中我们介绍过神经网络不管是前向传播还是反向传播都是一种矩阵运算,或者说一种并行运算,在这种情况下使用CPU效率低、时间长,而使用GPU我们就可以同时把大量数据输入,分别运算并求和。因此,GPU比起CPU而言更加适合神经网络的相关运算。
FPGA
FPGA

众所周知,芯片,或者叫集成电路,其基本组成单元是晶体管,而在实际应用中实现功能的基本单元则是“与门”、“或门”这样的基本逻辑计算单元。因此,设计集成电路的过程也就是配置逻辑阵列的过程,通过对不同逻辑基本单元的连线,我们可以实现不同的逻辑电路,完成不同的计算任务。

不管是CPU还是GPU,由于其基本運算单元的一致性,它们在底层结构上是相通的。我们可以想象这些底层单元就像是一块块积木,我们通过拼接它们实现了不同的结构,以应对不同的任务。而FPGA就像是装载着这些积木的玩具箱,我们可以临时取出一部分玩具来进行组装,任务完成后再拆解并放回箱中。
上文中我们提到,神经网络的基本结构是相似的,但相似不代表相同,显然如果我们在每次计算前都能够修改逻辑阵列,使得运算模块更加符合某一个具体任务,这样就能够更加快速、灵活地面对神经网络的相关问题。

FPGA是一种集成大量基本门电路及存储器的芯片,可以通过FPGA配置文件来定义这些门电路及存储器间的连线,进而实现特定功能。而其内容是可配置的,通过配置特定的文件可以将FPGA转变为不同处理器,FPGA可灵活的支持各类深度学习的计算任务。
ASIC
ASIC

如果说FPGA是乐高积木,可以组合为各种各样的功能电路来应对不同任务,那么ASIC就是从源头上就开始面向具体的任务的专用芯片。ASIC完全不考虑多用途,它就是为了某个具体的任务而被设计出来的。众所周知,芯片功能一旦经过流片就无法更改,因此ASIC作为不可配置的高度定制专用芯片,自然需要大量的研发投入。同时,若其出货量不能保证,其单颗成本就难以下降。因此若市场上深度学习的方向一经改变,ASIC在前期的投入将无法回收。因此,ASIC具有较大的市场风险。

但ASIC的优势也是显而易见的,由于它是专门设计的,因此他在某一个具体任务上的性能(例如训练某一种网络)一定是三者中最好的;尽管它的研发成本比较高,但如果能够大量出货,其单颗成本将远纸低于FPGA。其典型代表就是财大气粗的谷歌所研制的专门用于神经网络训练的“TPU”


              查看评论 回复



嵌入式交流网主页 > 资讯 > 人工智能AI > 人工智能芯片分类及发展现状
 

网站地图

围观()