博舍

人工智能芯片:发展史、GPU、FPGA和专用集成电路 人工智能芯片是gpu吗

人工智能芯片:发展史、GPU、FPGA和专用集成电路

图1人工智能核心计算芯片发展趋势

针对这些需求,人工智能核心计算芯片也经历了四次大的变化(如图1所示):

2007年以前,人工智能研究和应用经历了数次起伏,一直没有发展成为成熟的产业;同时受限于当时算法、数据等因素,这一阶段人工智能对于芯片并没有特别强烈的需求,通用的CPU芯片即可提供足够的计算能力。

之后,由于高清视频、游戏等行业的发展,GPU产品取得快速的突破;同时人们发现GPU的并行计算特性恰好适应人工智能算法大数据并行计算的要求,如GPU比之前传统的CPU在深度学习算法的运算上可以提高9倍到72倍的效率,因此开始尝试使用GPU进行人工智能的计算。

进入2010年后,云计算广泛推广,人工智能的研究人员可以通过云计算借助大量CPU和GPU进行混合运算,事实上今天人工智能主要的计算平台还是云计算。

但人工智能业界对于计算能力的要求不断快速地提升,因此进入2015年后,业界开始研发针对人工智能的专用芯片,通过更好的硬件和芯片架构,在计算效率上进一步带来10倍的提升。

2007年以前,人工智能研究和应用经历了数次起伏,一直没有发展成为成熟的产业;同时受限于当时算法、数据等因素,这一阶段人工智能对于芯片并没有特别强烈的需求,通用的CPU芯片即可提供足够的计算能力。

之后,由于高清视频、游戏等行业的发展,GPU产品取得快速的突破;同时人们发现GPU的并行计算特性恰好适应人工智能算法大数据并行计算的要求,如GPU比之前传统的CPU在深度学习算法的运算上可以提高9倍到72倍的效率,因此开始尝试使用GPU进行人工智能的计算。

进入2010年后,云计算广泛推广,人工智能的研究人员可以通过云计算借助大量CPU和GPU进行混合运算,事实上今天人工智能主要的计算平台还是云计算。

但人工智能业界对于计算能力的要求不断快速地提升,因此进入2015年后,业界开始研发针对人工智能的专用芯片,通过更好的硬件和芯片架构,在计算效率上进一步带来10倍的提升。

图2人工智能类脑芯片主要类型

目前,根据计算模式,人工智能核心计算芯片的发展分为两个方向(如图2所示):

一个是利用人工神经网络从功能层面模仿大脑的能力,其主要产品就是通常的CPU、GPU、FPGA及专用定制芯片ASIC。

另一个神经拟态计算则是从结构层面去逼近大脑,其结构还可进一步分为两个层次:一是神经网络层面,与之相应的是神经拟态架构和处理器,如IBM的TrueNorth芯片,这种芯片把数字处理器当作神经元,把内存作为突触。与传统冯诺依曼结构不同,它的内存、CPU和通信部件完全集成在一起,因此信息的处理完全在本地进行,克服了传统计算机内存与CPU之间的瓶颈。同时神经元之间可以方便快捷地相互沟通,只要接收到其他神经元发过来的脉冲(动作电位),这些神经元就会同时做动作。二是神经元层面,与之相应的是元器件层面的创新。如IBM苏黎世研究中心宣布制造出世界上首个人造纳米尺度随机相变神经元,可实现高速无监督学习。

一个是利用人工神经网络从功能层面模仿大脑的能力,其主要产品就是通常的CPU、GPU、FPGA及专用定制芯片ASIC。

另一个神经拟态计算则是从结构层面去逼近大脑,其结构还可进一步分为两个层次:一是神经网络层面,与之相应的是神经拟态架构和处理器,如IBM的TrueNorth芯片,这种芯片把数字处理器当作神经元,把内存作为突触。与传统冯诺依曼结构不同,它的内存、CPU和通信部件完全集成在一起,因此信息的处理完全在本地进行,克服了传统计算机内存与CPU之间的瓶颈。同时神经元之间可以方便快捷地相互沟通,只要接收到其他神经元发过来的脉冲(动作电位),这些神经元就会同时做动作。二是神经元层面,与之相应的是元器件层面的创新。如IBM苏黎世研究中心宣布制造出世界上首个人造纳米尺度随机相变神经元,可实现高速无监督学习。

