如何看待中科院计算所的Cambricon-X稀疏深度学习处理器

如何看待中科院计算所的Cambricon-X稀疏深度学习处理器,第1张

在Google I/O 2016的主题演讲进入尾声时,Google提到了一项他们这段时间在AI和机器学习上取得的成果,一款叫做Tensor Processing Unit(张量处理单元)的处理器,简称TPU。

根据TPU团队主要负责人介绍,TPU专为Google机器学习应用TensorFlow打造,能够降低运算精度,在相同时间内处理更复杂、更强大的机器学习模型并将其更快地投入使用。Google数据中心早在一年前就开始使用TPU,其性能把摩尔定律往前推进到7年之后。之前打败李世乭的AlphaGo就是采用了TPU做了运算加速。

根据Google所言,TPU只在特定应用中作为辅助使用,公司将继续使用CPU和GPU。并且Google并没有对外销售TPU的打算。因此,TPU虽好,但仅限Google内部,而且即便使用TPU,也是用作辅助CPU和 GPU。

谷歌并没有公布TPU是怎么设计的,因此似乎很难对其一探究竟。不过,要知道谷歌的TPU并不是什么黑科技,只不过是正常的一款专用加速芯片。而且,这也不是世界上第一款用来做深度学习的专用芯片。IBM和我国中科院其实都有类似成果。

IBM 在2014年研发出脉冲神经网络芯片TrueNorth,走的是“类脑计算”路线。类脑计算的假设是,相似的结构可能会出现相似的功能,所以假如用神经电子元件制造与人脑神经网络相似的电子神经网络,是否可能实现人脑功能呢?这其实有点像人类研究飞行器的过程。我们都知道鸟会飞是因为有翅膀,人没有。所以假如给人也弄一对翅膀,人是不是也能飞?

早先人类其实有这么一个探索过程。如今人类要探索大脑,但是大脑何其复杂?IBM的这款芯片就是通过打造类脑的芯片架构,来期望得到大脑同样的功能,就算达不到,能模拟一下也很有意义。大意如此,当然实际上复杂多了。目前这款芯片理念很超前,还处于深入研究阶段,算得上是黑科技。

今天要重点讲的其实是中科院的这款“寒武纪”芯片。2016年3月,中国科学院计算技术研究所发布了全球首个能够“深度学习”的“神经网络”处理器芯片,名为“寒武纪”。该课题组负责人之一、中科院计算所陈天石博士透露,这项成果将于今年内正式投入产业化。在不久的未来,反欺诈的刷脸支付、搜索等都将更加可靠、易用。下图是“寒武纪”的芯片板卡。

之所以重点讲,是因为Google的TPU芯片并没有公开设计细节,连是谁代工的都没有公开。但是同样作为深度学习的芯片,有理由相信中科院的“寒武纪”与Google的TPU在设计理念上是相同的。在讲这个之前,先简单科普一下人工智能和深度学习。

1981年的诺贝尔医学奖,颁发给了David Hubel和Torsten Wiesel,以及Roger Sperry。前两位的主要贡献是,发现了人的视觉系统的信息处理是分级的。如下图所示:从原始信号摄入开始(瞳孔摄入像素),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定眼前物体的形状,比如是椭圆形的),然后进一步抽象(大脑进一步判定该物体是张人脸),最后识别眼前的这个人。

而深度学习(Deep Learning),恰恰就是模仿人脑的机制来解释数据。通过组合低层特征形成更加抽象的高层特征(或属性类别)。例如,在计算机视觉领域,深度学习算法从原始图像去学习得到一个低层次表达,例如边缘检测器、小波滤波器等,然后在这些低层次表达的基础上,通过线性或者非线性组合,来获得一个高层次的表达。此外,不仅图像存在这个规律,声音也是类似的。比如,研究人员从某个声音库中通过算法自动发现了20种基本的声音结构,其余的声音都可以由这20种基本结构来合成!

对于深度学习来说,其思想就是堆叠多个层,上一层的输出作为下一层的输入。深度神经网络由一个输入层,数个隐层,以及一个输出层构成。每层有若干个神经元,神经元之间有连接权重。每个神经元模拟人类的神经细胞,而结点之间的连接模拟神经细胞之间的连接。

当然了,以上这些原理都不是重点。我们只需要明白深度神经网络模拟了大脑的神经网络,上图的每个圈圈都类似大脑的一个神经元。通过采用专用芯片进行神经元的运算加速,相比于采用CPU这种通用运算器,可以大大提高神经网络的性能。根据“寒武纪”芯片的介绍,它可以一条指令完成多个神经元的并行处理。据此推断,Google的TPU很有可能也是这么设计的,也就是说,支持一条指令完成神经元的多次计算。

