【谢源评体系结构顶会 MICRO 2016】神经网络加速器还是热点,但图计算加速器夺最佳论文(下载)...


MICRO(The 49th Annual IEEE/ACM International Symposium on Microarchitecture)是计算机体系结构领域的顶级会议,重点关注处理器体系结构的设计等内容。自 1968 年创办以来,迄今已经举办了 49 届,今年的 MICRO 于 10 月 15 日至 19 日在台北召开。web


历史上,MICRO 长期被美国顶尖研究机构所占领,例如开会地点,仅有 10 次在美国以外的城市召开,本次是 MICRO 第二次在亚洲召开(第一次是 1999 年在以色列),吸引了大批来自包括中国在内的东亚国家研究人员参与。本届会议共收到了 283 篇投稿论文,最终录用了 61 篇,接收率为 21.6%。
算法


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
图1 MICRO会场座无虚席,且有大量亚洲面孔编程


神经网络加速器成 MICRO 2016 热点


从本次 MICRO 论文分析来看,目前体系结构研究的热点体如今两个方面:缓存

  • 第一是对存储结构的关注;markdown

  • 第二是对神经网络加速器的关注网络


下图是一个对 MICRO 2016 的 Program 的 Word Cloud,咱们能够有个直观的印象。其中,神经网络、存储、加速器是重点这也与咱们在上次的 ISCA 2016 分析中获得的结论保持一致。
架构


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
图2 MICRO Program的Word Cloud,关键字 Memory, Neural, Accelerator.框架


接下来看一下 MICRO2016 投稿的数据统计:性能


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
图3 MICRO 投稿数据统计(按Topic划分)
学习


图3是对 MICRO 2016投稿论文的统计,能够看出,关于存储方向的投稿数量超过了 105 篇(>35%)。其中,对于新型存储相关的投稿有近 40 篇(约15%),可见对其的重视程度。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
图4 ISCA 25 Years(Processor V.S. Memory)


再看一下对 ISCA-25 年发展趋势回顾(图4),你们对处理器结构的研究热度自 2004 年以后就有明显的降温。与此同时,对存储,特别是近年来对新型存储结构(如 ReRAM、STT-RAM 等非易失性存储器)以及存储工艺(如 HBM 和 3DIC 等)的关注与日俱增


今年的 MICRO 会议中,就有采用 STT-RAM 来进行 GPU 存储优化的论文(参见论文OSCAR)以及采用 3D 技术进行存储功耗优化的论文(参见论文 Snatch)。


从论文做者的地域分布来看,今年 MICRO 来自中国的做者数量有了较为大幅的增加。向MICRO 2016 投稿的中国做者人数超过 85 人,排在美国和韩国以后,位列第三。而从最终录用论文的做者统计来看,中国仅低于美国处于第二位,说明来自中国的论文数量大幅上升的前提下,质量也保持在比较高的水平


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
图5 MICRO 投稿数据统计(按地域划分)


新智元整理了 ISCA 2016 神经网络相关论文,并邀美国加州大学圣塔芭芭拉分校谢源教授课题组的神经网络架构研究团队的王超博士,以及博士生李双辰、刘浏、朱茂华、谷芃等对相关论文进行点评。


MICRO 2016 和神经网络相关论文点评


MICRO2016和神经网络相关的论文列表:


  1. NEUTRAMS: Neural Network Transformation and Co-design under Neuromorphic Hardware Constraints, Yu Ji (Tsinghua University), YouHui Zhang (Tsinghua University), ShuangChen Li (University of California, Santa Barbara), Ping Chi (University of California, Santa Barbara), CiHang Jiang (Tsinghua University), Peng Qu (Tsinghua University), Yuan Xie (University of California, Santa Barbara), WenGuang Chen (Tsinghua University)

  2. Cambricon-X: An Accelerator for Sparse Neural Networks, Shijin Zhang (Chinese Academy of Sciences), Zidong Du (Chinese Academy of Sciences), Lei Zhang (Chinese Academy of Scienses), Huiying Lan (Chinese Academy of Sciences), Shaoli Liu (Chinese Academy of Sciences), Ling Li (Chinese Academy of Sciences), Qi Guo (Chinese Academy of Sciences), Tianshi Chen (Chinese Academy of Sciences), Yunji Chen (Chinese Academy of Sciences)

  3. From High-Level Deep Neural Models to FPGAs, Hardik Sharma (Georgia Institute of Technology), Jongse Park (Georgia Institute of Technology), Divya Mahajan (Georgia Institute of Technology), Emmanuel Amaro (Georgia Institute of Technology), Joon Kyung Kim (Georgia Institute of Technology), Chenkai Shao (Georgia Institute of Technology), Asit Mishra (Intel), Hadi Esmaeilzadeh (Georgia Institute of Technology)

  4. vDNN: Virtualized Deep Neural Networks for Scalable, Memory-Efficient Neural Network Design,Minsoo Rhu (NVIDIA), Natalia Gimelshein (NVIDIA), Jason Clemons (NVIDIA), Arslan Zulfiqar (NVIDIA), Stephen W. Keckler (NVIDIA)

  5. Stripes: Bit-Serial Deep Neural Network Computing, Patrick Judd (University of Toronto), Jorge Albericio (University of Toronto), Tayler Hetherington (University of British Columbia), Tor M. Aamodt (University of British Columbia), Andreas Moshovos (University of Toronto)

  6. Fused-Layer CNN Accelerators, Manoj Alwani (Stony Brook University), Han Chen (Stony Brook University), Michael Ferdman (Stony Brook University), Peter Milder (Stony Brook University)