从人工智能芯片所处的发展阶段来看,从结构层面去模仿大脑运算虽然是人工智能追求的终极目标,但距离现实应用仍然较为遥远,功能层面的模仿才是当前主流。

因此,CPU、GPU和FPGA等通用芯片是目前人工智能领域的主要芯片,而针对神经网络算法的专用芯片ASIC也正在被Intel、Google、英伟达和众多初创公司陆续推出,并有望将在今后数年内取代当前的通用芯片成为人工智能芯片的主力。

人工智能芯片(二):GPU

人工智能算法的实现需要强大的计算能力支撑,特别是深度学习算法的大规模使用,对计算能力提出了更高的要求。

传统的通用CPU之所以不适合人工智能算法的执行,主要原因在于其计算指令遵循串行执行的方式,没能发挥出芯片的全部潜力。与之不同的是,GPU具有高并行结构,在处理图形数据和复杂算法方面拥有比CPU更高的效率。

图3CPU与GPU比较

如图3所示,对比GPU和CPU在结构上的差异,CPU大部分面积为控制器和寄存器,而GPU拥有更多的ALU(ARITHMETICLOGICUNIT,逻辑运算单元)用于数据处理,这样的结构适合对密集型数据进行并行处理。CPU执行计算任务时,一个时刻只处理一个数据,不存在真正意义上的并行,而GPU具有多个处理器核,在一个时刻可以并行处理多个数据,程序在GPU系统上的运行速度相较于单核CPU往往提升几十倍乃至上千倍。

随着英伟达、AMD等公司不断推进其GPU的大规模并行架构支持,面向通用计算的GPU(即GPGPU,GeneralPurposeGPU,通用计算图形处理器)已成为加速可并行应用程序的重要手段。

图4GPU芯片的发展阶段

如图4所示,GPU的发展经历了三个阶段:

第一代GPU(1999年以前),部分功能从CPU分离,实现硬件加速,以GE(GEOMETRYENGINE)为代表,只能起到3D图像处理的加速作用,不具有软件编程特性。

第二代GPU(1999~2005年),实现进一步的硬件加速和有限的编程性。1999年英伟达GEFORCE256将T&L(TransformandLighting)等功能从CPU分离出来,实现了快速变换,这成为GPU真正出现的标志;2001年英伟达和ATI分别推出的GEFORCE3和RADEON8500,图形硬件的流水线被定义为流处理器,出现了顶点级可编程性,同时像素级也具有有限的编程性,但GPU的编程性比较有限。

第一代GPU(1999年以前),部分功能从CPU分离,实现硬件加速,以GE(GEOMETRYENGINE)为代表,只能起到3D图像处理的加速作用,不具有软件编程特性。

第二代GPU(1999~2005年),实现进一步的硬件加速和有限的编程性。1999年英伟达GEFORCE256将T&L(TransformandLighting)等功能从CPU分离出来,实现了快速变换,这成为GPU真正出现的标志;2001年英伟达和ATI分别推出的GEFORCE3和RADEON8500,图形硬件的流水线被定义为流处理器,出现了顶点级可编程性,同时像素级也具有有限的编程性,但GPU的编程性比较有限。

第三代GPU(2006年以后),GPU实现方便的编程环境可以直接编写程序;2006年英伟达与ATI分别推出了CUDA(ComputerUnifiedDeviceArchitecture,统一计算架构)编程环境和CTM(ClosetotheMetal)编程环境;2008年,苹果公司提出一个通用的并行计算编程平台OPENCL(OpenComputingLanguage,开放运算语言),与CUDA绑定在英伟达的显卡上不同,OPENCL和具体的计算设备没有关系。

