网站首页

半岛彩票产品中心

半岛智能终端处理器 半岛智能云服务器 半岛软件开发环境

半岛彩票新闻中心

关于我们半岛彩票

公司概况 核心优势 核心团队 发展历程

联系我们半岛彩票·(中国)官方网站

官方微信 官方微博
半岛彩票·(中国)官方网站 > 半岛彩票新闻中心

半岛彩票AI 芯片和传统芯片有何区别?

发布时间:2023-08-01 11:27浏览次数: 来源于:网络

  半岛彩票广义上,AI芯片是用于运行AI算法的专用处理器,与传统芯片(如CPU)的区别在于

  某种程度上,GPU和FPGA也可以视为AI芯片,不过ASIC类的特点鲜明,因此最具有代表性。

  比特币的共识算法是SHA256算法,基于哈希运算,所以不存在反向计算公式,只能靠矿机去穷举海量的可能值。对于每个区块,最先尝试到正确值的矿工,将获得挖矿奖励。对于矿工来说,计算速度越快,获得奖励的期望就会越高。

  在CPU作为主流挖矿方式的时期,一位论坛ID为Laszlo的程序员,发现GPU的挖矿效率远远高于CPU。于是他仅用一块9800显卡,就挖出了超过8万个比特币。

  Laszlo除了是最早用GPU挖矿的人外,还做过一件具有里程碑意义的行为艺术:用10000枚比特币买了2个披萨。

  接下来的一段时间里,GPU得益于算力和能效上的巨大优势,逐渐成为了主流的挖矿芯片。

  不过到了现在,再用GPU挖比特币,已经几乎不可能了。例如RTX 3090显卡,在超频情况下,每秒能执行126.5M次SHA256计算,而比特币的全网总算力已经超过178.60EH/s,等价于14000亿块RTX 3090显卡的算力总和。

  这些海量算力主要来自ASIC矿机,其计算芯片就是面向执行SHA256算法去进行架构设计。这使得ASIC矿机在挖矿效率上碾压显卡,甚至于单矿机就能胜过超算中心。

  但是ASIC矿机在硬件上牺牲了通用性,导致无法执行其他计算任务,甚至于无法挖非SHA256算法的区块链货币,如以太坊。

  在比特币挖矿的例子中,能看出专用芯片最为适合:算法(or算子)固定,且相对简单的应用场景,比如比特币的SHA256算法。

  AI芯片的目的是高效率地执行AI算法,因此也会被称为AI加速器,并衍生出了一大堆名字,如NPU(神经网络处理器),TPU(谷歌·张量处理器),APU(AMD·加速处理器)。虽然名字上不一样,但性质上颇为类似。

  图中对比了若干主流AI算法的推理表现,初代TPU相比同时代的CPU/GPU,效率可谓摧枯拉朽。TPU不仅是性能强悍,在能效上依然甩出CPU和GPU数十倍。

  有意思的是,根据TPU项目的技术负责人(诺曼·乔皮)所说,在工程开始时,他们连团队都没组齐,还要手忙脚乱的去招聘RTL和验证工程师。

  即便是仓促上阵,但初代TPU的设计,验证,流片,加上部署,整体流程只耗费了15个月时间。

  这体现了AI芯片的一个特点,架构相比通用芯片(CPU/GPU)要简单得多,使得TPU团队能够在如此短的时间内,快速打造出一款全新的AI芯片。

  下图是TPU的模块面积图,其中黄色是计算相关,蓝色是数据相关,绿色是读写相关,而红色则是控制相关的电路,仅占了芯片面积(die)的2%。

  TPU只需面向卷积神经网络的运行,因此可以减少控制逻辑,且各项延时相对固定,运行的稳定性高。

  CPU和GPU因为要面临复杂多样的计算任务,控制逻辑复杂的多,造成控制电路的面积大,也更难设计。

  注意,此处『卷积』定义不同于信号处理中的卷积。以最常见的3x3卷积为例,计算过程如下图所示:

  当层数较大时,参数量会激增。对于一个512层输入和512层输出的卷积层:

  上述介绍的仅仅是一个卷积层,而真正的卷积神经网络通常由多个卷积层和其他算层蹭相互连接构成[3]。

  为了更好地实现模型的推理加速,需要总结实际模型的特点,分析出性能瓶颈,进而做出针对性的优化。

  TPU团队在2016年时,统计过6个谷歌产品和工具中的若干类常见神经网络,详见下表:

  面对卷积神经网络的庞大计算量,CPU在单时钟周期内可执行的运算数有限,极易出现计算瓶颈。GPU则是提升了并行计算性能,将卷积运算等价变换成矩阵的乘加运算,成为了神经网络训练的主流硬件。

  模型加速的核心是提升并行化水平,在同一个时钟周期内,进行尽可能多次的运算。TPU重新设计了专用的硬件架构:脉动阵列(systolic array)。

  TPU的脉动阵列参见下图[1],计算结果并非直接输出,而是在脉动阵列中按规律“流动”,等完全计算好后才输出保存。不仅增加了并行度,还实现了参数的复用,避免了反复载入。脉动阵列结构精妙,后续有机会可以单独写回答来介绍。

  上文提到,谷歌部署的神经网络中,参数数量从500万到1亿个不等,且中间结果也有很大数据量。

  类似木桶效应,决定盛水量的是最短的那块木板,即性能瓶颈。上述密集的DDR读写操作,使得IO速度容易成为模型推理的性能瓶颈。

  于是,初代TPU搭载了28M字节的片上存储器(On-chip memory, OCM),虽然成本较高,但读写速度远胜DDR内存。而第二代TPU更是不惜成本,十分奢侈地搭载了16GB的HBM存储单元,其IO速度达到了600GB每秒。

  有了高速缓存(OCM or HBM)后,运行时就可以将频繁使用的参数,提前载入到高速缓存中,然后卷积核便可以快速读取所需数据,无需反复从内存上载入。不仅如此,片上存储器还可以保存网络运作的中间结果,避免在内存上中转(写入+读回),从而显著降低内存的IO压力。

  这里高速缓存的作用类似于传统CPU中的L3缓存,目的是有效缓解内存的带宽压力,让卷积核的强大算力得到充分发挥,避免出现空等数据载入的情况。

  下图出自论文[2],第一作者TPU项目的技术负责人(诺曼·乔皮)。论文实验并统计了若干主流模型在TPU/GPU/CPU上的运行表现。

  横轴为所需算力除以需从内存载入的数据量,代表单位内存数据载入对应的计算密度,而纵轴为实际发挥的算力。因此,斜线部分代表算力表现被内存IO带宽制约,而水平部分代表性能已充分发挥,即被算力制约。

  如图所示,TPU(蓝线)在高计算密度时,效果明显优于CPU(黄线)和GPU(红线)。可见在高计算密度情况下,TPU能发挥更大优势。而28MB的片上存储能够提前缓存参数和中间结果,避免卷积核频繁进行内存对鞋,从而提升计算密度,让TPU运行更加高效。

  在硬件设计之外,为了让AI芯片更高效的运行模型,需要对AI算法做轻量化处理。

  当前的神经网络训练基本都基于浮点运算,在GPU上训练和推理时,通常使用32比特或64比特来表示一个浮点数。

  如果使用更低的比特数,比如改用8个比特来表示数字,会极大降低参数大小和计算量。

  量化等于带来了一定的量化噪声,而好的神经网络会具备一定的抗噪能力,因此量化后算法的精度损失会是有限且可控的。

  量化的另一个好处是,如果将模型的输入和参数均量化成整型数(如int8/uint8),没有了浮点计算,能让硬件设计更加简化。如上文介绍到,初代TPU仅支持整型运算,不仅是因为整型数运算在硬件上更加高效,且电路会简单很多。

  QAT在训练模型时就使用量化算子,可以最大地避免精度损失,但不能使用现有的浮点模型,需要从头开始去重训模型。

  PTQ则是对现有的浮点模型做量化,虽然量化后的模型精度和效率不通常如QAT,但由于不需要重新训练模型,使用门槛更低更稳定,还是有很大的使用需求。而如何减少精度损失,是PTQ方案在不停探索的目标,也衍生出了多种思路,例线性数量化和对数量化。

  除必不可少的3x3卷积外,常见的神经网络算子多达数十种(如ONNX包含80+算子)。

  出于芯片成本,设计难度和运行效率的考虑,现有的AI芯片都只能原生支持部分算子。

  因此,在模型训练时就需要了解和考虑硬件能力,尽量使用AI芯片能高效支持的算子,以提升部署后的运行效率。反过来,AI芯片的硬件设计时,同样需要考虑算法设计的需要,尽量支持更多的常用算子,以提高模型设计的自由度。

  如果厂商具备软硬件之间的协同开发能力,就可以在模型精度,芯片成本,推理速度之间,达到非常好的兼顾,实现1+12的效果。

  这也是越来越多终端厂商选择自研AI芯片的原因,而AI芯片厂商也经常会打包算法出售。

  AI芯片除了硬件外,软件栈(工具链)的设计也是非常重要且有难度的,不仅是模型量化,还包括编译器设计。

  在编译环境,为追求更高的硬件效率,需要研究非常复杂的调度问题,这是我目前的主要工作内容。日后有精力会单独写回答分享。

  [4]【国产自研芯片】为了测试AI暗光相机,工程师竟去密室拍NPC和小姐姐?_哔哩哔哩_bilibili

  现在所说的AI芯片,可以分两类,一类是面向训练和推断(Inference)皆可的,这个活GPGPU可以干,CPU也可以干,FPGA(Altera的Stratix系列)也都行,但是Google的TPU2和Bitmain的sophon之类因为专门设计可能在能耗比上有优势。这类产品相对GPGPU,整体类似,保留了相当多的浮点处理单元的同时(或者说建立了很多张量计算单元),抛弃了一些没啥用的图形流水线的玩意,提高了能耗表现。这部分玩家少,但是却更有趣。当然ICLR也有琢磨用定点器件训练的工作,Xilinx家是希望XNOR-net让定点器件都能参与训练。

  另一类是Inference Accelerator推断加速芯片,简单说就是把训练好的模型在芯片上跑。这块是真的百花齐放,比如的寒武纪NPU,Intel Movidius(还有个Nervana应该类似XeonPhi用来训练的),深鉴的DPU,地平线BPU,Imagination的PowerVR 2NX,ARM的Project Trillium,还有一堆IP。这类产品既有产品,又提供IP让其他开发者讲深度学习加速器集成到SoC内。另外这里需要单独说下Tegra X2这个产品,这个相当于一个小的桌面平台,ARM处理器加Nvidia GPU可以提供完整的训练推断能力,当然功耗也很高。其他的加速芯片,我觉得最好分成两类,浮点的和定点的。浮点的也只是FP16半精度的,当然支持FP16也支持INT8,比如寒武纪的NPU和Intel Movidius。一类就是纯定点的比如地平线的BPU还有Imagination的PowerVR 2NX之类。当然也有混合的,这块后面细说。

  首先说下非ASIC的,Deephi部分产品使用了ZYNQ实现,使用ZYNQ最大的好处就是省了流片费用,使用DSP48和资源实现乘加器完成定点操作,浮点交给CortexA9硬核,Deephi主要是工作在模型剪枝定点化方面,之前和汪玉老师交流,网络定点化时候部分层定点化定点化损失较高,因此保留部分层(主要是最后的)浮点,和嘉楠智耘做加速的人聊也印证这部分,用SOPC比较省事。再就是兼职的比如高通AI平台使用了Adreno GPU和Hexagon DSP做(主要是DSP,风评貌似能耗比970那个好看),SNPE主要是OpenCL折腾用GPU和DSP之类资源推断,MTK和AAPL也类似。其他的差别就很大了Intel Movidius发布较早,支持浮点推断,实际里面是VLIW的SIMD单元,这玩意和之前ATi显卡,或者说DSP设计类似。其他的因为在下看到公开资料不多,瞎说说,一般AI加速器都主要是针对现有网络,做定点或者浮点计算的优化,当然首先还是堆运算单元(矩阵运算单元,乘加),然后减少内存数据搬运,970上那个可能挂在CCI上,然后靠较多缓存,PowerVR 2NX那个貌似是优化到4bit的内存控制器?通过优化内存数据通路,减少一些内存带宽需求之列,总体其实还是关联的。感觉上这类东西接近超多核的DSP,不过是精简的毕竟DSP还能做点控制,笑。

  另外某种程度上说,对新的网络优化很差,一般工业比学术慢一年多,比如DenseNet出来了,片子只支持到Resnet。

  如果让GPGPU或者CPU做inference能耗比肯定不好看,但是浮点inference一般比定点化或者精度降低后的情况准确率高(当然存在定点化后泛化能力好的情况)。但是NPU只能在CPU控制下做特定任务就很丢人了,没有很多的应用支持,NPU就很鸡肋,在手机上,很多时候你根本用不到NPU,所以我觉得需要的时候用Mali啥的顶顶得了……

  没有啥差别,和别的比如手机SoC,显卡GPU用一套工艺,有钱上新制程,新工艺咯。

  (1)性能与传统芯片,比如CPU、GPU有很大的区别。在执行AI算法时,更快、更节能。

  传统的CPU、GPU都可以拿来执行AI算法,但是速度慢,性能低,无法实际商用。

  比如,自动驾驶需要识别道路行人红绿灯等状况,但是如果是当前的CPU去算,那么估计车翻到河里了还没发现前方是河,这是速度慢,时间就是生命。如果用GPU,的确速度要快得多,但是,功耗大,汽车的电池估计无法长时间支撑正常使用,而且,老黄家的GPU巨贵,经常单块上万,普通消费者也用不起,还经常缺货。另外,GPU因为不是专门针对AI算法开发的ASIC,所以,说到底,速度还没到极限,还有提升空间。而类似智能驾驶这样的领域,必须快!在手机终端,可以自行人脸识别、语音识别等AI应用,这个必须功耗低,所以GPU OUT!

  AI算法,在图像识别等领域,常用的是CNN卷积网络,语音识别、自然语言处理等领域,主要是RNN,这是两类有区别的算法。但是,他们本质上,都是矩阵或vector的乘法、加法,然后配合一些除法、指数等算法。

  一个成熟的AI算法,比如YOLO-V3,就是大量的卷积、残差网络、全连接等类型的计算,本质是乘法和加法。对于YOLO-V3来说,如果确定了具体的输入图形尺寸,那么总的乘法加法计算次数是确定的。比如一万亿次。(真实的情况比这个大得多的多)

  这个时候就来看了,比如IBM的POWER8,最先进的服务器用超标量CPU之一,4GHz,SIMD,128bit,假设是处理16bit的数据,那就是8个数,那么一个周期,最多执行8个乘加计算。一次最多执行16个操作。这还是理论上,其实是不大可能的。

  同样的,换成GPU算算,也能知道执行时间。因为对GPU内部结构不熟,所以不做具体分析。

  TPU1,大约700M Hz,有256X256尺寸的脉动阵列,如下图所示。一共256X256=64K个乘加单元,每个单元一次可执行一个乘法和一个加法。那就是128K个操作。(乘法算一个,加法再算一个)

  另外,除了脉动阵列,还有其他模块,比如激活等,这些里面也有乘法、加法等。

  对比一下CPU与TPU1,会发现计算能力有几个数量级的差距,这就是为啥说CPU慢。

  当然,以上的数据都是完全最理想的理论值,实际情况,能够达到5%吧。因为,芯片上的存储不够大,所以数据会存储在DRAM中,从DRAM取数据很慢的,所以,乘法逻辑往往要等待。另外,AI算法有许多层网络组成,必须一层一层的算,所以,在切换层的时候,乘法逻辑又是休息的,所以,诸多因素造成了实际的芯片并不能达到利润的计算峰值,而且差距还极大。

  目前来看,神经网络的尺寸是越来越大,参数越来越多,遇到大型NN模型,训练需要花几周甚至一两个月的时候,你会耐心等待么?突然断电,一切重来?(曾经动手训练一个写小说的AI,然后,一次训练(50轮)需要大约一天一夜还多,记得如果第一天早上开始训练,需要到第二天下午才可能完成,这还是模型比较简单,数据只有几万条的小模型呀。)

  突然有了TPU,然后你发现,吃个午饭回来就好了,参数优化一下,继续跑,多么爽!

  GPU的内核结构不清楚,所以就不比较了。肯定的是,GPU还是比较快的,至少比CPU快得多,所以目前大多数都用GPU,这玩意随便一个都能价格轻松上万,太贵,而且,功耗高,经常缺货。不适合数据中心大量使用。

  总的来说,CPU与GPU并不是AI专用芯片,为了实现其他功能,内部有大量其他逻辑,而这些逻辑对于目前的AI算法来说是完全用不上的,所以,自然造成CPU与GPU并不能达到最优的性价比。

  谷歌花钱研发TPU,而且目前已经出了TPU3,用得还挺欢,都开始支持谷歌云计算服务了,貌似6点几美元每小时吧,不记得单位了,懒得查.

  目前在图像识别、语音识别、自然语言处理等领域,精度最高的算法就是基于深度学习的,传统的机器学习的计算精度已经被超越,目前应用最广的算法,估计非深度学习莫属,而且,传统机器学习的计算量与 深度学习比起来少很多,所以,我讨论AI芯片时就针对计算量特别大的深度学习而言。毕竟,计算量小的算法,说实话,CPU已经很快了。而且,CPU适合执行调度复杂的算法,这一点是GPU与AI芯片都做不到的,所以他们三者只是针对不同的应用场景而已,都有各自的主场。

  而没有具体说GPU。是因为,我说了,我目前没有系统查看过GPU的论文,不了解GPU的情况,故不做分析。因为积累的缘故,比较熟悉超标量CPU,所以就用熟悉的CPU做详细比较。而且,小型的网络,完全可以用CPU去训练,没啥大问题,最多慢一点。只要不是太大的网络模型。

  那些AI算法公司,比如旷世、商汤等,他们的模型很大,自然也不是一块GPU就能搞定的。GPU的算力也是很有限的。

  没错,但是不全面。只说说CPU串行。这位网友估计对CPU没有非常深入的理解。我的回答中举的CPU是IBM的POWER8,就知道,这是超标量的服务器用CPU,目前来看,性能已经是非常顶级的了,主频4GHZ。不知是否注意到我说了这是SIMD?这个SIMD,就代表他可以同时执行多条同样的指令,这就是并行,而不是串行。单个数据是128bit的,如果是16bit的精度,那么一周期理论上最多可以计算八组数据的乘法或加法,或者乘加。这还不叫并行?只是并行的程度没有GPU那么厉害而已,但是,这也是并行。

  拜托,GPU本来是从CPU中分离出来专门处理图像计算的,也就是说,GPU是专门处理图像计算的。包括各种特效的显示。这也是GPU的天生的缺陷,GPU更加针对图像的渲染等计算算法。但是,这些算法,与深度学习的算法还是有比较大的区别,而我的回答里提到的AI芯片,比如TPU,这个是专门针对CNN等典型深度学习算法而开发的。另外,寒武纪的NPU,也是专门针对神经网络的,与TPU类似。

  谷歌的TPU,寒武纪的DianNao,这些AI芯片刚出道的时候,就是用CPU/GPU来对比的。

  看看,谷歌TPU论文的摘要直接对比了TPU1与CPU/GPU的性能比较结果,见红色框:

  再来看看寒武纪DianNao的paper,摘要中直接就是DianNao与CPU的性能的比较,见红色框:

  比特币刚出来,那也是用CPU在挖。目前已经进化成ASIC矿机了。比特大陆了解一下。

  从2006年开始开启的深度学习热潮,CPU与GPU都能计算,发现GPU速度更快,但是贵啊,更多用的是CPU,而且,那时候GPU的CUDA可还不怎么样,后来,随着NN模型越来越大,GPU的优势越来越明显,CUDA也越来越6,目前就成了GPU的专场。

  寒武纪2014年的DianNao(NPU)比CPU快,而且更加节能。ASIC的优势很明显啊。这也是为啥要开发ASIC的理由。

  至于说很多公司的方案是可编程的,也就是大多数与FPGA配合。你说的是商汤、深鉴么?的确,他们发表的论文,就是基于FPGA的。

  这些创业公司,他们更多研究的是算法,至于芯片,还不是重点,另外,他们暂时还没有那个精力与实力。FPGA非常灵活,成本不高,可以很快实现架构设计原型,所以他们自然会选择基于FPGA的方案。不过,最近他们都大力融资,官网也在招聘芯片设计岗位,所以,应该也在涉足ASIC研发了。

  如果以FPGA为代表的可编程方案真的有巨大的商业价值,那他们何必砸钱去做ASIC?

  当前AI芯片设计方案繁多,包括但不限于GPU/FPGA/ASIC/DSP等。目前市场上的对于AI芯片并无明确统一的定义,广义上所有面向人工智能(Artificial Intelligence,AI),包括Training(训练)和Inference(推理)应用的芯片都可以被称为AI芯片。

  当前AI运算指以“深度学习” 为代表的神经网络算法,需要系统能够高效处理大量非结构化数据(文本、视频、图 像、语音等)。这需要硬件具有高效的线性代数运算能力,计算任务具有:单位计算任务简单,逻辑控制难度要求低,但并行运算量大、参数多的特点。对于芯片的多核并行运算、片上存储、带宽、低延时的访存等提出了较高的需求。

  针对不同应用场景,AI芯片还应满足:对主流AI算法框架兼容、可编程、可拓展、低功耗、体积及造价等需求。[2]

  目前来看,AI芯片并不能取代CPU的位置,正如GPU作为专用图像处理器与CPU的共生关系,AI芯片将会作为CPU的AI运 算协处理器,专门处理AI应用所需要的大并行矩阵计算需求,而CPU作为核心逻辑处理器,统一进行任务调度。 在服务器产品中,AI芯片被设计成计算板卡,通过主板上的PCIE接口与CPU相连;而在终端设备中,由于面积、功耗成本 等条件限制,AI芯片需要以IP形式被整合进SoC系统级芯片,主要实现终端对计算力要求较低的AI推断任务。

  自动驾驶汽车将改变我们生活、工作以及娱乐的方式,创造更安全和更高效的道路运输。为实现这些革命性的优势,未来汽车将需要强大的算力支撑。

  根据美国汽车工程师协会(SAE)将自动驾驶按照车辆行驶对于系统依赖程度分为L0~L5六个级别,L0为车辆行驶完全依 赖驾驶员操纵,L3级以上系统即可在特定情况下实现驾驶员脱手操作,而L5级则是在全场景下车辆行驶完全实现对系统的 依赖。

  自动驾驶汽车计算单元设计需要考虑算力、功耗体积等问题,出于硬件资源最优化应用,往往 采取异构计算平台设计方案,及“CPU+XPU”(XPU包括:DSP/GPU/FPGA/ASIC),其中可采取DSP用于图像特征提 取任务、GPU/FPGA/ASIC等计算单元用于目标识别、追踪任务等,而CPU则会用于定位、决策等逻辑运算任务。

  目前,智能手机市场的竞争越来越激烈,各厂商加大手机AI 功能的开发,通过在手机SoC芯片中植入AI芯片实现在低功耗情况下AI功能的高效运行。

  移动端AI芯片市场不止于智能手机,潜在市场还包括:智能手环/手表、VR/AR眼镜等市场。AI芯片在图像及语音方面的能力可能会带来未来人机交 互方式的改变并进一步提升显示屏、摄像头的能力,有可能在未来改变移动端产品。

  边缘计算(Edge Computing)是由云计算延伸发展出来的概念。边缘计算是5G网络架构中的核心环节,是指在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用等核心能力的分布式开放平台。

  边缘计算可以作为联接物理和数字世界的桥梁,使能智能资产、智能网关、智能系统和智能服务。典型应用场景包括5G应用、AR/VR、无人机、医疗保健和智能交通等。

  目前,AI芯片发展速度虽然很快,但是现在的人工智能新算法也是层出不穷的,这样一来就没有一个具体的标准,也没有对相应的规格进行固定。

  从芯片发展的大趋势来看,现在还是AI芯片的初级阶段。无论是科研还是产业应用都有巨大的创新空间。从确定算法、应用场景的AI加速芯片向具备更高灵活性、适应性的通用智能芯片发展是技术发展的必然方向。

  其实没有传统芯片的说法,按不同的方式芯片可以有不同的分类方法,我想题主说的传统芯片是指CPU、GPU这些。CPU、GPU与AI芯片他们的共同点是都可以进行AI的运算,不同点是

  CPU(central processing unit)是通用处理器,可以处理一切事物,就像一把瑞士军刀,哪方面都能做但都不是专业高效的。

  GPU(Graphics Processing Unit)是专门用来处理图形图像相关的处理器,与CPU相比GPU处理的数据类型单一,因为运算与AI相似以及容易组成大的集群,所以进行AI运算时在性能、功耗等很多方面远远优于CPU,经常被拿来处理AI运算。

  DSP(digital signal processor),是专门用来处理数字信号的,DSP与GPU情况相似,也会被拿来做AI运算,比如高通的手机SoC。

  AI芯片是专门用来处理AI相关运算的芯片,这与CPU、GPU、DSP的“兼职”做AI运算不同,即便是最高效的GPU与AI芯片相比也是有差距的,AI芯片在时延、性能、功耗、能效比等方面全面的超过上面提到的各种处理器。以知名的谷歌的TPU为例,当时谷歌资深硬件工程师Norman Jouppi表示,谷歌的专用机器学习芯片TPU处理速度要比GPU和CPU快15-30倍(和TPU对比的是英特尔Haswell CPU以及Nvidia Tesla K80 GPU),而在能效上,TPU更是提升了30到80倍。

  为什么AI芯片在时延、性能、功耗、能效比方面表现更好呢?其实主要是因为结构,现在的AI主要是指机器学习/深度学习,运算从本质来说是一些矩阵乘。下面这张图相信很多人都看到过,CPU更擅长逻辑控制,串行计算,只有一小部分是用来计算的,而GPU控制电路相对简单并且Cache的需求小,更多的晶体管用来进行运算,GPU的结构也使得他更适合做一些大运算量的重复工作,而且更容易组成大的集群,就是大家常见的GPU的核心数比CPU好堆。

  AI的运算本质上都是一些矩阵乘、并不需要很多的存取和判断,所以GPU的架构比CPU更加适合AI,也更加的高效。GPU本来是作为图形图像处理器存在的,里面有很多图形流水线的东西,这些对于AI运算是没有用的,谷歌他们去掉后重新设计成了TPU,里面有一个庞大的8位矩阵乘法单元,更加的适合AI运算,这类有很多浮点处理单元的芯片比较适合训练。从GPU进行AI运算到专业的AI芯片是一个必然的趋势,也带来更高的性能、更好的功耗。

  AI芯片一般分为两类,一类是上面提到的谷歌TPU这样的用来做训练的,通过海量的数据样本进行训练构建神经网络模型,一般部署在云端;另一类是做推理用的,通常用在手机、汽车、安防等领域,执行训练好的模型,现有的推理芯片有很多,比如寒武纪NPU、地平线BPU、阿里新发布的含光800(这个用在云端)等。与训练不一样,推理为了更高效,还会采用一些其它的操作,比如稀疏矩阵、降低精度等,实验证明做适当的剪枝可以明显的加速推理过程并且还能保证较高的准确率。这样的话推理用的AI芯片在能效比等方面会更加的突出,更加的优于GPU。

  大家都知道做芯片不容易,这两年AI很火就冒出一堆的AI芯片,真的都能生存吗?芯片一方面是靠技术另一方面是靠商业,只有正常商业化应用的芯片才能走上正轨一步步发展壮大。去年 FPGA 厂商赛灵思收购中国 AI 芯片领域的明星创业公司——深鉴科技,究其根本是深鉴科技无法自己造血养活自己,AI芯片想要落地FPGA的路子也是走不通的。

  手机领域是目前AI落地比较好的,手机上的智能语音,拍照AI识别和处理都可以应用上,还包括一些智能音箱产品,前几天我拆了一个小米小爱音箱PLAY,发现采用的是地平线 ESE 方案。其实不只是智能语音,机器学习在图像识别领域做的也很好,前不久网易邀请我去体验百度的无人驾驶,就是下面这辆车,相信很多人都见过图片,车顶的雷达和车身上的各种传感器采集数据然后交给后备箱中两台庞大的服务器进行处理。因为雷达是64位的,所以数据计算量还是很大的,精度要求也高。

  当我见到后备箱中的两台服务器时,我就想,自动驾驶的基础是计算机视觉,这是AI所擅长的,如果有好的AI芯片那会就不用装这么大两个服务器了。我能想到,自然别人也能想到,百度也能想到,问题是能做到什么程度。有趣的是曾任职百度IDL常务副院长,百度研究院副院长的余凯从百度出来后成立了地平线从事的就是相关的工作,一个多月前地平线刚宣布量产中国首款车规级人工智能芯片——征程二代(Journey 2)。根据目前的报道征程二代(Journey 2)典型功耗2W下就可以提供4TOPS的性能,是同等级GPU的10倍以上,典型目标识别精度超过99%,延迟不超过100毫秒。最后的体积也许不会像下面显示的这么小但是绝对会大大缩小体积,减轻负重和耗电情况,还能释放出空间,这样才会有实用价值。

  都在说5G说自动驾驶,事实上5G只是一个管道和桥梁,真正决定自动驾驶发展的是计算机视觉技术的发展,是AI芯片的落地。

  有点扯远了,总结就是,CPU、GPU、AI芯片都能用于AI运算,如果用时延、性能、功耗、能效比等标准来衡量的话AI芯片最好,其次是GPU,最差的选择是CPU。

下一篇:半岛彩票芯片概念上市公司龙头股一览(202373)
上一篇:中半岛彩票国4纳米芯片重大突破!外媒感叹挡不住了!

咨询我们

输入您的疑问及需求发送邮箱给我们