1

NEUTRAMS: Neural Network Transformation and Co-design under Neuromorphic Hardware Constraints


摘要


《NEUTRAMS:神经网络在考虑类脑计算芯片硬件限制下的变换和协同设计》论文由清华大学张悠慧教授课题组和加州大学圣巴巴拉分校谢源教授课题组合做完成。该论文以链接复杂的神经网络算法和高效的类脑计算芯片为目标。类脑计算芯片,特别是基于 ReRAM 的芯片,能够融合数据存储与计算,在较低的功耗下还能达到很高的计算性能。然而这类芯片及硬件设计,受到为成熟的 ReRAM 工艺影响,存在许多限制:好比计算与存储精度受限,ReRAM 阵列规模受限(即计算点积向量程度受限)等问题。该论文讲高层次描述的神经网络加以转换并从新训练,使得目标神经网络能够无缺的映射到这些硬件设计上,而且将硬件限制带来的影响降到最小。为了作到这一点,该论文采用神经网络模型转换和硬件映射这两个步骤。在模型转过程当中,考虑到 ReRAM 阵列规模的限制,将原神经网络稀疏化后划分红规模适应于ReRAM阵列的子网络。同时,对数据进行了量化来适应硬件精度受限的问题。最后,增长新的网络层并从新训练,来减少为硬件进行的网络裁剪得来的识别率损失。硬件映射过程则采用了 Kernighan-Lin 策略。该工做分别针对以计算 SNN 的加速器结构的 Tianji 芯片和计算 CNN 的内存中计算架构(processing-in-memory)的 PRIME 硬件结构,进行了实验和探索。

【点评】 基于新型器件的神经网络加速器,由于极高的能量效率,很是吸引研究者。可是因为工艺问题,这些新型硬件带来的约束条件阻碍了其得以大规模应用。研究者们从硬件设计到体系结构设计,都提出了一些解决该问题的方法。这篇文章站的更高,从软件的角度去攻克这一问题,从而也起到了更有效的效果。


2

Cambricon-X: An Accelerator for Sparse Neural Networks

摘要


《Cambricon-X:一种针对稀疏神经网络的加速器》的做者是中科院计算所陈云霁、陈天石研究员课题组。神经网络剪枝技术能够在保证预测精度不变的状况下消除网络中大部分突触权值数据,减小冗余计算量。目前主流深度学习加速器(如 DianNao、DaDianNao)缺少对处理剪枝后的稀疏网络提供有效支持——须要用零填充剪去的权值,再用普通方式进行计算,故没法从剪枝中获益。


这篇论文设计了一种能有效处理稀疏网络的深度学习加速器——Cambricon-X,该加速器在将神经元送入计算单元处理前对非零神经元逐个标记,虑除零值神经元,计算单元内部的权值 buffer 只存放非零神经元对应的权值数据,从而消除多余计算和权值存储。在通用性方面,只需跳过神经元标记、虑除步骤便可按普通计算方法对非稀疏神经网络进行处理,通用性较强。与此同时,配套的编程框架中提供了调用加速器的高级语言编程接口和用来描述加速器行为的底层指令,设计者能够在 Caffe 中无缝使用加速器,易用性较好。

【点评】 Cambricon-X是首个稀疏神经网络加速器,该项工做是对该团队研究的系列工做DianNao、DaDianNao等的拓展和完善。当前使用剪枝技术消除深度学习中的冗余计算十分流行,针对DianNao等深度学习加速器在处理剪枝后稀疏网络时体现出的乏力,Cambricon-X针对稀疏神经网络的计算模式和访存特性,设计专门的神经元Index引擎来选择须要计算的神经元,进而在有限的带宽要求下实现高性能和高能效的神经网络加速。该加速器经过加入简单逻辑模块使过去经常使用深度学习加速器可以与剪枝技术相融合,在有效处理稀疏网络的同时不失处理通常网络的通用性,而且两种处理模式的性能和能耗均大幅优于 CPU、GPU、DianNao 等现有技术。


3

From High-Level Deep Neural Models to FPGAs

摘要


