在过去的2016年,在计算机产业来说,相信没有一个概念比人工智能更热门。跨入2017年,专家们表示,人工智能生态圈的需求增长会更加迅猛。主要集中在为深度神经网络找寻性能和效率更适合的“引擎”。
现在的深度学习系统依赖于软件定义网络和大数据学习产生的超大型运算能力,并靠此来实现目标。但很遗憾的是,这类型的运算配置是很难嵌入到那些运算能力、存储大小、和带宽都有限制的系统中(例如汽车、无人机和物联网设备)。
这就给业界提出了一个新的挑战,如何通过创新,把深度神经网络的运算能力嵌入到终端设备中去。
Movidius公司的CEO Remi El-Ouazzane在几个月前说过,将人工智能摆在网络的边缘将会是一个大趋势。
在问到为什么人工智能会被“赶”到网络边缘的时候,CEA Architecture Fellow Marc Duranton给出了三个原因:分别是安全、隐私和经济。他认为这三点是驱动业界在终端处理数据的重要因素。他指出,未来将会衍生更多“将数据转化为信息”的需求。并且这些数据越早处理越好,他补充说。
CEA Architecture Fellow Marc Duranton
设想一下,假如你的无人驾驶汽车是安全的,那么这些无人驾驶功能就不需要长时间依赖于联盟处理;假设老人在家里跌倒了,那么这种情况当场就应该检测到并判断出来。考虑到隐私原因,这些是非常重要的,Duranton强调。
但这并不意味着收集家里十个摄像头的所有图片,并传送给我,就称作一个号的提醒。这也并不能降低“能耗、成本和数据大小”,Duranton补充说。
从现在的情景看来,芯片供应商已经意识到推理机的增长需求。包括Movidus (Myriad 2), Mobileye (EyeQ 4 & 5) 和Nvidia (Drive PX)在内的众多半导体公司正在角逐低功耗、高性能的硬件加速器。帮助开发者更好的在嵌入式系统中执行“学习”。
从这些厂商的动作和SoC的发展方向看来,在后智能手机时代,推理机已经逐渐成为半导体厂商追逐的下一个目标市场。
在今年早些时候,Google的TPU横空出世,昭示着业界意图在机器学习芯片中推动创新的的意图。在发布这个芯片的时候,搜索巨人表示,TPU每瓦性能较之传统的FPGA和GPU将会高一个数量级。Google还表示,这个加速器还被应用到了今年年初风靡全球的AlphaGo系统里面。
但是从发布到现在,Google也从未披露过TPU的具体细节,更别说把这个产品对外出售。
很多SoC从业者从谷歌的TPU中得出了一个结论,他们认为,机器学习需要定制化的架构。但在他们针对机器学习做芯片设计的时候,他们又会对芯片的架构感到怀疑和好奇。同时他们想知道业界是否已经有了一种衡量不同形态下深度神经网络(DNN)性能的工具。
CEA声称,他们已经为帮推理机探索不同的硬件架构做好了准备,他们已经开发出了一个叫做N2D2,的软件架构。他们够帮助设计者探索和声称DNN架构。“我们开发这个工具的目的是为了帮助DNN选择适合的硬件”,Duranton说。到2017年第一季度,这个N2D2会开源。Duranton承诺。
N2D2的特点在于不仅仅是在识别精度的基础上对比硬件,它还能从处理时间、硬件成本和能源损耗的多个方面执行对比。因为针对不同的深度学习应用,其所需求的硬件配置参数都是不一样的,所以说以上几点才是最重要的,Duranton表示。
N2D2的工作原理
N2D2为现存的CPU、GPU和FPGA提供了一个参考标准。
作为一个资深的研究组织,CEA已经在如何把DNN完美的推广到边缘计算领域进行了长时间的深入研究。在问到执行这种推进的障碍时,Duranton指出,由于功耗、尺寸和延迟的限制,这些“浮点”服务器方案不能应用。这就是最大的障碍。而其他的障碍包括了“大量的Mac、带宽和芯片上存储的尺寸”,Duranton补充说。
那就是说如何整合这种“浮点”方式,是最先应该被解决的问题。
Duranton认为,一些新的架构是在所难免的,随之而来的一些类似“spike code”的新coding也是必然的。
经过CEA的研究指出,甚至二进制编码都不是必须的。他们认为类似spike coding这类的时间编码在边缘能够迸发出更强大的能量。
Spike coding之所以受欢迎,是因为它能明确展示神经系统内的数据解码。往深里讲,就是说这些基于事件的的编码能够兼容专用的传感器和预处理。
这种和神经系统极度相似的编码方式使得混合模拟和数字信号更容易实现,这也能够帮助研究者打造低功耗的硬件加速器。
CEA也正在思考把神经网络架构调整到边缘计算的潜在可能。Duranton指出,现在人们正在推动使用‘SqueezeNet取替AlexNet。据报道,为达到同等精度,使用前者比后者少花50倍的参数。这类的简单配置对于边缘计算、拓扑学和降低Mac的数量来说,都是很重要的。
Duranton认为,从经典的DNN转向嵌入式网络是一种自发的行为。
CEA的野心是去开发一个神经形态的电路。研究机构认为,在深度学习中,这样的一个芯片是推动把数据提取放在传感器端的一个有效补充。
但在达到这个目标之前,CEA相处了很多权宜之计。例如开发出D2N2这样的工具,帮助芯片开发者开发出高TOPS的DNN解决方案。
而对于那些想把DNN转移到边缘计算的玩家来说,他们也有相对应的硬件去实现。这就是CEA提供的低功耗可编程加速器——P-Neuro。现行的P-Neuro芯片是基于FPGA开发的。但Duranton表示,他们已经把这个FPAG变成了一个ASIC。
和嵌入式CPU对比的P-Neuro demo
在CEA的实验室,Duranton他们已经在这个基于FPAG的P-Neuro搭建了一个面部识别的卷积神经网络(CNN)。这个基于 P-Neuro的Demo和嵌入式CPU做了对比。(树莓派、带有三星Exynos处理器的安卓设备)。他们同样都运行相同的CNN应用。他们都安排去从18000个图片的数据库中去执行“人脸特征提取”。
根据示例展示,P-Neuro的速度是6942张图片每秒,而功耗也只是2776张图每瓦。
P-Neuro和GPU、CPU的对比 (Source: CEA)
如图所示,和Tegra K1相比,基于FPGA的P-Neuro在100Mhz工作频率的时候,工作更快,且功耗更低。
P-Neuro是基于集群的SIMD架构打造,这个架构是以优化的分级存储器体系和内部连接被大家熟知的。
P-Neuro的框图
对于CEA的研究者来说 ,P-Neuro 只是一个短期方案。现行的 P-Neuro 是在一个CMOS设备上打造的,使用的是二进制编码。他们团队正在打造一个全CMOS方案,并打算用spike coding。
为了充分利用先进设备的优势,并且打破密度和功率的问题,他们团队设立了一个更高的目标。他们考虑过把RRAM当做突触元素,还考虑过FDSOI和纳米线这样的制程。
在一个“EU Horizon 2020”的计划里面,他们希望做出一个神经形态架构的芯片,能够支持最先进的机器学习。同时还是一个基于spike的学习机制。
这就是一个叫做NeuRAM3的项目。届时,他们的芯片会拥有超低功耗、尺寸和高度可配置的神经架构。他们的目标是较之传统方案,打造一个能将功耗降低50倍的产品。
Neuromorphic处理器
Neuromorphic处理器的基本参数
据介绍,这个方案包含了基于FD-SOI工艺的整体集成的3D技术,另外还用到的RRAM来做突触元素。在NeuRAM3项目之下,这个新型的混合信号多核神经形态芯片设备较之IBM的TrueNorth,能明显降低功耗。
与IBM的TrueNorth对比(Source: NeuRAM3)
而NeuRAM3项目的参与者包括了IMEC, IBM Zurich, ST Microelectronics, CNR (The National Research Council in Italy), IMSE (El Instituto de Microelectrónica de Sevilla in Spain), 苏黎世大学和德国的雅各布大学。
本文授权编译自EE Times,版权所有,谢绝转载
关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。