第三代GPU(2006年以后),GPU实现方便的编程环境可以直接编写程序;2006年英伟达与ATI分别推出了CUDA(ComputerUnifiedDeviceArchitecture,统一计算架构)编程环境和CTM(ClosetotheMetal)编程环境;2008年,苹果公司提出一个通用的并行计算编程平台OPENCL(OpenComputingLanguage,开放运算语言),与CUDA绑定在英伟达的显卡上不同,OPENCL和具体的计算设备没有关系。

目前,GPU已经发展到较为成熟的阶段。谷歌、Facebook、微软、Twitter和百度等公司都在使用GPU分析图片、视频和音频文件,以改进搜索和图像标签等应用功能。GPU也被应用于VR/AR相关的产业。此外,很多汽车生产商也在使用GPU芯片发展无人驾驶。

图52016-2025年不同区域人工智能GPU收入预测(来源:TRACTICA)

如图5所示,根据研究公司TRACTICALLC预测,用于人工智能的GPU将从2016年的不到一亿美元增长到2025年的140亿美元,GPU将出现爆炸式增长。

近十年来,人工智能的通用计算GPU完全由英伟达引领。2010年英伟达就开始布局人工智能产品,2014年宣布了新一代PASCALGPU芯片架构,这是英伟达的第五代GPU架构,也是首个为深度学习而设计的GPU,它支持所有主流的深度学习计算框架。

2016年上半年,英伟达又针对神经网络训练过程推出了基于PASCAL架构的TESLAP100芯片以及相应的超级计算机DGX-1。对于TESLAP100,英伟达首席执行官黄仁勋称这款GPU的开发费用高达20亿美元,而英伟达全年的营收也不过才50亿美元。

深度学习超级计算机DGX-1包含TESLAP100GPU加速器,并采用英伟达NVLINK互联技术,软件堆栈包含主要深度学习框架、深度学习SDK、DIGITSGPU训练系统、驱动程序和CUDA,能够快速设计深度神经网络。拥有高达170TFLOPS的半精度浮点运算能力,相当于250台传统服务器,可以将深度学习的训练速度加快75倍,将CPU性能提升56倍,报价12.9万美元。2016年9月北京GTC大会上,英伟达针对神经网络推理过程又推出了基于PASCAL的产品TESLAP4/P40。

AMD则在2016年底集中发布了一系列人工智能产品,包括3款图形加速卡(品牌名MI),4款OEM机箱和一系列开源软件,以及下一代VEGA架构的GPU芯片。未来,AMD希望MI系列硬件加速器、ROCM软件平台和基于ZEN的32核以及64核服务器CPU三者合力,为超算客户提供一整套基于AMD产品线的解决方案。

除了英伟达和AMD之外,Intel计划在2017年将深度学习推理加速器和72核至强XEONPHI芯片推向市场。

除了传统的CPU、GPU大厂,移动领域的众巨头在GPU的布局也非常值得关注。据说苹果也在搜罗GPU开发人才以进军VR市场,目前苹果A9的GPU性能与骁龙820相当,A9GPU采用的是POWERVRROGUE家族的另外一种设计——GT7600,而苹果开发的A9X处理器性能与Intel的酷睿M处理器相当。

垄断了移动处理器市场的ARM也开始重视GPU市场,其推出的MALI系列GPU凭借低功耗、低价等优势逐渐崛起。

人工智能芯片(三):FPGA

FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。用户可以通过烧入FPGA配置文件来定义这些门电路以及存储器之间的连线。这种烧入不是一次性的,即用户可以把FPGA配置成一个微控制器MCU,使用完毕后可以编辑配置文件把同一个FPGA配置成一个音频编解码器。因此它既解决了定制电路灵活性的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA内部包含大量重复的IOB、CLB和布线信道等基本单元。FPGA在出厂时是「万能芯片」,用户可根据自身需求,用硬件描述语言(HDL)对FPGA的硬件电路进行设计。每完成一次烧录,FPGA内部的硬件电路就有了确定的连接方式,具有了一定的功能。输入的数据只需要依次经过各个门电路,就可以得到输出结果。