“寒武纪”专用处理器还有配套的指令集,叫Cambricon。我们知道,指令集乃是一个处理器架构的核心。知道了一款处理器实现了哪些指令,其实也就知道了这款处理器适合做什么,也大概知道了这款处理器的硬件设计。

Cambricon指令集的特点是单指令可以做完一次向量或矩阵运算,因此假如我们知道了深度学习的具体算法,那么其实也就知道了每个神经元可以规约为何种向量或矩阵运算,其实也就推断出了Cambricon的指令集。以此类推,如果我们知道了Google的深度学习算法,假设也是每条指令实现多个神经元相关的向量或矩阵运算,那么其实也能推断出TPU的指令集。这种假设应该是很有道理的,毕竟把一个神经元的计算打包成一条指令,是非常科学合理的专用加速设计方案。

可以看到,整个系统连接了两块图像传感器,传感器采集到的图像通过Camera Serial Interfaces(CSI)接口连接到Video pipeline处理单元,进行Bayer重建、白平衡、降噪、压缩等等图像处理。

而ShiDianNao则在该系统中进行深度学习的模式识别,它内部实现了一个深度神经网络,经训练之后具有类似人类大脑一样的识别能力,可以从图像中识别出有一只猫,然后将识别出“猫”的信息通过GPIO/I2C接口输出给主机。整个系统用一款微处理器做控制,协调各个部件的运行。整个系统的数据存储,使用了256KB的SRAM,为了节省功耗,并提高性能,并没有使用DRAM。

下图给出了ShiDianNao处理器的深度神经网络的架构。根据文献介绍,NBin是输入神经元的缓存,NBout是输出神经元的缓存,SB是突触的缓存。核心部件是NFU(neural functional unit)单元,它负责实现一个神经元的功能。ALU是数值运算单元,IB(decoder forinstructions)是指令译码器。

之前讲过,深度神经网络加速芯片的最大特点就是单指令可以完成多个神经元的计算。因此神经元计算单元的实现,就是这款加速芯片的核心。根据文献介绍,每个NFU又是一个阵列,包含一堆PE单元。每个NFU单元实现了16bit x 16bit的定点整数乘法,相比于浮点乘法,这会损失一部分运算精度,但是这种损失可以忽略不计。

由此,我们就自上而下的看完了整个ShiDianNao的架构设计。由于Google并没有公布TPU的设计,中科院和寒武纪公司亦没有公开商用的寒武纪芯片的具体架构,因此我们只能大概根据中科院前些年与法国和瑞士的合作者在学术界公开发表的ShiDianNao架构进行推断(我们假设寒武纪商用芯片和前些年的学术工作ShiDianNao在架构上有一脉相承之处,毕竟中科院计算所陈天石团队的成员都是主要架构师或论文的第一作者)。

根据ShiDianNao架构的论文描述,结合之前的论述,我们可以大致得出以下猜测:

(1)Google的TPU很有可能也是单指令完成多个神经元的计算。

(2)知道了Google的机器学习算法,就可以推断出TPU支持的指令集。

(3)根据Google对TPU的描述“能够降低运算精度”,猜测TPU内部可能也是采用更低位宽的定点或浮点乘法,虽然具体位宽未知。

(4)乘累加单元搭建的向量或矩阵指令仍然是基础运算的核心。

(5)Google强调TPU有领先7年的性能功耗比(十倍以上的提升),据此猜测,TPU可能也没有使用DRAM做存储,可能仍然使用SRAM来存储数据。但从性能功耗比提升量级上看,还远未达到专用处理器的提升上限,因此很可能本质上采用的是数据位宽更低的类GPU架构,可能还是具有较强的通用性。

神经网络模型的分类

人工神经网络的模型很多,可以按照不同的方法进行分类。其中,常见的两种分类方法是,按照网络连接的拓朴结构分类和按照网络内部的信息流向分类。

1 按照网络拓朴结构分类

网络的拓朴结构,即神经元之间的连接方式。按此划分,可将神经网络结构分为两大类:层次型结构和互联型结构。

层次型结构的神经网络将神经元按功能和顺序的不同分为输出层、中间层(隐层)、输出层。输出层各神经元负责接收来自外界的输入信息,并传给中间各隐层神经元;隐层是神经网络的内部信息处理层,负责信息变换。根据需要可设计为一层或多层;最后一个隐层将信息传递给输出层神经元经进一步处理后向外界输出信息处理结果。

而互连型网络结构中,任意两个节点之间都可能存在连接路径,因此可以根据网络中节点的连接程度将互连型网络细分为三种情况:全互连型、局部互连型和稀疏连接型

2 按照网络信息流向分类

从神经网络内部信息传递方向来看,可以分为两种类型:前馈型网络和反馈型网络。

单纯前馈网络的结构与分层网络结构相同,前馈是因网络信息处理的方向是从输入层到各隐层再到输出层逐层进行而得名的。前馈型网络中前一层的输出是下一层的输入,信息的处理具有逐层传递进行的方向性,一般不存在反馈环路。因此这类网络很容易串联起来建立多层前馈网络。

