人工智能AI芯片与Maker创意接轨 (中)

在人工智能AI芯片与Maker创意接轨(上)这篇文章中,介绍人工智能与深度学习,以及深度学习技术的应用,了解内部真实的作业原理,让我们能够跟上这波AI新浪潮。系列文来到了中篇,将详细介绍目前市面上的各类AI芯片,进一步分析不同类型的芯片。

目前市面上对人工智能(AI)芯片常见的作法大致可分成五大类:通用型的CPU(Central Processing Unit)、半通用型的GPU (GraphicsProcessing Unit)、半专用型的FPGA (Field Programmable Gate Array)、专用型的ASIC (ApplicationSpecific Integrated Circuit)及混合型的SoC(System on ChiP),如下图所示。接下来就针对各类型特色、代表性厂商及产品做一简介,更完整的比较表请参考文末的比较表。

人工智能(AI)芯片主要分类及对应供货商

一、中央处理器(CPU)─通用型AI芯片

一般计算机中一定会有CPU负责算术、逻辑、储存及输出入接口管理,因此可执行任何需要的算法,当然也包括各式人工智能、机器学习及深度学习的算法。其优点时可应付各种算法的变化,弹性极高,并可处理逻辑运算及海量存储器管理。现在较高阶的CPU通常都会包含以往DSP(Digital Signal Processor)才有的乘加(MAC)指令,让Y=A*B+C本来要两次运算才能完成的指令,变成一次指令周期就能完成计算,加快指令周期。

但缺点是CPU计算用的核心(或线程Thread)数通常不会太多(一般型约1~10核,服务器型32~72核),耗能较大,且未来核心数及速度已快达物理极限不易大幅提升,因此若要应付像深度学习这类大量演算时,通常只能选用核心(线程)数量较多或速度较快的芯片来解决,或者只执行较简单模型的推论工作而不参与训练。

Intel CPU

此类型较具代表的厂商有Intel、AMD、ARM、MIPS等(后两家不生产实体芯片仅提供硅智财,都已被并购)。在AI应用上,Intel和AMD比较着重提供服务器等级的高效芯片,如Intel Xeon Phi 7290F或AMD EPYC 7601都是属于高核心数、多线程型。而ARM和MIPS则在移动式或嵌入式平台较为常见,通常会搭配其它AI芯片一起执行。若只单纯使用多核CPU进行运算时,则通常仅能执行较简单的网络(模型)。

二、绘图芯片(GPU)─半通用型AI芯片

绘图芯片原来是用于处理3D模型大量的三角面绘制、着色及显示,几乎都在处理矩阵演算(乘加运算),没有逻辑处理,因此设计上有大量(数百到数万个)的计算核心可供平行运算。后来,有人发现此特性比CPU更有利于进行有大量矩阵的科学计算,于是推出类似OpenGL的通用式的描述式语言,忽略绘图功能,直接当成平行运算使用,如GPGPU(General-purpose computing on graphics processing units)、OpenMP、OpenVx、CUDA(Nvidia专用)、 OpenCL(大多数绘图芯片)、Android NN等。

当深度卷积网络兴起时,GPU正好满足这项大量平行矩阵计算的需求,因此造成洛阳纸贵,高阶显示适配器一卡难求。虽然GPU非常适合当作训练用,且可适用各种新的网络的开发,但不适合具有大量逻辑判断的算法,且浪费许多时间及功耗在处理绘图流水线(Pipeline)。另外,许多深度学习的框架(例如:PyTorch、Caffe、TensorFlow、Mxnet、CNTK、Keras等)不一定对所有的GPU都有支持,尤其是对行动装置上的GPU更常遇到无法直接使用的问题。

Nvidia GPU

此类芯片最具代表性的厂商就是Nvidia,不但有完整的产品线(GeForce、 Tesla、Titan、DGX、Tegra、DriverPX等系列),从一般计算机、专业服务器到嵌入式甚至自驾车都有对应产品,专业显卡少则数千元,多则数百万元。开发工具有CUDA, cuDNN等,更是促使GPU在AI应用上发挥更大算力,同时支持最多种深度学习框架,有完整的开发者生态圈,是其它GPU厂商难以憾动的。

虽然像AMD(Radeon系列)、Intel (HD Graphics系列)等大厂也有生产GPU,但目前可支持的框架就明显少了许多。另外,在行动装置上 Arm Mali系列、Qualcomm Adreno系列等较高阶的可以用OpenCL来协助,但像Broadcom VideoCore系列就完全没有框架可支持。

三、现场可程序逻辑门阵列(FPGA)─半专用型AI芯片

GPU虽然使用上弹性较大,但毕竟不是专门用来做深度学习用的,有很长的工作流水线,所以在实时性、功耗及逻辑运算及内存管理等问题上都不易克服。如果设计成深度学习专用的集成电路(IC)又怕算法(模型)一直在演进,那好不容易才完成的IC就没用了。一般IC设计完成后就不能变动,就像只能刻录一次的光盘片,但FPGA却允许随时依需求变动,就像可重复烧写的光盘片,这项特性很适合在这个AI百家争鸣的时代随时可跟着一起演进又能保持执行效能。

不过这种方案最大的缺点是硬件成本很高,所以只适合放在机房当云端训练及推论用。此外由于内存不像CPU或GPU可以配置很大,所以并不适合参数量过大的模型。