换言之,FPGA的输入到输出之间并没有计算过程,只是通过烧录好的硬件电路完成信号的传输,因此对于计算任务的针对性非常强,速度很高。而正是因为FPGA的这种工作模式,决定了需要预先布置大量门阵列以满足用户的设计需求,因此有「以面积换速度」的说法:使用大量的门电路阵列,消耗更多的FPGA内核资源,用来提升整个系统的运行速度。

图6FPGA发展历程

FPGA可同时进行数据并行和任务并行计算,在处理特定应用时有更加明显的效率。对于某个特定运算,通用CPU可能需要多个时钟周期,而FPGA可以通过编程重组电路,直接生成专用电路,仅消耗少量甚至一次时钟周期就可完成运算。

在功耗方面,FPGA也具有明显优势,其能耗比是CPU的10倍以上、GPU的3倍。究其原因,在FPGA中没有去指令与指令译码操作,在Intel的CPU里,由于使用了CISC架构,仅仅译码就占整个芯片能耗的约50%;在GPU里,取指与译码也消耗10%至20%的能耗。

此外,由于FPGA的灵活性,很多使用通用处理器或ASIC难以实现的下层硬件控制操作技术利用FPGA可以很方便的实现,从而为算法的功能实现和优化留出了更大空间。同时FPGA一次性成本(光刻掩模制作成本)远低于ASIC,在芯片需求还未成规模、深度学习算法暂未稳定需要不断迭代改进的情况下,利用具备可重构特性的FPGA芯片来实现半定制的人工智能芯片是最佳选择。

图72014-2024年全球FPGA市场规模预测(来源:GRANDVIEWRESEARCH)

由于FPGA灵活快速的特点,在众多领域都有替代ASIC的趋势,据市场机构GRANDVIEWRESEARCH的数据,FPGA市场将从2015年的63.6亿增长到2024年的约110亿美元,年均增长率在6%(如图7所示)。

图82015年FPGA厂商市场份额分析(来源:IHS)

目前,FPGA市场基本上全部被国外XILINX、ALTERA(现并入Intel)、LATTICE、MICROSEMI四家占据(如图8所示)。其中,XILINX和ALTERA两大公司对FPGA的技术与市场占据绝对垄断地位。在ALTERA尚未被Intel收购的2014年,XILINX和ALTERA分别实现23.8亿美元和19.3亿美元的营收,分别占有48%和41%的市场份额,而同年LATTICE和MICROSEMI(仅FPGA业务部分)两公司营收为3.66亿美元和2.75亿美元,前两大厂商占据了近90%的市场份额。

人工智能芯片(四):专用集成电路

目前以深度学习为代表的人工智能计算需求,主要采用GPU、FPGA等已有适合并行计算的通用芯片来实现加速。在产业应用没有大规模兴起之时,使用这类已有的通用芯片可以避免专门研发定制芯片(ASIC)的高投入和高风险。但是,由于这类通用芯片设计初衷并非专门针对深度学习,因而天然存在性能、功耗等方面的瓶颈。随着人工智能应用规模的扩大,这类问题将日益突出。

GPU作为图像处理器,设计初衷是为了应对图像处理中需要大规模并行计算。因此,其在应用于深度学习算法时,有三个方面的局限性:

第一,应用过程中无法充分发挥并行计算优势。深度学习包含训练和应用两个计算环节,GPU在深度学习算法训练上非常高效,但在应用时一次性只能对于一张输入图像进行处理,并行度的优势不能完全发挥。

第二,硬件结构固定不具备可编程性。深度学习算法还未完全稳定,若深度学习算法发生大的变化,GPU无法像FPGA一样可以灵活的配制硬件结构;

第三,运行深度学习算法能效远低于FPGA。

第一,应用过程中无法充分发挥并行计算优势。深度学习包含训练和应用两个计算环节,GPU在深度学习算法训练上非常高效,但在应用时一次性只能对于一张输入图像进行处理,并行度的优势不能完全发挥。

第二,硬件结构固定不具备可编程性。深度学习算法还未完全稳定,若深度学习算法发生大的变化,GPU无法像FPGA一样可以灵活的配制硬件结构;

