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

简介:

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


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


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


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


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

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

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


下图是一个对 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 2016、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 最佳论文,其背后蕴涵的重要意义和发展趋势,值得大家思考。


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

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
2月前
|
机器学习/深度学习 编解码 计算机视觉
【APFN】从大佬论文中探索如何分析改进金字塔网络
【APFN】从大佬论文中探索如何分析改进金字塔网络
37 0
|
2月前
|
计算机视觉
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
50 0
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
|
25天前
|
网络协议 物联网 区块链
【软件设计师备考 专题 】网络体系结构(网络拓扑、OSIRM、基本的网络协议)
【软件设计师备考 专题 】网络体系结构(网络拓扑、OSIRM、基本的网络协议)
126 3
|
2月前
|
机器学习/深度学习 存储 算法
深度神经网络中的BNN和DNN:基于存内计算的原理、实现与能量效率
深度神经网络中的BNN和DNN:基于存内计算的原理、实现与能量效率
43 0
|
1月前
|
缓存 监控 网络协议
网络体系结构
网络体系结构
18 0
|
3天前
|
运维 网络架构
软件体系结构 - 网络拓扑结构
【4月更文挑战第14天】软件体系结构 - 网络拓扑结构
8 0
|
1月前
|
机器学习/深度学习 开发者
论文介绍:基于扩散神经网络生成的时空少样本学习
【2月更文挑战第28天】论文介绍:基于扩散神经网络生成的时空少样本学习
14 1
论文介绍:基于扩散神经网络生成的时空少样本学习
|
1月前
|
数据采集 Web App开发 数据处理
Ruby网络爬虫教程:从入门到精通下载图片
Ruby网络爬虫教程:从入门到精通下载图片
|
2月前
|
机器学习/深度学习 计算机视觉 Python
【SKConv】即插即用!来自CVPR 2019的选择性内核网络帮你论文涨点
【SKConv】即插即用!来自CVPR 2019的选择性内核网络帮你论文涨点
52 0
【SKConv】即插即用!来自CVPR 2019的选择性内核网络帮你论文涨点
|
2月前
|
数据采集 数据安全/隐私保护
高效网络采集实践:使用 Haskell 和 html-conduit 下载 www.baidu.com 视频完整教程
网络采集在当今信息时代中发挥着关键作用,用于从互联网上获取数据并进行分析。本文将介绍如何使用 Haskell 进行网络编程,从数据采集到图片分析,为你提供一个清晰的指南。我们将探讨如何使用爬虫代理来确保高效、可靠的数据获取,并使用 Haskell 的强大功能来分析和处理数据。