• 1.摘要
  • 2.产品介绍
  • 3.市场前景
  • 4.参考资料

寒武纪

10
神经网络处理器

寒武纪,神经网络芯片,目标是实现人工智能。

产品介绍

目前,寒武纪系列已包含三种原型处理器结构:

寒武纪1号(英文名DianNao,面向神经网络的原型处理器结构);

寒武纪2号(英文名DaDianNao,面向大规模神经网络);

寒武纪3号(英文名PuDianNao,面向多种机器学习算法)。

DianNao是寒武纪系列的第一个原型处理器结构,包含一个处理器核,主频为0.98GHz,峰值性能达每秒4520亿次神经网络基本运算,65nm工艺下功耗为0.485W,面积3.02mm2。在若干代表性神经网络上的实验结果表明,DianNao的平均性能超过主流CPU核的100倍,但是面积和功耗仅为1/10,效能提升可达三个数量级;DianNao的平均性能与主流GPGPU相当,但面积和功耗仅为主流GPGPU百分之一量级。

DianNao的核心问题是如何让有限的内存带宽喂饱运算功能部件,使得运算和访存平衡,从而达到高效能比。难点在于选取运算功能部件的数量、组织策略以及片上RAM的结构参数。由于整个结构参数空间有上千万种选择,模拟器运行速度不及真实芯片的十万分之一,不可能蛮力尝试各种可能的设计参数。为解决此问题,使用了一套基于机器学习的处理器性能建模方法,并基于该性能模型最终为DianNao选定了各项设计参数,在运算和访存间取得了平衡,显著提升了执行神经网络算法时的效能。

即便数据已经从内存取到了片上,搬运的能耗依然非常高。NVidia首席科学家Steve Keckler曾经指出,在40nm工艺下,将64位数据搬运20毫米所花的能耗是做64位浮点乘法的数倍。

因此,要降低处理器功耗,仅仅降低运算功耗是不够的,必须优化片上数据搬运。中科院计算所提出对神经网络进行分块处理,将不同类型的数据块存放在不同的片上RAM中,并建立理论模型来刻画RAM与RAM、RAM与运算部件、RAM与内存之间搬运次数,进而优化神经网络运算所需的数据搬运次数。相对于CPU/GPU上基于cache层次的数据搬运,DianNao可将数据搬运减少10~30倍。

(DianNao结构)

DaDianNao在DianNao的基础上进一步扩大了处理器的规模,包含16个处理器核和更大的片上存储,并支持多处理器芯片间直接高速互连,避免了高昂的内存访问开销。在28nm 工艺下,DaDianNao的主频为606MHz,面积67.7 mm2,功耗约16W。单芯片性能超过了主流GPU的21倍,而能耗仅为主流GPU的1/330。64芯片组成的高效能计算系统较主流GPU的性能提升甚至可达450倍,但总能耗仅为1/150。

虽然神经网络已成为模式识别等领域的主流算法,但用户很多时候可能倾向于使用其他一些经典的机器学习算法。

例如程序化交易中经常使用线性回归这类可解释性好、复杂度低的算法。在此背景下,寒武纪3号多用途机器学习处理器PuDianNao应运而生,当前已可支持k-最近邻、k-均值、朴素贝叶斯、线性回归、支持向量机、决策树、神经网络等近十种代表性机器学习算法。PuDianNao的主频为1GHz,峰值性能达每秒10560亿次基本操作,面积3.51mm2,功耗为0.596W(65nm工艺下)。PuDianNao运行上述机器学习算法时的平均性能与主流GPGPU相当,但面积和功耗仅为主流GPGPU百分之一量级。

市场前景

在上世纪80年代,因人工智能无法达到公众/投资人的预期,导致整个行业陷入低谷。

近年来,随着算法、应用和工艺三个方面都发生了剧烈的变化,神经网络处理器涅磐重生。

2006年, Hinton、LeCun和Bengio等人提出了深度学习方法,在深层人工神经网络的训练上取得了巨大的突破。

简单地说,深度学习方法在传统的人工神经网络训练中增加了一个预训练阶段,即用无监督学习对每一层网络进行一次专门的训练,然后才用有监督学习对整个网络进行总体训练。通过深度学习方法,人工神经网络的效果一举赶上甚至显著超过了支持向量机等其他机器学习方法,在IBM、谷歌、微软、科大讯飞、百度等公司很多工业级图像和语音处理应用上取得了非常好的效果。

为什么深度学习会有效,暂时还没有传统的统计学习理论方面的完美证明。目前一种比较直观的的解释是:分层预训练相当于对输入数据进行逐级抽象,这暗合生物大脑的认知过程比较(例如人脑就是一种深层的神经网络,在认知过程中会逐层将看到的原始图像或听到的原始声波最终抽象成语义符号)。