第三,运行深度学习算法能效远低于FPGA。

尽管FPGA倍受看好,甚至新一代百度大脑也是基于FPGA平台研发,但其毕竟不是专门为了适用深度学习算法而研发,实际仍然存在不少局限:

第一,基本单元的计算能力有限。为了实现可重构特性,FPGA内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠LUT查找表)都远远低于CPU和GPU中的ALU模块;

第二,速度和功耗相对专用定制芯片(ASIC)仍然存在不小差距;

第三,FPGA价格较为昂贵,在规模放量的情况下单块FPGA的成本要远高于专用定制芯片。

第一,基本单元的计算能力有限。为了实现可重构特性,FPGA内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠LUT查找表)都远远低于CPU和GPU中的ALU模块;

第二,速度和功耗相对专用定制芯片(ASIC)仍然存在不小差距;

第三,FPGA价格较为昂贵,在规模放量的情况下单块FPGA的成本要远高于专用定制芯片。

因此,随着人工智能算法和应用技术的日益发展,以及人工智能专用芯片ASIC产业环境的逐渐成熟,人工智能ASIC将成为人工智能计算芯片发展的必然趋势。

首先,定制芯片的性能提升非常明显。例如英伟达首款专门为深度学习从零开始设计的芯片TeslaP100数据处理速度是其2014年推出GPU系列的12倍。谷歌为机器学习定制的芯片TPU将硬件性能提升至相当于当前芯片按摩尔定律发展7年后的水平。

正如CPU改变了当年庞大的计算机一样,人工智能ASIC芯片也将大幅改变如今AI硬件设备的面貌。如大名鼎鼎的AlphaGo使用了约170个图形处理器(GPU)和1200个中央处理器(CPU),这些设备需要占用一个机房,还要配备大功率的空调,以及多名专家进行系统维护。而如果全部使用专用芯片,非常可能只需要一个盒子大小,且功耗也会大幅降低。

第二,下游需求促进人工智能芯片专用化。从服务器,计算机到无人驾驶汽车、无人机再到智能家居的各类家电,至少数十倍于智能手机体量的设备需要引入感知交互能力和人工智能计算能力。而出于对实时性的要求以及训练数据隐私等考虑,这些能力不可能完全依赖云端,必须要有本地的软硬件基础平台支撑,这将带来海量的人工智能芯片的需求。

图9人工智能专用芯片研发情况一览

如图9所示,近两年,国内国外人工智能芯片层出不穷。英伟达在2016年宣布研发投入超过20亿美元用于深度学习专用芯片,而谷歌为深度学习定制的TPU芯片甚至已经秘密运行一年,该芯片直接支撑了震惊全球的人机围棋大战。无论是英伟达、谷歌、IBM、高通还是国内的中星微、寒武纪,巨头和新创企业都将人工智能芯片视为具有战略意义的关键技术进行布局,人工智能芯片正呈现百花齐放的局面。

目前人工智能专用芯片的发展方向包括:

主要基于FPGA的半定制

主要基于FPGA的半定制

在芯片需求还未成规模、深度学习算法暂未稳定需要不断迭代改进的情况下,利用具备可重构特性的FPGA芯片来实现半定制的人工智能芯片是最佳选择。这类芯片中的杰出代表是国内初创公司深鉴科技,该公司设计了「深度学习处理单元」(DeepProcessingUnit,DPU)的芯片,希望以ASIC级别的功耗来达到优于GPU的性能,其第一批产品就是基于FPGA平台。这种半定制芯片虽然依托于FPGA平台,但是利用抽象出了指令集与编译器,可以快速开发、快速迭代,与专用的FPGA加速器产品相比,也具有非常明显的优势。

针对深度学习算法的全定制

针对深度学习算法的全定制

在针对深度学习算法的全定制阶段,芯片是完全采用ASIC设计方法全定制,性能、功耗和面积等指标面向深度学习算法都做到了最优。谷歌的TPU芯片、我国中科院计算所的寒武纪深度学习处理器芯片就是这类芯片的典型代表。

