《Stripes:比特串行的深度神经网络》由多伦多大学和英属哥伦比亚大学的研究小组合作完成。由于深度神经网络不同层级和不同架构对数值精度的需求存在差异,本文提出了名为Stripes(STR)的硬件加速器,其执行深度神经网络应用的时间与其使用的数值精度的大小成正比。在不损失应用精度的情况下,STR 依赖于比特串行计算单元,并充分利了用深度神经网络中的并行性来提高计算性能和降低能耗。除此以外,STR 还提供了一定的灵活度,使得应用可在运行时进行精度、性能和能耗三方面的协调。多个基于图像分类的深度神经网络应用显示STR比DaDianNao在不损失精度的情况下有1.92x的性能提升和57%的能效提升,代价是 32% 的面积开销。 【点评】本文的研究基于中科院计算所陈云霁和陈天石研究员的 DaDianNao工作,主要创新在于将神经功能单元(Neural Functional Units)中的 16 比特的并行神经元输入,变为了16比特的串行输入,进而在不损失或损失很小精度(~1%)的情况下,将16比特简化为 p 比特(可逐层调整),获得 16/p 的理论加速性能(实验结果近似理论加速性能)。此外由于计算比特数的减少,以及串行带来的对神经权重缓存访问次数的减少,其能耗也有显著降低。本文提出的架构可应用于计算能量受限的平台,并且应用可以耐受一定的精度损失,从而用可以接受的精度损失换取能耗的降低和计算性能的提升。 6 Fused-Layer CNN Accelerators 摘要 《层与层互融合的卷积神经网络加速器》一文,来自纽约州立大学石溪分校(Stony Brook University)。该论文发现,atv直播,在计算神经网络时,由于是逐层计算,在计算每层的前后都要读写特征图片(feature map)。这占据了近 50% 的片外存储(off-chip memory)访问。这个观察明确了研究层间复用的动机:减少层间特征图片的片外存储访问,从而提高性能,减小带宽要求,并减小能耗。为了利用层间数据复用,该论文提出了利用金字塔多层滑动窗口(pyramid-shaped multi-layer sliding window)对输入特征图片进行处理,从而直接得到几层之后的结果。该论文还提出了一个优化框架,探索如如果划分融合层挤层内划分,选择重新计算活暂存等。经过FPGA上进行验证后,该论文展示了可减小高达 95% 的片外存储访问的结果。 【点评】该论文隶属于探究神经网络计算中数据复用类的工作,在现有工作(如Eyeriss, ShiNianNao)已几乎将单层内数据复用做到极致的情况下,另辟蹊径,研究并利用了层与层之间的数据复用。 MICRO 2016 Tutorial:深度神经网络硬件架构 除了神经网络的专门 Session 之外,今年的 MICRO 有一个专门针对神经网络硬件加速的Tutorial,名为 Tutorial on Hardware Architectures for Deep Neural Networks,由 MIT的Eyeriss 小组完成,在这里对该项目简单稍做介绍,有兴趣的读者可以自行查阅他们发表在 ISCA 2016、ISSCC 2016 的相关论文,以及。 【摘要】Eyeriss 是针对深度卷积神经网络设计的低功耗硬件加速器。它能够支持目前主流的卷积神经网络模型,包括对 filter、weight 和 channels 的不同配置。Eyeriss的原型测试芯片集成了168个处理单元 processing elements (PE),单元之间通过可重构片上网络来进行通信,并采用数据重用和压缩技术来降低数据传输的代价,从而减少能耗。从编程模型来看,Eyeriss芯片可以支持Caffe编程框架,在AlexNet测试集下,Eyeriss 能够实现对上千张图片的实时分类,其帧率为35 fps,功耗为 278 mW,比对应 mobile GPUs的功耗要节约10 倍以上。
图7 Eyeriss Architecture 加速器的工作与 Best Paper 显现的趋势 (责任编辑:本港台直播) |