6月20日,中星微“数字多媒体芯片技术”国家重点实验室在京宣布,中国首款嵌入式NPU(神经网络处理器)芯片诞生,目前已应用于全球首款嵌入式视频处理芯片“星光智能一号”。

据媒体称,“星光智能一号蕴含了当前计算机领域最前沿的生物人脑神经网络仿生学创新技术,且对严重依赖国外进口产品的中国集成电路产业来说,也是实现‘弯道超车’的一次踊跃尝试。它标志着我国在神经网络处理器领域的研究和开发上取得了重大突破;使我国视频监控行业发展由模拟时代、数字时代跨入智能时代,在全球确立领先地位。”

但笔者检索了“星光智能一号”相关的信息后,感觉媒体的报道非常值得商榷,所谓“中国首款嵌入式神经网络处理器”很有可能是一款可以运行神经网络的DSP,而非真正意义的神经网络专用芯片;神经网络处理器只是芯片行业的沧海一粟,承载“弯道超车”的历史任务太过夸张。

神经网络处理器并不能帮助中国摆脱芯片进口依赖

在媒体的报道中,声称星光智能一号是对严重依赖国外进口产品的中国集成电路产业实现“弯道超车”的一次踊跃尝试。言下之意就是中国可以依靠神经网络芯片实现对CPU、GPU、DSP、FPGA等进口芯片的国产化替代,使中国摆脱芯片进口依赖。

但实际上,神经网络处理器是数字芯片的一种,传统的数字芯片更多是面向特定应用的,完成特定的任务,比如视频编解码。而神经网络处理器则是面向深度学习,专门用于深度学习的应用的。虽然神经网络处理器在人工智能方面市场潜力巨大,但是并不是对传统CPU的颠覆。就目前的技术来看,神经网络芯片不可能在所有的应用上做得比传统CPU更好,仅仅在人工智能领域相对于传统CPU有优势,更像一款专用芯片。

即便将来借助异构计算技术被用于手机和PC,神经网络处理器的作用也只是完成诸如智能认知等功能,像运行数据库、科学计算、Office、微信等,神经网络处理器不可能比现有的传统CPU做得更好。因为即便是人类的大脑本身,很多事情也是做不过CPU的。

因此,传统CPU还会是今后计算机的核心,但是它只是一个关键,很多费时费力的任务会交到其它计算器件,比如DSP、FPGA、GPU、神经网络处理器去做。如果有人希望神经网络处理器芯片能替代自己家中PC上的Intel芯片和英伟达的显卡,以及手机中的ARM芯片,那只能是不切合实际的幻想。无论是前几个月受媒体热捧的“全球第一款深度学习处理器”中科院“寒武纪”芯片,还是新近发布的“中国第一款嵌入式神经网络处理器”“星光智能一号”芯片,都不能真正帮助中国摆脱对进口芯片的依赖,公众也不应抱过高期望,媒体亦不应言过其实。

“星光智能一号”很可能是DSP

“星光智能一号”真能实现“弯道超车”?-青年力

上图是星光智能一号发布的系统架构图。共包含四个NPU核,每个NPU核包含4个内核,每个内核有两个流处理器(Dataflow Processor),每个流处理器具有8个长位宽或16位宽的SIMD运算单元。每个NPU核的峰值性能为38Gops(16位定点)或者76Gops(8位定点)。除了多核流处理器本身用于完成卷积运算外,星光智能一号集成了一个超长指令字(VLIW)处理器用于完成神经网络中的超越函数等运算。另有256KB的L2Cache以及DMA模块用于大块数据的搬移。

从其低位宽的定点运算器推断,星光智能一号仅可支持神经网络正向运算,无法支持神经网络的训练。从片上存储结构看,星光智能一号基于传统的片上缓存(Cache),而非像最近流行的神经芯片或FPGA方案一样使用便签式存储。因此,在技术上看星光智能一号是典型的“旧瓶装新酒”方案,将传统的面向数字信号处理的DSP处理器架构用于处理神经网络(主要在运算器方面作了相应修改,例如低位宽和超越函数),而并非是“狭义的”神经网络专用处理器(如IBM的“真北”芯片)。笔者了解到这种用传统SIMD/DSP架构来适配神经网络的技术思想在国际上已有不少先例,甚至有成熟的产品,例如CEVA公司的XM4处理器、Cadence公司的Tensilica Vision P5处理器、Synopsys公司的EV处理器等。目前尚不清楚星光智能一号的架构与这些国际同行相比具体有何优势。

从峰值性能上看,星光智能一号比起英伟达的GPU、Google最近公布的张量处理器(TPU),以及中科院的寒武纪等智能ASIC领域内的早期玩家还有差距,即使比起嵌入式GPU(如英伟达和ARM的产品)来说都有数量级的差距。从运算效率上看,尚不清楚星光智能一号的结构是否真正适合神经网络运算(例如,根本就没有硬件神经元)。或许是由于这个原因,中星微方面未公布其神经网络运算的实测速度,更没有给出它和英特尔CPU、ARM CPU、英伟达 GPU或者海思、展讯或英伟达的终端SoC等的性能和功耗比较结果。这也就无从说明星光智能一号在技术和市场上的领先优势何在。也许中国公司应该改变喊口号式、吸引眼球式的宣传方式,更多地从实际性能方面去推广自己的产品。

应用领域和神经网络专用处理器有差距

神经网络是一大类借鉴人脑神经元组织方式的算法的总称,目前可用于解决机器视觉、听觉和自然语言处理等领域的实际问题。目前星光智能一号适用于哪些神经网络类型尚不清楚,但从其宣传材料看主要用于卷积神经网路(CNN),而对循环神经网络(RNN)和长短期记忆网络(LSTM)等处理语音和自然语言的网络没有提及。结合星光智能一号用于安防监控的表述,笔者猜测可能星光智能一号暂时只面向机器视觉任务,而不能用于语音和自然语言类的问题。

结语

根据现有的资料来看,星光智能一号在架构方面本质上仍然是传统的类DSP架构,并未针对神经网络的特点进行专门的架构优化。其架构主要面向数字信号处理,并非是真正意义上的神经网络专用处理器,且国际上已有类似用途的商用DSP产品出现(如CEVA公司的XM4处理器、Cadence公司的Tensilica Vision P5处理器、Synopsys公司的EV处理器等)。

在应用领域方面目前主要支持卷积神经网络的运算(仅支持正向运算,不支持训练),主要用于机器视觉领域,可能难以应用到语音识别、文本处理和自然语言理解等领域。

从峰值性能上看,星光智能一号比起国内外竞争对手有数量级的差距。或许是这个原因,相关公司的介绍材料未能给出星光智能一号和竞品(如英伟达的嵌入式SoC芯片)的实测性能比较。

目前国际和国内已有众多机构开始研制人工智能处理器,有高校、科研机构,也有商业公司。星光智能一号是中国公司的一次有益尝试,是业界喜闻乐见的好事。但科技界和媒体不宜盲目乐观,过分夸大。特别是在目前万众创新的环境下,中国公司应当扎扎实实提升技术能力,做到全世界第一,而非靠一些似是而非的概念包装炒作。在这方面,最佳的典型案例就是最近国家公布的神威太湖之光超算——神威太湖之光就是中国科研工作者十余年卧薪尝胆低调磨砺的结果,其踏实低调的作风值得中国芯片行业的同行学习。

至于星光智能一号能否实现在技术上和商业上的成功——在市场上生存发展,在嵌入式领域战胜国外的高通和英伟达,国内的联发科、海思和展讯等诸多竞争对手,还有待时间检验。

(作者微信公众号:tieliu1988)