目前Xilinx占了约50%的市占率,而深鉴科技(DeePhi)则主攻使用Xilinx Zynq 7000系列FPGA设计各种深度学习计算所需算法及开发工具,应用于无人机、安防、自驾车上,目前已获多家知名创投投资。百度也利用Xilinx FPGA开发出XPU打造自家云计算所需硬件。深思考(ideepwise)也利用FPGA制作专属的AI芯片,锁定医疗、情绪、自然语言、计算器视觉等领域。

Xilinx开发FPGA AI芯片

而Intel为了补足在AI芯片市场的不足,于是在2015年把市占率40%的Altera买下。而微软则另辟战场,花了六年时间执行Catapult计划将FPGA全面进驻至Azure云端数据中心加速AI相关服务的计算速度。另外为了让IC设计人员能对AI领域算法快速上手,Xilinx已开始把常用的AI算法(模型)及影像辨识功能以模块(xfDNN, xfOpenCV)方式导入,相信未来会有更多专门用于AI领域的FPGA快速开发工具会加入战场。

四、特殊应用集成电路(ASIC)─专用型AI芯片

为了展现更好的计算效能、更低的价格及功耗并兼容CPU和GPU的优点,设计出专属于深度学习的AI芯片就变成不可或缺的。但此类专用型IC缺点就是没有弹性,只能处理单一功能,所以为了应付AI算法(模式)不断演化,多半会搭配特定框架(例如:TensorFlow, Cafee, MXNet等)进行开发,甚至更窄化到只针对大量矩阵演算的优化。另外由于ASIC投产所需成本极高,若一年没有卖个数百万到千万台的销量,则可能难以支付开发成本。

所以目前主要市场可分为用于机房云端训练及推论用、行动通讯装置本地(边缘)端(Local/Edge)推论用及特殊用途小型嵌入式装置(如自驾车)等。因此为了吸引市场的目光,许多厂商纷纷推出各种新名词来突显自家的能力,比方说Google的TPU (Tensor Processing Unit)、Movidius(Intel收购)的VPU(Vision Processing Unit)、寒武纪(Cambricon)的NPU(Neural Processing Unit)、联发科(MediaTek)的APU(Artificial intelligence Processing Unit)、地平线(horizon-robotics)的BPU(BrainProcessing Unit)、深鉴(DeePhi)的DPU(Deep Learning Processor Unit)、Graphcore的IPU(IntelligenceProcessing Unit)。

Google推TPU AI芯片

另外像Mobileye更将自家专用于自驾车的EyeQ系列中的平行运算单元依不同用途细分为VMP(Vector Microcode Processors)、PMA (ProgrammableMacro Array)、MPC(Multithreaded Processing Clusters)。不管名称为何,其本质都大同小异,都是在处理大量的矩阵平行演算。

为了使深度学习能普及到各种行动装置并免除云端联机计算实时性不佳的问题,此类专门用于推论的ASIC已成了兵家必争之地,目前仍以影像及语音两大领域应用为主,另外像人脸(生物)辨识、自驾车、智慧零售、智能拍照、安全监控、智能音箱、机器人、无人机、实境(VR/AR/MR/XR)互动等应用也是热门领域。

五、系统级芯片(SoC)─混合型AI芯片

一般以CPU为主的小型嵌入式系统或是行动通讯装置为了省电通常没有太强大的计算能力,所以如果要顺利执行人工智能或深度学习相关应用,通常要搭配其它AI芯片才能顺畅运作。较常见的作法是将多种功能直接整合到单一芯片上,或者称为SoC(System on Chip),尤其手机、嵌入式装置、物联网(IoT)芯片几乎都是采用此种作法。

Samsung Exynos 9810

六、AI应用─自驾车领域

另外像自驾车领域的AI应用对于整合性、计算的实时性要求更高,因此通常都也会采混合式AI芯片设计。

台湾目前仅有联发科用了ARM的解决方案,开发出手机用SoC AI芯片Holio P60准备上市外,其它厂商可能都还在努力中或者只利用别家的AI芯片开发相关服务。相较于大陆已有十多家IC设计公司成功将产品上市,并且有众多的AI芯片应用公司提供横跨上、中、下游的服务,看来台湾得更加努力发挥创意突破这一困境了。

除此之外,目前还有几家已被巨额投资但还未有产品上市的AI芯片公司也值得期待,如Intel收购的Nervana Systems、知名创投Benchmark Capital投资的Cerebras Systems、SoftBank Ventures投资的Mythic,八位Google TPU团队离职后开的公司Groq。

自驾车的AI应用采混合式AI芯片设计,要求整合性、计算的实时性。

小结

综合以上内容,CPU(服务器等级)、GPU、FPGA、ASIC等AI芯片都很适合大量建置在机房中,有利于云端训练及云端推论,但行动装置(边缘计算)受限于产品体积大小、运算效能、消耗功率、产品价格等问题,通常要采用ASIC或SoC类型的AI芯片,而训练部份就得仰赖云端训练后再将参数值下载到行动装置中进行推论。

至于全球AI芯片厂商产品的比较,请参考下表

原文参考

https://mp.weixin.qq.com/s?__biz=MzU0MTg0ODIzNA==&mid=2247484319&idx=3&sn=f11764e6f1f66c4d03c125ad4187d831&chksm=fb22e45acc556d4ca12b0c5f56c3db6ed49110b12d416ab5bd9a49c1f1fe01bc736e49f600c1#rd

posted @ 2018-10-16 13:54  易心Astar  阅读(1174)  评论(0编辑  收藏  举报