类脑计算芯片三个阶段

类脑计算芯片三个阶段

在类脑计算阶段,芯片的设计目的不再局限于仅仅加速深度学习算法,而是在芯片基本结构甚至器件层面上希望能够开发出新的类脑计算机体系结构,比如会采用忆阻器和ReRAM等新器件来提高存储密度。

这类芯片的研究离成为市场上可以大规模广泛使用的成熟技术还有很大的差距,甚至有很大的风险,但是长期来看类脑芯片有可能会带来计算体系的革命。这类芯片的典型代表是IBM的Truenorh芯片。类脑计算芯片市场空间巨大。根据第三方预测,包含消费终端的类脑计算芯片市场将在2022年以前达到千亿美元的规模,其中消费终端是最大市场,占整体98%,其他需求包括工业检测、航空、军事与国防等领域。

文章转载自:传感器技术

-END-

企业家

新能源汽车

车返回搜狐,查看更多

华为昇腾:地表最强的人工智能芯片

EETOP专注芯片、微电子,点击上方蓝字关注我们

来源:老石谈芯

两年前,华为正式发布了名为“昇腾”的人工智能专用芯片,并高调宣布,这是当时世界上算力最强的AI处理器。转眼之间两年过去了,牛年来了,在这篇文章里我们就一起来看看,昇腾到底“牛”在哪里。

(我把昇腾AI芯片的一些知识点总结成了一个思维导图,请在老石谈芯后台回复“昇腾”查看。高清pdf版本已上传至知识星球:老石谈芯–进阶版)

为什么需要人工智能芯片

在探讨昇腾芯片的软硬件架构之前,有必要首先明确人工智能芯片的必要性。

在过去的几年里,人工智能技术取得了飞速的发展。业界普遍认为,驱动这一发展的主要力量有三个:一个是海量数据的产生和累积,一个是理论算法的创新,还有一个就是计算技术的变革。

可以说,数据、算力、算法这三点是相互结合,缺一不可的。如果我们把人工智能技术的发展比作一个正在起飞的火箭,那么大数据就是它的燃料,算法和理论用来控制它的飞行轨迹和姿态,计算技术则是它持续爆发的引擎。

为了让这个火箭飞的更高,飞的更远,我们就需要不断获取更多的数据,并且不断创造和改进我们的算法、模型和理论,来对这些数据进行更有效的处理、分析和利用。此外,我们还要不断升级计算的能力,从而在更短的时间里处理更多的数据。而承载这一切发展的最重要的基础,就是芯片,特别是人工智能芯片。

在之前的文章里,我们介绍过四种主要的人工智能芯片,分别是针对AI应用进行了架构优化的CPU、GPU,还有FPGA,以及AI专用芯片ASIC。为了评价这四种AI芯片的优势和劣势,我们讨论了衡量AI芯片的五个重要因素,分别是性能、灵活性、同构性、成本和功耗。

总体来看,这四种芯片都有各自存在的意义。每种芯片都有自己的独特优势,也有不可忽视的短板。拿AI专用芯片举例,它最主要的优势就是极高的性能和极低的功耗,但是代价就是极高的研发成本,以及较低的灵活性。关于其他的比较内容,欢迎看一下那篇文章《算力至上?AI芯片大对决》。

接下来,我们就重点看一下人工智能专用芯片,特别是华为的昇腾AI芯片的相关技术内容。我会结合目前可以找到的公开技术资料,尽量深入地分析昇腾AI芯片的一些技术特点,包括硬件架构、软件框架,以及华为基于昇腾处理器的全栈式解决方案的一些有比较意思的内容。

昇腾AI芯片–硬件架构

首先来看一下昇腾AI芯片的硬件架构。这里以及之后说的“昇腾AI芯片”其实有两个,一个是2018年发布的昇腾310,它主要针对的是推理应用,还有一个是2019年发布的针对训练应用的昇腾910。

值得注意的是,作为人工智能专用芯片,昇腾310和昇腾910都是为了特定的应用领域进行设计和深度优化的,这也是它们区别于CPU、GPU这些通用芯片的最主要的方面。我们都知道,AI系统又继续分成训练和推理这两个主要的过程,这也会造成不同AI芯片的优化侧重点有所不同。

