AI芯片的战争开打
2016-12-30
对运算产业来说,在过去的2016年应该没有一个概念比人工智能(AI)更热门;跨入2017年,专家们表示,人工智能生态圈的需求成长会更加迅猛。主要集中在为深度神经网络找寻性能和效率更适合的“推理(inference)引擎”。
现在的深度学习系统仰赖软件定义网络和巨量数据学习产生的超大型运算能力,并靠此来实现目标;遗憾的是,这类型的运算配置是很难嵌入到那些运算能力、内存容量大小和带宽都有限制的系统中(例如汽车、无人机和物联网设备)。
这为业界带来了一个新的挑战──如何透过创新将深度神经网络运算能力嵌入到终端设备中。如(已经被Intel收购的)计算机视觉处理器设计业者Movidius执行长Remi El-Ouazzane在几个月前就说过,将人工智能布署在网络边缘将会是一个大趋势。
在问到为什么人工智能会被“赶”到网络边缘的时候,法国原子能委员会(CEA)架构、IC设计与嵌入式软件(Architecture, IC Design and Embedded Software)部门院士Marc Duranton提出三个原因:安全性(safety)、隐私(privacy)和经济(economy);他认为这三点是驱动业界在终端处理数据的重要因素,而未来将会衍生更多「尽早将数据转化为信息」的需求。
Duranton指出,试想自动驾驶车辆,如果其目标是安全性,那些自动驾驶功能就不应该只仰赖永不中断的网络联机;还有例如老人在家里跌倒了,这种情况应该由本地监测装置在当场就判断出来,考虑到隐私因素,这是非常重要的。而他补充指出,不必收集家里10台摄影机的所有影像并传输以触发警报,这也能降低功耗、成本与数据容量。
AI竞赛正式展开
从各方面看来,芯片供货商已经意识到推理引擎的成长需求;包括Movidus (Myriad 2), Mobileye (EyeQ 4 & 5) 和Nvidia (Drive PX)在内的众多半导体公司正竞相开发低功耗、高性能的硬件加速器,好让机器学习功能在嵌入式系统中被更妥善执行。
从这些厂商的动作和SoC的发展方向看来,在后智能型手机时代,推理引擎已经逐渐成为半导体厂商追逐的下一个目标市场。
在今年稍早,Google推出了张量处理单元(TPU),可说是产业界积极推动机器学习芯片创新的一个转折点;Google在发表芯片时表示,TPU每瓦性能较之传统的FPGA和GPU将会高一个等级,此外并指出这个加速器还被已被应用于今年年初风靡全球的AlphaGo系统。但是迄今Google并未披露TPU的规格细节,也不打算让该组件在商业市场上销售。
很多SoC从业者从Google的TPU中得出了一个结论──机器学习需要客制化的架构;但在他们针对机器学习进行芯片设计的时候,他们又会对芯片的架构感到疑惑,同时想知道业界是否已经有了一种评估不同形态下深度神经网络(DNN)性能的工具。
性能评估工具即将问世
CEA表示,该机构已经准备好为推理引擎探索不同的硬件架构,他们已经开发出一种名为N2D2的软件架构,能够帮助设计工程师探索和生成DNN架构;Duranton指出:「我们开发这个工具之目的,是为DNN选择适合的硬件目标。」CEA将会在2017年第一季释出N2D2的开放源码。
N2D2的特色在于不仅是以识别精确度为基础来比较硬件,它还能从处理时间、硬件成本和功耗等多个方面执行比较;Duranton表示,因为针对不同应用的深度学习,需求之硬件配置参数也会有所不同,因此以上几个比较非常重要。N2D2能为现有CPU、GPU和FPGA等硬件(包括多核心与众多核心)提供一个性能参考标准。
N2D2运作原理
边缘运算的障碍
CEA已经针对如何把DNN完美地推展到边缘运算(edge computing)进行了深入研究;Duranton指出,其中最大的障碍在于因为功耗、内存容量尺寸和延迟等限制,“浮点”式服务器方案不适用;而其他障碍还包括:「需要大量的MAC、带宽和芯片上内存容量。」
所以说,采用整数(Integer)而非浮点运算是最需要优先考虑的问题…还有别的吗?Duranton认为,这种专属架构也需要采用新的编码方式,例如「棘波编码(spike coding)」;CEA的研究人员研究了神经网络的特性,发现这种网络能容忍运算误差,使其适用于「近似运算(approximate computation)」。
如此一来,甚至于不需要采用二进制编码;而Duranton解释,其好处在于诸如棘波编码的时间编码(temporal coding),能在边缘运算提供更具能源效益的结果。棘波编码之所以具吸引力,是因为棘波编码──或是以事件为基础(event-based)的──系统能展现实际神经系统内的数据如何被译码。
此外,以事件为基础的编码能兼容专用的传感器和预处理(pre-processing)。这种和神经系统极度相似的编码方式,使得模拟和数字混合讯号更容易实现,也能够帮助研究者打造低功耗的小型硬件加速器。
还有其他能加速将DNN推展到边缘运算的因素;例如CEA正在考虑把神经网络架构本身调整为边缘运算的潜在可能。Duranton指出,现在人们已经开始讨论采用「SqueezeNet」架构而非「AlexNet」架构的神经网络,据了解,前者达到与后者相同精确度所需的参数规格是五十分之一;这类简单配置对于边缘运算、拓扑和降低MAC数量都十分关键。
而Duranton认为,最终目标是将经典DNN转换成「嵌入式」网络。
CEA的雄心是开发神经形态(neuromorphic)电路;该研究机构认为,这类芯片在深度学习应用中,是从接近传感器的数据(data)提取信息(information)的有效补充。
在实现以上目标之前,CEA考虑了数个权宜之计;例如D2N2这样的开发工具,对于芯片设计业者开发高水平每瓦TOPS (tera operations per second per Watt)性能的客制化DNN解决方案非常重要。
对于那些想在边缘运算利用DNN的人来说,也有实际的硬件可以进行试验──也就是CEA提供的超低功耗可程序加速器P-Neuro;目前的P-Neuro神经网络处理单元是以FPGA为基础,不过Duranton表示,CEA正要把该FPGA转为ASIC。
Duranton在CEA的实验室利用了以FPGA为基础的P-Neuro展示了搭建了用于脸部是别的卷积神经网络(CNN),并将P-Neuro与嵌入式CPU (在Raspberry Pi上的四核心ARM处理器,以及采用Samsung Exynos处理器的Android平台)进行比较,都执行相同的嵌入式CNN应用,任务是在内含1万8,000张影像的数据库进行“人脸特征提取”。
P-Neuro与嵌入式CPU/GPU执行相同人脸识别任务的性能比较
如上表之比较结果,P-Neuro的速度是每秒6,942张图片,能效则是每瓦2,776张图片;与嵌入式GPU相较(Tegra K1),运作频率为1000MHz的P-Neuro速度更快、能效更高。P-Neuro是以丛集式SIMD架构打造,该架构支持优化内存分层和内部链接。
P-Neuro功能区块
不过对于CEA研究人员来说,P-Neuro只是一个短期方案;目前的P-Neuro是以全CMOS组件打造、采用二进制编码;该团队也正在打造采用棘波编码(spike coding)的全CMOS组件。为充分利用先进制程优势,并且在密度和功率上有所突破,该团队设定了更高的目标。
如CEA-Leti的奈米电子技术营销暨策略总监Carlo Reita在接受采访时表示,利用先进芯片与内存技术来进行专用零组件的实体设计非常重要;其中一个方案是采用CEA-Leti的CoolCube常规monolithic 3D整合技术,另一种方案是采用电阻式内存(Resistive RAM)做为突触(synaptic)组件。此外,如FD-SOI与奈米线等先进技术也将发挥作用。
神经形态处理器
在此同时,欧盟在「EU Horizon 2020」计划之下,试图打造神经形态架构芯片,能支持最先进的机器学习,以及基于棘波的学习机制;该研究项目名为NeuRAM3,目标是以超低功耗、可扩展与高度可配置的神经架构,打造在特定应用上功耗较传统数字方案低50倍的组件。
神经形态处理器架构
神经形态处理器基本规格
Reita表示,CEA也参与了NeuRAM3项目,该机构的研究目标与该项目的使命紧密相关,包括开发采用FD-SOI制程的单体(monolithically)整合式3D技术,以及整合电阻式内存突触组件的应用;她并指出,NeuRAM3项目开发的新一代混合讯号多核心神经形态组件,与IBM的TrueNorth脑启发(brain-inspired)操作数件相较,能显着降低功耗。
NeuRAM3神经形态组件与IBM TrueNorth的比较
NeuRAM3项目的参与者包括IMEC、IBM Zurich研究中心、意法半导体(ST Microelectronics),意大利研究机构 CNR (The National Research Council in Italy)、西班牙研究机构IMSE (El Instituto de Microelectronica de Sevilla in Spain)、瑞士苏黎世大学(The University of Zurich)和德国的雅各布大学(Jacobs University)。