干货:处理AI任务哪家强?华为、英伟达、英特尔给出了不同答卷

随着人工智能技术在智能设备上的应用和普及,能够进行深度学习的AI芯片也成为芯片行业追逐的焦点。近些年来,谷歌、IBM、中科院、英伟达、华为等科技巨头先后发布了AI芯片,有的基于传统芯片优化升级,拥有深度学习功能的“全新”CPU、GPU、DSP;还有创新打造的专用于AI计算的NPU。同样可以处理AI人物,到底哪种芯片更适用于深度学习,CPU、GPU、DSP、NPU到底有什么区别,今天神硅君简单为大家科普下。

CPU、GPU:进行AI计算就像语文老师兼职教数学

在人工智能领域,相对于CPU,GPU是较先发力的。GPU既图形处理器,视觉处理器,是一种专门在个人电脑、工作站、游戏机和一些移动设备上图像运算工作的微处理器。随着AI技术的发展,日常处理中AI任务增多,很多GPU厂商逐渐进入AI领域。比如英伟达专门推出的为数据中心服务的计算卡NVIDIA Tesla系列GPU,就是主要针对CAD、生物信息学、运算中心等需要大量数据处理的领域,利用复杂的神经网络来实现深度学习功能。

CPU既中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。相比于GPU,CPU更像是一个“总控”,在计算方面并不擅长。在AI领域中,Intel吸取了GPU的优势,是众核芯片中做得比较好的,但计算效果依然不如GPU。

干货:处理AI任务哪家强?华为、英伟达、英特尔给出了不同答卷

不过即使如此,无论针对人工智能的众核芯片还是定制版的GPU,本质上都不是专用处理器,实际上是拿现有的、相对成熟的架构和技术成果进行了调整,使芯片更适用于人工智能,本质上并没有发生革命性的技术突破。

如果用形象的比喻来描述CPU、GPU处理AI任务的情景,就像是语文老师在数学,无论在文学造诣多么出色,去兼顾不熟悉的学科也未必能够做好。或许现阶段确实可以勉强完成AI任务,但是随着AI数据不断增多AI应用体量不断增大,未来会有一定压力。

DSP:和真正神经网络芯片依然有差距

DSP全称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。是一种独特的微处理器,它有自己的完整指令系统,通过指令和数据工作,开发遵循嵌入式软件的设计原则,更注重于算法的实现。

2016年6月20日,中星微“数字多媒体芯片技术”国家重点实验室在京宣布,中国首款嵌入式NPU(神经网络处理器)芯片诞生,并且应用于全球首款嵌入式视频处理芯片“星光智能一号”。不过,这款芯片仅支持网络正向运算,无法支持神经网络训练,而通过星光智能一号发布的系统架构图来看,这其实是一款可以运行神经网络的DSP,并非真正意义上的专门处理神经网络的芯片。

干货:处理AI任务哪家强?华为、英伟达、英特尔给出了不同答卷

如图能够看出,架构中共包含四个NPU核,每个NPU核包含4个内核,每个内核有两个流处理器,每个流处理器具有8个长位宽或16位宽的SIMD运算单元。在技术上星光智能一号是典型的“旧瓶装新酒”方案,将传统的面向数字信号处理的DSP处理器架构用于处理神经网络,主要在运算器方面作了相应修改,例如低位宽和超越函数,而并非是“狭义的”神经网络专用处理器。

DSP处理AI应用的性能如何呢?其实,DSP 已经存在了很长一段时间,它最初是用来执行矩阵算法的。但到目前为止,DSP 还没能真正提供任何有用的性能,大约从 2006 年开始,DSP的性能已经被英伟达的GPU超越,更不用说与专用的人工智能处理芯片相比了。

为处理深度学习而生的NPU:专项专用效果最好

NPU既神经网络处理器,是专门为深度学习而生的芯片,能够直接处理大规模的神经元和突触,一条指令完成一组神经元的处理。相比于CPU中采取的存储与计算分离的冯诺伊曼结构,NPU通过突触权重实现存储和计算一体化,从而大大提高了运行效率。

NPU的典型代表有国内的寒武纪芯片和IBM的TrueNorth。近日,华为在华为全联接(HC)大会发布了两款AI芯片,Ascend 910和Ascend 310,这两款芯片同样具备专为深度学习而生的NPU。其中,Ascend 310采用针对AI计算特点而设计的全新Da Vinci计算架构,以高性能3D Cube计算引擎为基础,针对矩阵运算进行加速,大幅提高单位功耗下的AI算力,每个AI Core可以在一个时钟周期内实现4096个MAC操作,相比传统的CPU和GPU实现数量级的提升。

干货:处理AI任务哪家强?华为、英伟达、英特尔给出了不同答卷

其实如果你对NPU的概念实在陌生,那应该听说过麒麟芯片。从去年的麒麟970到今年的麒麟980,SoC芯片内部都加入了独立的AI处理单元NPU,大幅度提升手机芯片的AI处理能力。

最后,综合来看到底哪一种芯片更适合处理AI任务呢?从芯片的处理单元上可以非常直观的看出区别,传统芯片中无论是CPU、GPU还是DSP都不是以硬件神经元和突触为基本处理单元的,这使得他们在处理AI任务时要比NPU慢很多。在芯片集成度以及工艺制造水平相当的情况下,最适合处理AI任务的肯定是NPU。

并且随着AI的应用领域不断扩展,AI应用逐渐增多,AI计算力的需求也成爆发式增长,相对于CPU、GPU、DSP等“兼职”芯片,专注处理AI数据的NPU将成为未来AI计算领域的主导。


分享到:


相關文章: