CPU、GPU:用轿车运货
在英伟达开发出针对人工智能的定制GPU,并坚持DGX-1 系统之后,Intel也不甘落后,在收购深度学习创业公司 Nervana Systems之后,Intel也公布了用于深度学习的Xeon Phi家族新成员,在深度学习处理器领域开辟新战场。
在不久前,Intel还发布了一些Xeon Phi 的基准测试结果,其声称内容总结如下:
1、四片 Knights Landing Xeon Phi 芯片比四片 GPU要快 2.3 倍;
2、在多节点系统中, Xeon Phi 芯片的能比 GPU 更好地扩展38% ;
3、128 块 Xeon Phi 的服务器组成的系统要比单块 Xeon Phi 服务器快 50 倍,暗示着 Xeon Phi 服务器的扩展性相当好;
4、使用Intel优化版的 Caffe 深度学习框架时,Xeon Phi 芯片要比标准 Caffe 实现快 30 倍。
一言蔽之,Intel的众核芯片在深度学习上比英伟达的GPU更为高效。
不过,英伟达也随之反击,声称这是Intel使用了其旧的基准测试结果,并表示:
1、如果英特尔使用更新一点的 Caffe AlexNet 实现结果的话,它就会发现四块上代英伟达 Maxwell GPU 实际上比四块英特尔 Xeon Phi 服务器集群快 30%。
2、另外,一旦英伟达的 GPU 从 28nm 的平面工艺转移到 16nm 的 FinFET 工艺上时,GPU的性能和效率还会有很大的提升。
3、对于深度学习,英伟达还强调更少的高性能节点无论如何都会比更多低性能节点好。并以其最新的 DGX-1为例,认为DGX-1比 21 个 Xeon Phi 服务器集群快一点,比四个 Xeon Phi 服务器集群快 5.3 倍。
笔者认为,Intel的众核芯片也在一定程度上吸取了GPU的优势,性能不俗,但短时间看还是GPU有优势。不过,无论是针对人工智能的众核芯片还是定制版的GPU,本质上都不是专用处理器,实际上是拿现有的、相对成熟的架构和技术成果去应对新生的人工智能,并没有发生革命性的技术突破。
DSP:和真正神经网络芯片有差距
6月20日,中星微“数字多媒体芯片技术”国家重点实验室在京宣布,中国首款嵌入式NPU(神经网络处理器)芯片诞生,目前已应用于全球首款嵌入式视频处理芯片“星光智能一号”。 不过,在经过仔细分析后,所谓“中国首款嵌入式神经网络处理器”很有可能是一款可以运行神经网络的DSP,而非真正意义的神经网络专用芯片。
从其低位宽的定点运算器推断,星光智能一号仅可支持神经网络正向运算,无法支持神经网络的训练。从片上存储结构看,星光智能一号基于传统的片上缓存(Cache),而非像最近流行的神经芯片或FPGA方案一样使用便签式存储。因此,在技术上看星光智能一号是典型的“旧瓶装新酒”方案,将传统的面向数字信号处理的DSP处理器架构用于处理神经网络,主要在运算器方面作了相应修改,例如低位宽和超越函数,而并非是“狭义的”神经网络专用处理器,如IBM的“真北”芯片。
NPU:为深度学习而生的专业芯片
从技术角度看,深度学习实际上是一类多层大规模人工神经网络。它模仿生物神经网络而构建,由若干人工神经元结点互联而成。神经元之间通过突触两两连接,突触记录了神经元间联系的权值强弱。
另外,神经网络中存储和处理是一体化的,都是通过突触权重来体现。 而冯·诺伊曼结构中,存储和处理是分离的,分别由存储器和运算器来实现,二者之间存在巨大的差异。当用现有的基于冯·诺伊曼结构的经典计算机(如X86处理器和英伟达GPU)来跑神经网络应用时,就不可避免地受到存储和处理分离式结构的制约,因而影响效率。这也就是专门针对人工智能的专业芯片能够对传统芯片有一定先天优势的原因之一。
CPU、GPU与NPU相比,会有百倍以上的性能或能耗比差距
就现阶段而言,传统芯片厂商(如CPU、GPU和DSP)对于深度学习市场非常重视,因此利用他们巨大体量和市场推广、销售能力,大力推广用这些传统芯片来进行深度学习处理,其本质上也是对现有的技术进行微调,用传统SIMD架构来适配神经网络。
然而,由于传统CPU、GPU和DSP本质上并非以硬件神经元和突触为基本处理单元,相对于NPU在深度学习方面天生会有一定劣势,在芯片集成度和制造工艺水平相当的情况下,其表现必然逊色于NPU。