《从高层次深度神经网络模型到FPGAs》来自佐治亚理工Hadi Esmaeilzadeh教授的团队。文章认为FPGA因为其可编程和低功耗等特性在加速深度神经网络(DNN)中扮演重要角色,但在FPGA上实现高性能与低能耗并不是易事,尤为在深度神经网络超大内存使用和FPGA有限片上内存的状况下。本文提出并设计能够根据高层次神经网络模型自动生成可综合FPGA加速器的框架(framework)DnnWeaver。该框架使用DNN专用指令集使其可采用Berkeley Caffe等价的编程接口。同时开发针对FPGA的底层优化模板设计,并根据设计需求扩展成DNN加速器。

【点评】 文章所提出框架可加快深度神经网络在FPGA上的实现并更易尝试不一样的优化设计。从高层综合(HLS)相比DnnWeaver利用底层优化模板的设计方法,能够获得更优的加速器设计。与此同时,DNN加速器的重点转移到优化模板的设计上。FPGA厂商或第三方如能开发优化的底层实现库和编译器等技术,使用FPGA加速神级网络将会有更大的突破。


4

vDNN: Virtualized Deep Neural Networks for Scalable, Memory-Efficient Neural Network Design 

摘要


这篇论文来自于英伟达NVIDIA,当下比较流行的深度学习框架诸如 Caffe、Torch、Theano 和 TensorFlow 均须要用户很是注意地控制 GPU 板载显存(VDRAM)的使用量。这个限制的存在使得用户不得不转投使用显存需求少的神经网络模型或者使用多块GPU并行处理网络训练。为了可以更充分地利用有限的 GPU 板载显存进行深度神经网络训练,本文提出了一个针对神经网络应用的运行时内存管理器(称为“虚拟化DNN”/vDNN),使得深度神经网络训练时能够被同时映射到 CPU 内存和 GPU 板载显存上,并最大限度地保证训练速度。部署 vDNN 以后,AlexNet GPU内存平均使用率下降了 89%,OverFeat 下降了91%,GoogLeNet 下降了95%。同时,对于一些本来不能在单块 GPU 上训练的网络(例如 VGG-16 在 batch size 为 256 时须要 28GB 的存储空间)也能够在搭载 12GB 板载显存的 Titan X GPU上完成训练,照比无限大板载显存的 GPU 模型仅损失 18% 的训练速度。

【点评】 本文的亮点在于对 DNN 训练和预测(inference)在存储空间的需求上作了很是深刻的分析。DNN预测过程不须要保存各层神经元的输出结果,但因为训练时各层的结果须要在反向传播中使用,必须保存直到该次迭代结束。做者提出的内存管理器能够将暂时不须要被使用的输出结果转移到CPU内存当中,待到须要时再将其复制到GPU板载显存当中。因为反向传播各层顺序正好是正向传播的倒转,所以能够利用这一特性对数据传输进行优化。


5

Stripes: Bit-Serial Deep Neural Network Computing

摘要


《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)。该论文发现,在计算神经网络时,因为是逐层计算,在计算每层的先后都要读写特征图片(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 201六、ISSCC 2016 的相关论文,以及新智元对 ISCA 2016上 Eyeriss 论文的点评


【摘要】Eyeriss 是针对深度卷积神经网络设计的低功耗硬件加速器。它可以支持目前主流的卷积神经网络模型,包括对 filter、weight 和 channels 的不一样配置。Eyeriss的原型测试芯片集成了168个处理单元 processing elements (PE),单元之间经过可重构片上网络来进行通讯,并采用数据重用和压缩技术来下降数据传输的代价,从而减小能耗。从编程模型来看,Eyeriss芯片能够支持Caffe编程框架,在AlexNet测试集下,Eyeriss 可以实现对上千张图片的实时分类,其帧率为35 fps,功耗为 278 mW,比对应 mobile GPUs的功耗要节约10 倍以上。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
图7 Eyeriss Architecture


加速器的工做与 Best Paper 显现的趋势


从以上的分析不难看出,神经网络加速器和芯片设计仍旧是体系结构领域目前的研究热点。值得一提的是,除了神经网络的 Session 以外,MICRO 2016 有两个关注加速器(Accelerators)的 Session,共有 7 篇论文,说明你们对特定领域(不限于神经网络)的加速器设计保持着持续关注


有意思的是,本年度得到 MICRO 最佳论文并非与神经网络有关的论文,而是 “Graphicionado: A High-Performance and Energy-Efficient Accelerator for Graph Analytics”。该论文由普林斯顿大学、加州大学伯克利分校和 Intel 合做完成。论文针对目前的图计算模型,设计了一个硬件加速和优化的框架,并采用了多种优化手段来下降访存和数据传输的带宽。针对图计算的加速器可以从众多神经网络加速器的工做中脱颖而出,并一举得到 MICRO 最佳论文,其背后蕴涵的重要意义和发展趋势,值得你们思考。


文章转自新智元公众号,原文连接