第三届世界互联网大会于2016年11月16日在浙江乌镇召开,并举办了领先科技成果发布会。其中中国最引人注目的就是中国科学院计算技术研究所发布了寒武纪深度神经网络处理器,听起来很高大上,那么到底这颗深度神经网络处理有什么过人之处?
寒武纪神经网络处理器样片
人工神经网络就是一种模仿生物神经网络结构特点的计算机算法,最基本的特征就是模仿大脑神经元之间传递模式,并对输入的信息进行快速处理。而每一个神经元都自己独特的激励函数,用于处理计算来自其他相领的神经元加权输入值,并且用加权值神经元之间的信息传递强度来定义。人工神经网络算法最大不同是可以不断自我学习,通过大量样本数据进行训练调整传递加权值,改善自身拓扑结构,使得算法更加高效,广泛适用于人工智能领域,目前像是谷歌的Alpha Go、百度的语音识别和自动驾驶、阿里巴巴仿真机器人都是大量使用到人工神经网络算法。
如果用人话对人工神经网络进行概括性描述就是:非线性、并行计算、自适应、可学习、要大量训练。
但是如果采用通用型处理器进行深度神经网络计算就显得效率低下,中科院计算技术研究所的陈天石就举出一个例子,谷歌与斯坦福大学合作,利用16000个处理器核构建了一个10亿神经突出的深度神经网络,耗时多日才完成猫脸识别。
目前通用型处理器都是基于冯诺依曼结构,其存储和运算处理是分离的,需要大量读写运行操作的深度神经网络,不可避免受到了传输数据带宽的制约,效率低下。
另外随着科学技术发展,通用型处理器已经不能满足各式各样需求,走上了专用细分的道理,GPU负责图形处理,DSP负责信号处理,而神经网络处理器就负责各式各样的智能识别任务。
因此中国科学院计算技术研究所和寒武纪公司提出采用专门的硬件神经元,设计高速连接的专门的存储结构,采用适用于神经网络算法的专用指令集。开发了寒武纪系列神经网络处理器:单核神经网络处理器结构的DianNao,超大规模神经网络的多核处理器结构的DaDianNao,面向多种机器学习算法的PuDianNao。
最新推出的寒武纪-1A(Cambricon-1A)商用智能处理器,集成到终端SoC芯片,每秒可处理160亿个虚拟神经元,每秒峰值运算能力达2万亿虚拟突触,性能比通用处理器高两个数量级,功耗降低了一个数量级。
而最新开发的神经网络处理器指令集DianNaoYu则是参照RISC(精简指令集)设计思想,所有指令长度都是64bit,有效简化指令译码器的负担,减少功耗以及芯片面积。一条指令既可以完成一组神经元处理,优化了计算数据在芯片上的传输,模拟实验表明,采用DianNaoYu指令集的深度神经网络处理器相对X86指令集处理器有两个数量级的性能提升。
人工智能作为互联网下一个风口,寒武纪-1A处理器应该说很好适应了这样的场景需求,可以做到基于神经网络算法的语音识别、机器视觉、自然语言理解、视频图像搜索等等现今难以完美实现的需求,更有可能走入寻常百姓家的数码产品、电器、嵌入式终端上。