比如,昇腾910主要针对的是云端的AI训练应用,所以芯片的性能,也就是算力的大小,就是它优化的重点。昇腾910使用台积电7纳米工艺制造,FP16算力可以达到256TFLOPS,INT8算力高达512TOPS,同时支持128通道全高清视频解码。这些性能其实都超过了同时期、或者使用同等工艺进行制造的GPU,比如英伟达的V100。为了实现这么高的算力,昇腾910的最大功耗为310W,和GPU基本处于一个量级。

相比之下,昇腾310针对的是推理场景,主要应用在移动端,所以这就需要对性能和功耗进行一定的平衡。这是因为我们基本不可能在部署智能摄像头、无人驾驶车辆,或者是我们的手机或者手表里放一个有着几百瓦功耗的AI芯片。同时对于一些边缘计算的场景,对芯片使用成本的控制,以及芯片本身的实时性、安全性等等,也都是重要的考虑因素。

所以结合这些需求,昇腾310采用的是12纳米工艺进行制造,最大功耗仅为8W。在性能方面,它的FP16算力达到了8TFLOPS,INT8的算力可以达到16TOPS,同时也集成了16通道的全高清视频解码器。这些在边缘计算领域其实已经是很高的算力了。

在之前介绍苹果M1芯片的时候我们说过,现在很多的芯片结构其实都是以片上系统(SoC)的形式进行设计开发的,当时我们拿蛋糕举过例子,也就是在一个盒子里装了很多不同的小蛋糕,而不是直接做一个特别大的蛋糕。当然有很多朋友也举了不少其他的例子,比如什么双拼披萨、肉夹馍,还有说五仁月饼的。反正不管是什么吃的,这样做都有很多的好处,比如每个小蛋糕可以分别做,还可以做不同的口味、大小,最后整合在一起就好,这样既节省了制作的时间,也降低了制作的风险和成本。

同样的,昇腾AI芯片的本质也是一个片上系统。在芯片上有很多不同的模块,也就是前面说的小蛋糕组成,它们有的负责数据存储、有的负责接口和通信、有的负责任务调度和控制,还有最重要的就是负责AI运算的计算核心。

昇腾910架构示意图

从硬件结构来看,昇腾AI芯片最主要的特点,就是它的这个AI核心采用了华为自研的达芬奇架构。昇腾系列的两款芯片,也就是昇腾910和昇腾310,都使用了这个基于达芬奇架构的AI核心。这个也是昇腾芯片的主要竞争优势。

总体来说,这个达芬奇架构可以分为三个主要的组成部分,分别对应数据的计算、存储和控制。

拿计算单元来说,它可以执行标量、向量和张量三种基础运算,分别对应上图中的蓝色、橙色和红色的部分。比如这个张量运算就是专门用来加速AI应用中的矩阵运算,它也叫所谓的3DCube单元,它可以用一条指令完成两个16x16的矩阵相乘运算。

由于篇幅所限,达芬奇架构的具体细节在这里就不再一一介绍了,有兴趣的朋友可以看一下《昇腾AI处理器架构与编程》,这本书由华为官方背书,里面有关于昇腾AI芯片比较深入的介绍。

昇腾AI芯片–软件架构

除了芯片的硬件结构之外,同样非常重要的就是编程方法和软件架构的设计和实现。英伟达GPU之所以在人工智能领域大放异彩,并且得到非常广泛的应用,GPU芯片性能的提升固然重要,但更重要的就是它推出的成熟易用的编程框架CUDA。

相比之下,FPGA的编程难度极大,这也在很大程度上限制了FPGA的广泛使用。当然为了应对这个问题,FPGA厂商也在努力尝试简化FPGA的编程难度,包括提供更加易用的编程工具,或者使用高层次综合的方法对FPGA进行编程等等,这些在之前的文章中详细介绍过,这里就不再赘述了。