反馈型网络的结构与单层全互连结构网络相同。在反馈型网络中的所有节点都具有信息处理功能,而且每个节点既可以从外界接受输入,同时又可以向外界输出。

一个人在出生之前,脑中就有几乎亿个神经元,而神经元之间的连接网络则是十分稀疏的。因为婴儿还没有意识和思考,外界的逐步连接网络。任何外界的,如声音、景物、身体活动,都会使得脑里某些神经元的树突和轴突生长,与其他神经元连接,构成新的网络。同样的第二次出现时,会使第一次建立的网络再次活跃。一个人的一生之中,不断有新的网络产生出来,同时有旧的网络萎缩、消失。得精神病的生理原因还在研究中。目前一般认为神经纤维释放的化学递质

(1)胆碱,

(2)去甲肾上腺素,

(3)多巴胺,

(4)5-羟色胺等等物质在脑中不平衡。所以不能说一个人活跃神经元比较少更容易得精神病。

寥落的词语解释是:寥落liáoluò。(1)稀疏;稀少;冷落。

寥落的词语解释是:寥落liáoluò。(1)稀疏;稀少;冷落。词性是:形容词。拼音是:liáoluò。注音是:ㄌ一ㄠ_ㄌㄨㄛ_。结构是:寥(上下结构)落(上下结构)。

寥落的具体解释是什么呢,我们通过以下几个方面为您介绍:

一、引证解释点此查看计划详细内容

⒈稀疏;稀少。引《文选·谢_<京路夜发>诗》:“晓星正寥落,晨光_泱漭。”李善注:“寥落,星稀之貌也。”唐谷神子《博异志·崔无隐》:“渐暮,遇寥落三两家,乃欲寄宿耳。”清钱泳《履园丛话·臆论·五福》:“今人既寿矣,既富矣,而不康_,以后子孙寥落,讼狱频仍,或水火为灾,或盗贼时发,则亦何取乎寿富哉!”⒉衰落;衰败。引晋陶潜《和胡西曹示顾贼曹》:“悠悠待秋稼,寥落将赊迟。”清魏源《默觚下·治篇三》:“南阳、洛阳、晋阳、凤阳,今日寥落之区,昔日云龙风虎之地,地气随人气而迁也。”⒊冷落;冷清。引唐元稹《行宫》诗:“寥落古行宫,宫花寂寞红。”宋司马光《和道矩红梨花》之一:“繁枝细叶互低昂,香敌酴__海棠。应为穷边太寥落,_将春色付_芳。”清和邦额《夜谭随录·梁生》:“此为孙布政家废园,人_罕到,虽有人家,亦甚隔_寥落。”曹禺《北京人》第二幕:“间或也有女人或者小孩的声音,这是在远远寥落的长街上凄凉地喊着的漫长的叫卖声。”⒋谓孤单;寂寞。引唐张九龄《南还以诗代书赠京都旧寮》:“去国诚寥落,经途弊险_。”元乔吉《水仙子·雨窗即事》曲:“客怀寥落雨声中,春事商量花信风。”清周亮工《送汪舟次游庐山序》:“吾友舟次汪子负磊落才,今秋不得於有司,别予归维扬,念予寥落,忽_渡江相慰。”

二、国语词典

稀疏。词语翻译英语sparse,fewandfarbetween德语verstreuen(V)_

三、网络解释

寥落寥落,汉语词汇。拼音:liáoluò4谓孤单;寂寞。指1、稀疏;稀少;2、冷落。3衰落;衰败。4谓孤单;寂寞。语出《文选·谢_诗》:“晓星正寥落,晨光复泱漭。”

关于寥落的近义词

稀疏零落稀少

关于寥落的反义词

稠密繁多

关于寥落的诗词

《溪行·秋色已寥落》《客居·寥落空山里》《朔管·寥寥落何处》

关于寥落的诗句

闲花无人悲寥落从来寥落意寥落烟墟返牧羊

关于寥落的成语

落落晨星落落大方落落寡合磊磊落落落落穆穆落落之誉

关于寥落的词语

寥落星辰寥若晨星寥若星辰

关于寥落的造句

1、寥落灯几许,不堪魂一人。

2、那寥落的枫叶如雪花一样缓缓飘落,轻声叹息着。

3、凡我所编辑的期刊,大概是因为往往有始无终之故罢,销行一向就甚为寥落。

4、怅卧新春白夹衣,白门寥落意多违。红楼隔雨相望冷,珠箔飘灯独自归。

5、势易尽者若冰山,事相悬者如天壤。晨星谓贤人寥落,雷同谓言语相符。

点此查看更多关于寥落的详细信息

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/12157529.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存