【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » IT资讯 » 正文

AI 芯片和传统芯片有何区别?

放大字体  缩小字体 发布日期:2020-04-25 05:24:01    浏览次数:43
导读

  以前一直以为是一个噱头,今天看到说华为也在研发,是否可能AI芯片的前景比预想的要宽广。所以想了解一下。 1.性能上和传统芯片有差异吗?【假设我做手机,我的产品使用AI芯片的话,无论从任何角度来说都胜过或者至少打平同价位的普通芯片吗】? 2.设计与制作上与传统芯片有差异吗?【中国的芯片研制工艺比不了国外,AI

  以前一直以为是一个噱头,今天看到说华为也在研发,是否可能AI芯片的前景比预想的要宽广。所以想了解一下。 1.性能上和传统芯片有差异吗?【假设我做手机,我的产品使用AI芯片的话,无论从任何角度来说都胜过或者至少打平同价位的普通芯片吗】? 2.设计与制作上与传统芯片有差异吗?【中国的芯片研制工艺比不了国外,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个操作。这还是理论上,其实是不大可能的。

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

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

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

  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来对比的。

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

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

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

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

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

  现在所说的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啥的顶顶得了……

  其实没有传统芯片的说法,按不同的方式芯片可以有不同的分类方法,我想题主说的传统芯片是指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。

  相信你一定还记得击败了李世石和柯洁的谷歌“阿尔法狗”(Alpha Go),那你知道驱动Alpha Go的是什么吗?

  如果你觉得Alpha Go和人相似,只不过是把人脑换成了芯片,那么你就大错特错了。击败李世石的Alpha Go装有48个谷歌的AI芯片,而这48个芯片不是安装在Alpha Go身体里,而是在云端。所以,真正驱动Alpha Go的装置,看上去是这样的...

  然而近几年,AI技术的应用场景开始向移动设备转移,比如汽车上的自动驾驶、手机上的人脸识别等。产业的需求促成了技术的进步,而AI芯片作为产业的根基,必须达到更强的性能、更高的效率、更小的体积,才能完成AI技术从云端到终端的转移。

  目前,AI芯片的研发方向主要分两种:一是基于传统冯·诺依曼架构的FPGA(现场可编程门阵列)和ASIC(专用集成电路)芯片,二是模仿人脑神经元结构设计的类脑芯片。其中FPGA和ASIC芯片不管是研发还是应用,都已经形成一定规模;而类脑芯片虽然还处于研发初期,但具备很大潜力,可能在未来成为行业内的主流。

  这两条发展路线的主要区别在于,前者沿用冯·诺依曼架构,后者采用类脑架构。你看到的每一台电脑,采用的都是冯·诺依曼架构。它的核心思路就是处理器和存储器要分开,所以才有了CPU(中央处理器)和内存。而类脑架构,顾名思义,模仿人脑神经元结构,因此CPU、内存和通信部件都集成在一起。

  2007年以前,受限于当时算法和数据等因素,AI对芯片还没有特别强烈的需求,通用的CPU芯片即可提供足够的计算能力。比如现在在读这篇文章的你,手机或电脑里就有CPU芯片。

  之后由于高清视频和游戏产业的快速发展,GPU (图形处理器)芯片取得迅速的发展。因为 GPU 有更多的逻辑运算单元用于处理数据,属于高并行结构,在处理图形数据和复杂算法方面比 CPU 更有优势,又因为AI深度学习的模型参数多、数据规模大、计算量大,此后一段时间内 GPU 代替了 CPU,成为当时 AI 芯片的主流。

  然而 GPU 毕竟只是图形处理器,不是专门用于 AI 深度学习的芯片,自然存在不足,比如在执行AI 应用时,其并行结构的性能无法充分发挥,导致能耗高。

  与此同时,AI技术的应用日益增长,在教育、医疗、无人驾驶等领域都能看到 AI 的身影。然而GPU 芯片过高的能耗无法满足产业的需求,因此取而代之的是 FPGA 芯片,和 ASIC 芯片。

  FPGA 可以被理解为“万能芯片”。用户通过烧入 FPGA 配置文件,来定义这些门电路以及存储器之间的连线,用硬件描述语言(HDL)对 FPGA 的硬件电路进行设计。每完成一次烧录,FPGA内部的硬件电路就有了确定的连接方式,具有了一定的功能,输入的数据只需要依次经过各个门电路,就可以得到输出结果。

  尽管叫“万能芯片”,FPGA也不是没有缺陷。正因为 FPGA 的结构具有较高灵活性,量产中单块芯片的成本也比 ASIC 芯片高,并且在性能上,FPGA 芯片的速度和能耗相比 ASIC 芯片也做出了妥协。

  也就是说,“万能芯片” 虽然是个 “多面手”,但它的性能比不上 ASIC 芯片,价格也比 ASIC 芯片更高。

  但是在芯片需求还未成规模、深度学习算法需要不断迭代改进的情况下,具备可重构特性的FPGA芯片适应性更强。因此用FPGA来实现半定制人工智能芯片,毫无疑问是保险的选择。

  目前,FPGA 芯片市场被美国厂商 Xilinx 和 Altera 瓜分。据国外媒体 Marketwatch 的统计,前者占全球市场份额 50%、后者占 35%左右,两家厂商霸占了 85% 的市场份额,专利达到 6000 多项,毫无疑问是行业里的两座大山。

  Xilinx 的 FPGA 芯片从低端到高端,分为四个系列,分别是 Spartan、Artix、Kintex、Vertex,芯片工艺也从 45 到 16 纳米不等。芯片工艺水平越高,芯片越小。其中 Spartan 和 Artix 主要针对民用市场,应用包括无人驾驶、智能家居等;Kintex 和 Vertex 主要针对军用市场,应用包括国防、航空航天等。

  我们再说说 Xilinx 的老对手 Altera。Altera 的主流 FPGA 芯片分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的应用需求,如 Cyclone 和 MAX 系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix和Arria系列。Altera的FPGA芯片主要应用在消费电子、无线通信、军事航空等领域。

  在 AI 产业应用大规模兴起之前,使用 FPGA 这类适合并行计算的通用芯片来实现加速,可以避免研发 ASIC 这种定制芯片的高投入和风险。

  但就像我们刚才说到的,由于通用芯片的设计初衷并非专门针对深度学习,因此 FPGA 难免存在性能、功耗等方面的瓶颈。随着人工智能应用规模的扩大,这类问题将日益突出。换句话说,我们对人工智能所有的美好设想,都需要芯片追上人工智能迅速发展的步伐。如果芯片跟不上,就会成为人工智能发展的瓶颈。

  所以,随着近几年人工智能算法和应用领域的快速发展,以及研发上的成果和工艺上的逐渐成熟,ASIC 芯片正在成为人工智能计算芯片发展的主流。

  ASIC芯片是针对特定需求而定制的专用芯片。虽然牺牲了通用性,但 ASIC 无论是在性能、功耗还是体积上,都比 FPGA 和 GPU 芯片有优势,特别是在需要芯片同时具备高性能、低功耗、小体积的移动端设备上,比如我们手上的手机。

  但是,因为其通用性低,ASIC 芯片的高研发成本也可能会带来高风险。然而如果考虑市场因素,ASIC芯片其实是行业的发展大趋势。

  为什么这么说呢?因为从服务器、计算机到无人驾驶汽车、无人机,再到智能家居的各类家电,海量的设备需要引入人工智能计算能力和感知交互能力。出于对实时性的要求,以及训练数据隐私等考虑,这些能力不可能完全依赖云端,必须要有本地的软硬件基础平台支撑。而 ASIC 芯片高性能、低功耗、小体积的特点恰好能满足这些需求。

  2016 年,英伟达发布了专门用于加速 AI 计算的 Tesla P100 芯片,并且在 2017 年升级为 Tesla V100。在训练超大型神经网络模型时,Tesla V100 可以为深度学习相关的模型训练和推断应用提供高达 125 万亿次每秒的张量计算(张量计算是AI深度学习中最经常用到的计算)。然而在最高性能模式下,Tesla V100的功耗达到了300W,虽然性能强劲,但也毫无疑问是颗“核弹”,因为太费电了。

  同样在 2016 年,谷歌发布了加速深度学习的 TPU(Tensor Processing Unit)芯片,并且之后升级为 TPU 2.0 和 TPU 3.0。与英伟达的芯片不同,谷歌的 TPU 芯片设置在云端,就像文章在Alpha Go 的例子中说的一样,并且“只租不卖“,服务按小时收费。不过谷歌 TPU 的性能也十分强大,算力达到 180 万亿次每秒,并且功耗只有200w。

  关于各自 AI 芯片的性能,谷歌 CEO Sundar Pichai 和英伟达CEO 黄仁勋之前还在网上产生过争论。别看两位大佬为自家产品撑腰,争得不可开交,实际上不少网友指出,这两款产品没必要“硬做比较”,因为一个是在云端,一个是在终端。

  除了大公司,初创企业也在激烈竞争 ASIC 芯片市场。那么初创企业在行业中该如何生存呢?对此,AI 芯片初创企业 Novumind 的中国区 CEO 周斌告诉小探:创新是初创企业的核心竞争力。

  2017 年,NovuMind 推出了第一款自主设计的AI芯片:NovuTensor。这款芯片使用原生张量处理器(Native Tensor Processor)作为内核构架,这种内核架构由 NovuMind 自主研发,并在短短一年内获得美国专利。除此之外,NovuTensor 芯片采用不同的异构计算模式来应对不同 AI 应用领域的三维张量计算。2018年下半年,Novumind 刚推出了新一代 NovuTensor 芯片,这款芯片在做到 15 万亿次计算每秒的同时,全芯片功耗控制在 15W 左右,效率极高。

  尽管 NovuTensor 芯片的纸面算力不如英伟达的芯片,但是其计算延迟和功耗却低得多,因此适合边缘端 AI计算,也就是服务于物联网。虽然大家都在追求高算力,但实际上不是所有芯片都需要高算力的。比如用在手机、智能眼镜上的芯片,虽然也对算力有一定要求,但更需要的是低能耗,否则你的手机、智能眼镜等产品,用几下就没电了,也是很麻烦的一件事情。并且据 EE Times 的报道,在运行 ResNet-18、ResNet-34、ResNet70、VGG16等业界标准神经网络推理时,NovuTensor 芯片的吞吐量和延迟都要优于英伟达的另一款高端芯片 Xavier。

  结合Novumind现阶段的成功,我们不难看出:在云端市场目前被英伟达、谷歌等巨头公司霸占,终端应用芯片群雄逐鹿的情形下,专注技术创新,在关键指标上大幅领先所有竞争对手,或许是AI芯片初创企业的生存之道。

  然而这种架构并非十全十美。将CPU与内存分开的设计,反而会导致所谓的冯·诺伊曼瓶颈(von Neumann bottleneck):CPU与内存之间的资料传输率,与内存的容量和CPU的工作效率相比都非常小,因此当CPU需要在巨大的资料上执行一些简单指令时,资料传输率就成了整体效率非常严重的限制。

  人脑内有上千亿个神经元,而且每个神经元都通过成千上万个突触与其他神经元相连,形成超级庞大的神经元回路,以分布式和并发式的方式传导信号,相当于超大规模的并行计算,因此算力极强。人脑的另一个特点是,不是大脑的每个部分都一直在工作,从而整体能耗很低。

  这种类脑芯片跟传统的冯·诺依曼架构不同,它的内存、CPU和通信部件是完全集成在一起,把数字处理器当作神经元,把内存作为突触。除此之外,在类脑芯片上,信息的处理完全在本地进行,而且由于本地处理的数据量并不大,传统计算机内存与CPU之间的瓶颈不复存在了。同时,神经元只要接收到其他神经元发过来的脉冲,这些神经元就会同时做动作,因此神经元之间可以方便快捷地相互沟通。

  在类脑芯片的研发上,IBM 是行业内的先行者。2014 年 IBM 发布了 TrueNorth 类脑芯片,这款芯片在直径只有几厘米的方寸的空间里,集成了 4096 个内核、100 万个“神经元”和 2.56 亿个“突触”,能耗只有不到 70 毫瓦,可谓是高集成、低功耗的完美演绎。

  那么这款芯片的实战表现如何呢?IBM研究小组曾经利用做过 DARPA 的NeoVision2 Tower数据集做过演示。它能以30帧每秒速度,实时识别出街景视频中的人、自行车、公交车、卡车等,准确率达到了80%。相比之下,一台笔记本编程完成同样的任务用时要慢100倍,能耗却是IBM芯片的1万倍。

  然而目前类脑芯片研制的挑战之一,是在硬件层面上模仿人脑中的神经突触,换而言之就是设计完美的人造突触。

  在现有的类脑芯片中,通常用施加电压的方式来模拟神经元中的信息传输。但存在的问题是,由于大多数由非晶材料制成的人造突触中,离子通过的路径有无限种可能,难以预测离子究竟走哪一条路,造成不同神经元电流输出的差异。

  针对这个问题,今年麻省理工的研究团队制造了一种类脑芯片,其中的人造突触由硅锗制成,每个突触约 25 纳米。对每个突触施加电压时,所有突触都表现出几乎相同的离子流,突触之间的差异约为 4%。与无定形材料制成的突触相比,其性能更为一致。

  即便如此,类脑芯片距离人脑也还有相当大的距离,毕竟人脑里的神经元个数有上千亿个,而现在最先进的类脑芯片中的神经元也只有几百万个,连人脑的万分之一都不到。因此这类芯片的研究,离成为市场上可以大规模广泛使用的成熟技术,还有很长的路要走,但是长期来看类脑芯片有可能会带来计算体系的革命。

  说了这么多,相信读者们对 AI 芯片行业已经有了基本的认识。在未来,AI芯片是否会从云端向终端发展?行业中大小公司的激烈的竞争会催生出怎样的创新和转型?类脑芯片的研发又能取得哪些突破?关于这些问题,每个人都会有不同的见解,欢迎各位读者在下面留言。

  后期发现这东西应该可以看电影做娱乐,开始发展单指令多数据,大概是叫MMX指令集?这个后期大概是从1990年开始到现在。

  同时发现显示器的单数据多指令是比较固定的,最好是拿出来单独做个硬件,这样可以让CPU的设计更简单,提高显示性能,这个东西叫显卡。

  之后硬件分类结构基本成型,发展了多核大战和64位技术,低压节能技术,超线程等等。一直在优化,获得更高性能。

  最近几年,在对逻辑研究透彻的基础上,开始设计GPU进行计算。擅长处理特定数据,逻辑比较简单的数据,只需要运算不需要复杂调度。

  AI芯片,是因为发现了一类数据,运算量很大,调度也很多。写到这儿觉得,其实一个CPU加一个显卡就等价于一个AI芯片。

  总结一下,有部分专业人士对未来数据处理器的发展预测是AI方向,所以应当作为CPU设计方向,国内在做,国外也在做,做的好不好是一种情况,谁笑到最后是另一种情况。

  比如,用在电饭锅,冰箱之类的家用电器里。功能不复杂,需要的寄存器没那么多,要省电。显然不用塞一个8400U进去。

  比如图形运算,为什么要做GPU?CPU不行么?也行啊。但是GPU只需处理图形运算。功能相比CPU更单一,那用GPU就可以把逻辑电路重新设计,解码器用的逻辑电路数可以更小,那多出来的空间,可以使劲堆ALU(算术运算单元),加上专门针对图形运算设计的电路。性能相比CPU就更好了。

  这个CPU由解码器,两个寄存器,一个计数器,一个算术运算单元,还有一些简单的逻辑器件。虽然麻雀比较小,但五脏也算比较全了。

  按照游戏的设定,最初玩家只有一个与非门,然后通过与非门实现非门,与门或门等等。最后到CPU。所以这个CPU的设计好坏,就可以用与非门的数量来衡量,与非门数量越大,则说明设计的越繁琐,如果考虑时延的话,性能肯定就越差。

  那么问题就出现了,输入的组合有很多个,有2×2^16×2^16个,这个检测只取了其中10个,也就是说,只要满足这10个测试,也会被判定为合格,其余的对不对,这个检测不管。

  除了设计上述的全功能CPU,还可以仅从这10个测试的输入输出考虑,专门为这个测试,设计一种逻辑电路。很幸运,这个游戏排行榜的第一名就是这样做的。

  第一名用了20个与非门就通过了测试,而我用了3916个。即世界第一的运算效率是我设计的200倍。

  场景切换到AI,CPU也可以进行AI运算,但AI运算只是其中的一小部分,就和游戏中给的测试一样,AI运算就好比是游戏中的十个输入输出。如果针对AI,单独设计,就可以实现效率的暴增。

  计算机工业从1960年代早期开始使用CPU这个术语。迄今为止,CPU从形态、设计到实现都已发生了巨大的变化,但是其基本工作原理却一直没有大的改变。通常CPU由控制器和运算器这两个主要部件组成。传统的CPU内部结构实质上仅单独的ALU模块(逻辑运算单元)是用来完成数据计算的,其他各个模块的存在都是为了保证指令能够一条接一条的有序执行。这种通用性结构对于传统的编程计算模式非常适合,同时可以通过提升CPU主频(提升单位时间内执行指令的条数)来提升计算速度。但对于深度学习中的并不需要太多的程序指令、却需要海量数据运算的计算需求,这种结构就显得有些力不从心。尤其是在功耗限制下,无法通过无限制的提升CPU和内存的工作频率来加快指令执行速度,这种情况导致CPU系统的发展遇到不可逾越的瓶颈。

  GPU作为最早从事并行加速计算的处理器,相比CPU速度快,同时比其他加速器芯片编程灵活简单。传统的CPU之所以不适合人工智能算法的执行,主要原因在于其计算指令遵循串行执行的方式,没能发挥出芯片的全部潜力。与之不同的是,GPU具有高并行结构,在处理图形数据和复杂算法方面拥有比CPU更高的效率。对比GPU和CPU在结构上的差异,CPU大部分面积为控制器和寄存器,而GPU拥有更多的ALU(ARITHMETIC LOGIC UNIT,逻辑运算单元)用于数据处理,这样的结构适合对密集型数据进行并行处理,CPU与GPU的结构对比如图所示:

  程序在GPU系统上的运行速度相较于单核CPU往往提升几十倍乃至上千倍。随着英伟达、AMD等公司不断推进其对GPU大规模并行架构的支持,面向通用计算的GPU(即GPGPU,GENERAL PURPOSE GPU,通用计算图形处理器)已成为加速可并行应用程序的重要手段。

  GPU(Graphics Processing Unit,图形处理单元):在传统的冯·诺依曼结构中,CPU每执行一条指令都需要从存储器中读取数据,根据指令对数据进行相应的操作。从这个特点可以看出,CPU的主要职责并不只是数据运算,还需要执行存储读取、指令分析、分支跳转等命令。深度学习算法通常需要进行海量的数据处理,用CPU执行算法时,CPU将花费大量的时间在数据/指令的读取分析上,而CPU的频率、内存的带宽等条件又不可能无限制提高,因此限制了处理器的性能。而GPU的控制相对简单,大部分的晶体管可以组成各类专用电路、多条流水线,使得GPU的计算速度远高于CPU;同时GPU拥有了更加强大的浮点运算能力,可以缓解深度学习算法的训练难题,释放人工智能的潜能。

  半定制化的FPGA:FPGA(Field Programmable GateArray)全称“现场可编程门阵列”,其基本原理是在FPGA芯片内集成大量的基本门电路以及存储器,用户可以通过更新FPGA配置文件来定义这些门电路以及存储器之间的连线。

  与GPU不同,FPGA同时拥有硬件流水线并行和数据并行处理能力,适用于以硬件流水线方式处理一条数据,且整数运算性能更高,因此常用于深度学习算法中的推断阶段。不过FPGA通过硬件的配置实现软件算法,因此在实现复杂算法方面有一定的难度。将FPGA和CPU对比可以发现两个特点,一是FPGA没有内存和控制所带来的存储和读取部分,速度更快,二是FPGA没有读取指令操作,所以功耗更低。劣势是价格比较高、编程复杂、整体运算能力不是很高。目前国内的AI芯片公司如深鉴科技就提供基于FPGA的解决方案。

  全定制化ASIC:ASIC(Application-Specific Integrated Circuit)专用集成电路,是专用定制芯片,即为实现特定要求而定制的芯片。定制的特性有助于提高ASIC的性能功耗比,缺点是电路设计需要定制,相对开发周期长,功能难以扩展。但在功耗、可靠性、集成度等方面都有优势,尤其在要求高性能、低功耗的移动应用端体现明显。谷歌的TPU、寒武纪的GPU,地平线的BPU都属于ASIC芯片。谷歌的TPU比CPU和GPU的方案快30至80倍,与CPU和GPU相比,TPU把控制电路进行了简化,因此减少了芯片的面积,降低了功耗。

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

  训练环节通常需要通过大量的数据输入,训练出一个复杂的深度神经网络模型。训练过程由于涉及海量的训练数据和复杂的深度神经网络结构,运算量巨大,需要庞大的计算规模,对于处理器的计算能力、精度、可扩展性等性能要求很高。目前市场上通常使用英伟达的GPU集群来完成,Google的TPU2.0/3.0也支持训练环节的深度网络加速。

  推断环节是指利用训练好的模型,使用新的数据去“推断”出各种结论。这个环节的计算量相对训练环节少很多,但仍然会涉及到大量的矩阵运算。在推断环节中,除了使用CPU或GPU进行运算外,FPGA以及ASIC均能发挥重大作用。

  服务器端:在深度学习的训练阶段,由于数据量及运算量巨大,单一处理器几乎不可能独立完成一个模型的训练过程,因此,负责AI算法的芯片采用的是高性能计算的技术路线,一方面要支持尽可能多的网络结构以保证算法的正确率和泛化能力;另一方面必须支持浮点数运算;而且为了能够提升性能必须支持阵列式结构(即可以把多块芯片组成一个计算阵列以加速运算)。在推断阶段,由于训练出来的深度神经网络模型仍非常复杂,推断过程仍然属于计算密集型和存储密集型,可以选择部署在服务器端。

  移动端(手机、智能家居、无人车等):移动端AI芯片在设计思路上与服务器端AI芯片有着本质的区别。首先,必须保证很高的计算能效;其次,在高级辅助驾驶ADAS等设备对实时性要求很高的场合,推断过程必须在设备本身完成,因此要求移动端设备具备足够的推断能力。而某些场合还会有低功耗、低延迟、低成本的要求,从而导致移动端的AI芯片多种多样。

  GPU:几千个小学生,只会算加减乘除开方,虽然单拿出来是弱智,但是架不住人多,做并行计算的时候优势巨大。

  AI芯片:一个经过训练只会做ML的团队,在AI方面经验丰富操作熟练,其他的可以看作啥都不会。

  相关数据统计显示,从2008年开始,芯片已经是我国连续十年的最大进口商品,且占据了国际需求市场的50%。仅2017年,芯片的进口数量就达到了3770亿块,耗资2601亿美元!而这些芯片大多被搭载在了智能手机、电视、电脑等多种普及度比较高硬件中,生产量均占全球总量的半数以上,其中电脑更是高达95%。

  就连马云都在正在进行的2018杭州·云栖大会上说,“我们在芯片上,与发达国际和发达企业相距甚远。所以,我们要抓住一切可能‘换道超车’的机会。”

  可能很多人认为,AI芯片不过就是厂商们借AI正火,炒的一个噱头罢了。但事实上,AI芯片与传统芯片截然不同,智能产业真正的“刚需”品。而二者之间的差别,最主要就体现在性能和功耗方面。

  随着各应用场景对数据处理和传输速度要求的提高,如何能做到庞大数据的实时处理传输成为了行业亟待解决的问题。这方面,我们以百度的AI芯片“昆仑”与英伟达的传统芯片“Xavier”为例。

  在今年的百度开发者大会上,李彦宏称“昆仑”是迄今为止业内算力最高的AI芯片,能在100w以上的功耗提供260万亿次/秒的运算速度;而英伟达的“Xavier”,且算力大约是30万亿次/秒,功耗为30w。

  那么,如果是应用在移动智能设备上呢?最为典型的就是华为麒麟970了。这款芯片的最大的特征,就是设计了一个专门的AI硬件处理单元—NPU,用来处理海量的AI数据。HiAI移动计算架构让其AI性能密度大幅优于CPU和GPU。相较于四个Cortex-A73核心,在处理同样的AI应用任务时,麒麟970的能效达后者的50倍以上,而性能也有25倍的提升。这意味着,我们的手机,每分钟可以识别至少2000张图像。这是传统芯片很难做到的。

  我本人不是做芯片的,我是人工智能ai方向的。不过沾导师的光,曾经和寒武纪创始人陈家兄弟接触过。

  那时候距离寒武纪出来还有两年,我和陈云霁大佬坐一个出租车上,没话说贼尴尬。我就没话找话,问他老师您做什么的呀?他回答做深度学习芯片的。我又问深度学习我知道,深度学习芯片是干什么的?大佬的回答是,通过把深度学习的一些基本操作固化到硬件层面,从而更好地支持深度学习算法的运算。相对通用芯片效率更高,速度更快。

  人工智能究竟能给我们的生活带来什么?以我们最熟悉的手机为例,日常的拍照美颜已经稀松平常,但目前的自拍软件在拍摄完成后,需要上传到云端,通过通用模型来完成“一键美颜”。而移动端的 AI 芯片则可根据用户平时的喜好,在照片拍摄完成后(甚至拍摄之前的取景阶段)就同步完成照片美化,这对于现有的CPU来说是难以完成的。

  那么二者的差别在哪里呢?首先,传统芯片在运算时只需要根据指令来调用相应系统进行工作,而 AI 指令之下则包含大量并行计算与建模。这无疑对处理器的计算能力提出了很高要求。

  其次是移动端的数据收集能力,尤其是手机。优秀的 AI 应用要收集大量的数据来对模型进行训练,而手机无疑是最好的数据收集工具。随着诸如麦克风、摄像头、重力感应器、定位装置等越来越多的传感器加入手机中,一种能实时收集、同步处理、连接协调不同传感器的“人工智能”芯片就显得尤为重要。

  当然,一片在指甲盖大小的面积上集成了超过 55 亿个晶体管的 AI 芯片不可能只用来拍拍照这么简单。目前手机上已经有语音服务、机器视觉识别、图像处理等智能应用,未来还会增加包含医疗、AR、游戏 AI 等更多元化的应用类型。

  除了满足手机上的应用,未来AI芯片也将有机会拓展其他更有潜力的市场,最典型的例子的例子就是自动驾驶,特斯拉就在去年挖来了AMD的传奇架构师 Jim Keller开发自主的AI芯片。甚至在未来,上至火箭航天器、下至深海探测器,其上的控制系统所仰赖的芯片都将会越来越AI化。

  AI 算法一般对精度要求不高,例如 Google TPU、NVIDIA 的 Volta 都提供了 8 位计算精度用作 AI 加速,精度越低,能跑出来的吞吐率就越高。

  楼上不少答主给出了非常专业的论据和翔实的数据,已经回答的很好了。我在这里仅从一个门外汉的角度来回答一下答主想问的两个子问题。

  1.性能上和传统芯片有差异吗?【假设我做手机,我的产品使用AI芯片的话,无论从任何角度来说都胜过或者至少打平同价位的普通芯片吗】?

  CPU的强项在于,不管你的计算任务是什么,我都可以做,但是我的计算部件是有限的,所以一次做不了太多这样的计算。

  而所谓AI芯片的强项在于,有一堆可以专门执行神经网络计算的部件,只能做这么一件事,但是我的部件多,而且做这个计算的时候速度还快。

  还有一种人,只会一个公式,但是贼熟练,如果只用这个一个公式的时候,只需要前者百分之一的时间就能算出结果,这个就是AI芯片。

  所以问题就来了,一个手机上,需要用到“公式”有很多,首先必须有一个全能的芯片来做那些AI芯片不会算的公式。接下来才能讨论有没有AI芯片的影响。

  有AI芯片的情况下,假设它计算那条公式只需要0.01秒。那AI芯片算它会算的这10条,剩下的90条公式它不会,全部交给CPU算,那么总共要花10*0.01+90*1=90.1秒。

  比如我100条公式里有50条都是AI芯片会算的那条,那么只需要50*0.01+50*1=50.5秒就能算完了。

  但是也可能某些时候分配给他们的100条公式里,AI芯片会算的一条都没,那么不仅性能没提升,AI芯片就成了废物,费钱又费电。

  这就是我在开头说的,用不用AI芯片带来的收益和你具体的应用类型(即你这100条公式里有多少是AI芯片会算的)高度相关。如果没有合适的使用场景,加上AI芯片甚至会得不偿失。

  2.设计与制作上与传统芯片有差异吗?【中国的芯片研制工艺比不了国外,AI芯片能实现弯道超车吗?】

  且从上文的类比相信大家已经能明白,目前AI芯片是无法无法取代CPU的。尽管很多业界在做这样的探索,但是还不具备可以拿来给消费者使用的解决方案。所以这不是一个弯道超车的问题,CPU和AI芯片根本就是两个不同赛道上的比赛。目前我国在AI芯片这条赛道上正在紧张激烈地同第一梯队的其他选手竞争,谁胜谁负尚未可知。

  至于CPU,龙芯的胡伟武老师讲过这个问题,CPU是人家实打实的花时间迭代试错,花重金研发才堆叠到如今这个水平的。这里面都是扎扎实实的投入,没什么取巧的余地。不要总想着能弯道超车,要追就扎扎实实直线追赶。

  先直接点明结论,简单来说,传统芯片可被认为是大脑的一部分,做逻辑处理,在云端扮演者交警角色通过计算机来协调数据流;而AI芯片则更多的被视为加速器,在其特定领域处理任务时要强于传统芯片。

  在过去20年里,从PC到手机到今天IOT的设备,“计算从中央向边缘转移”和“智能化需求高度碎片化”是一个越来越显著的转移,数据处理向边缘转移会有很多好处比如更快的反应速度,更低的功耗以及更好的系统性价比;智能化的需求高度碎片化,则是因为需要在碎片化的情况下满足每一个个性化的需求。目前阶段整个终端的智能渗透率连1%都不到,各个细分领域的智能碎片化也存在较大的供给缺口,这对嵌入式AI公司来说是一个很好的机会(因为未来具有可见而又庞大落地需求)。

  对于需要AI赋能的客户来说,AI芯片的处理速度是他们的直接关注点。如果有心注意,我们 应该会发现很多家公司的AI产品介绍中,会在越来越明显的位置写到处理速度更快,而且还节省成本。

  除了越来越细分的应对场景和越来越快的处理速度,安全也是AI芯片面向市场的重中之重。以自动驾驶这一人工驾驶领域中的珠穆朗玛峰为例,我们是不可能把所有的数据处理都交给云端,因为一秒的网络延迟都可能导致出现事故。因此,对于AI芯片的出现,研究机构 Tirias Research 的分析师吉姆·麦格雷格(Jim McGregor)曾经这样表示:

  如果想要了解更多AI芯片的结构分类,欢迎点击阅读我们的大牛讲解篇——地平线谭洪贺:零基础看懂全球AI芯片-详解“xPU”

  什么叫传统芯片?有解码芯片,通讯芯片,蓝牙芯片,GPS芯片,NFC芯片,GPU芯片,CPU芯片。你说说什么叫传统芯片?AI芯片只不过是给AI相应的算法,如精神网络算法提供专用计算能力的专用电路,拿手机来说这不是单纯设计一个芯片的事情,而是整个大环境的问题,在一个没有任何应用会使用GPS的环境下我要个带GPS的手机干什么?在没有任何要用NFC的情况下在手机里加个NFC芯片不是增加成本么?现在人工只能的核心是算法,本质是让机器在非唯一解的复杂条件下更快的找到近似最优解。一般第一次结果离最优解相差很远,需要反复运算来无限接近最优解。可能用CPU来算要算3天,然而,直接做一个为专门算法服务的专门电路能大大提高运算速度,可能半天就算出来了。想做AI芯片,需要有相应的软件应用场景,架构,基带,外设方案,工业设计。等等,一家公司即使实力雄厚也并非易事,百度倒是买了个AI芯片,但相比关注AI芯片,更应该改关注百度的阿波罗平台。

  现在的某些人工只能就呵呵了,听说过那个什么银行的叫乐乐的人工智能要放假么?尼玛其实背后就是个开了变声器的远程客服。

 
关键词: ai芯片
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://www.31duo.com/news/show-171514.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4