对于AI专用芯片,编程性也是重中之重。为此,昇腾AI芯片也提供了一个多层的软件栈和开发工具链,来帮助开发者更好的使用和开发昇腾。通过软件的多样性,也能在很大程度上弥补专用芯片灵活性不足的劣势。

总体来说,这个软件栈可以分成四层。最底下的是处理器的计算资源,比如前面提到的AI核心、CPU,还有负责数字视觉的计算模块等等。再往上是一些标准的加速库,负责给硬件输出算子层面的任务。此外还有任务调度器和一些预处理模块。然后再往上,就是框架层,顾名思义它就是用来调用和管理深度学习框架,并生成离线模型。

值得注意的是,昇腾AI处理器不仅支持主流的深度学习框架,比如TensorFlow和PyTorch,还支持华为自研的名叫MindSpore的深度学习框架。通过MindSpore框架产生的神经网络模型,可以直接运行在昇腾AI处理器上,而无需进行硬件的适配和转换,这也就极大的提升了开发效率。

在2020年的开发者大会上,华为也正式将MindSpore框架进行了开源,这也是构建广阔生态系统的重要一步。

这个软件栈的最后一层,就是应用层,它的抽象程度最高,封装集成了很多专用领域的计算引擎,比如针对计算机视觉、还有针对语言文字处理的算法封装等等,用户可以直接拿来进行调用。

除了这几个大的逻辑层次之外,昇腾的软件栈还提供了一个完整的开发工具链MindStudio,包括编译、调试、性能分析、模型转换等等,这里就不再多说了,有兴趣的读者朋友可以看一下前面提到的书籍。

昇腾AI芯片–生态系统

有了硬件架构和软件栈,还需要最后一个大的环节,来完成整个生态的闭环,那就是提供结合软硬件的系统级解决方案。这个其实是一个目前芯片业界的发展趋势,不管是CPU、GPU、FPGA还是这样的AI专用芯片,其实都是在遵循这个规律在发展。

简单来说,就是芯片公司不仅要提供牛逼的芯片,当然这个是最基本的大前提,除此之外它们还要提供好用的软件和开发工具,就像前面介绍的软件栈。再然后,最好还要提供完整的参考设计以及软硬件系统,让大家拿过来就能用。

之前介绍苹果M1芯片的时候也说过,我们不可能去单独买到这个芯片,而是需要购买整个生态系统。这个对于FPGA也是如此。最早的时候,像Altera或者赛灵思这样的FPGA厂家都是卖芯片,但是现在这些公司也在不断推出各种基于FPGA的加速卡产品,同时也提供了像OPAE或者Vitis这样的软件栈和开发软件,并且以此构建生态。

同样的,昇腾也提供了一系列的硬件产品,从最小的加速模块,到推理或者训练专用的加速卡,再到专用的服务器,甚至是由多个服务器阵列组成的计算集群,这些也构建了一个涵盖终端、边缘以及云计算的产品组合,使得用户可以根据自身的实际需要,选择合适的硬件产品,这也就是华为说的全场景覆盖。

Atlas900AI计算集群

当然了为了打造良好的生态,开放和交流也是必不可少的。为此华为推出了昇腾社区,在那上面基本包含了和昇腾软硬件相关的所有内容,有兴趣的读者朋友可以去看看。

小结

本文从硬件、软件和生态三个角度介绍了华为的昇腾AI处理器。我们还深入探讨了华为自研的达芬奇架构、以及MindSpore这个深度学习框架的一些技术特点。同时我们也看到了一些业界的发展趋势,也就是以硬件为基础,通过软件扩展灵活性和易用性,然后围绕软件和硬件去打造系统级的解决方案,并构建一个完整的生态系统。

说了这么多,仍然没有回答文章题目提出的问题,也就是昇腾AI芯片究竟是不是地表最强的AI芯片?这个问题并没有一个明确的答案,因为这取决于我们的衡量维度和评判标准。更重要的是,我们应该思考这个问题的必要性,也就是“是不是最强,到底有什么意义”?事实上,作为仍然在不断发展的技术,任何进步都是值得被肯定和鼓励的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