人生状态机 · 2022年03月24日

Eyeriss系列论文总结

注:本文所有分析均基于参考文献。

Eyeriss

Eyeriss是一种高能效、可重配置的神经网络加速器,有两篇相关的文章[1][2]。针对当时深度神经网络面临的问题:数据搬运带来的时间和能耗开销大,作者提出了两种方法,RS(row stationary)和压缩(利用数据的特点进行)。

RS的思想是数据复用,针对权重、输入图信息、累加和的不同性质,Eyeriss提出了三种不同的数据复用方法,见图1。

图 1

权重数据在PE之间横向复用,输入数据在PE间对角线复用,输出行数据在PE间纵向复用(纵向累加)。Eyeriss同时支持这三种数据复用方式。

由于神经网络推断过程中ReLU函数引入了大量的零,在AlexNet的CONV2层中有40%的输入值为0,CONV5层中有75%的输入为0,并且研究表明CNN中16%-78%的权重可以被剪枝掉。所以,Eyeriss采用了RLC编码的方式对数据进行压缩,见图2。

图 2

RLC编码可以将将连续的0编码为0的个数,从而节约存储空间。

PE结构如图3。

图 3

图中红色部分是data gating logic,通过buffer记录0的位置,如果要读到0了,那么data gating logic就会disable掉读取以及MAC datapath。这种方法可以降低45%的功耗。

总结:RS通过数据复用减少数据搬运,从而加快运算、降低功耗。通过RLC编码压缩数据,可以有效减小存储空间。并且在常规PE结构里加上data gating logic,便减少了很多无用运算对功耗的开销。

Eyeriss v2

继2016年提出Eyeriss以后,Yu-Hsin Chen等大佬又于2018年提出了Eyeriss v2[3]。

深度神经网络正在朝资源和功耗受很大限制的平台部署(如手机),这导致很多DNN模型更紧凑、稀疏性更强。很多为大型DNN设计的加速器在这种紧凑模型上的性能不佳,对于稀疏矩阵进行压缩(不压缩)到底是好是坏,有待验证。因为存在这样的问题,作者提出了Eyeriss v2,专门应用于紧凑DNN模型的加速。

对于紧凑型DNN,硬件设计面对两个问题:

  1. 预选的数据随着DNN的变化会减少,导致PE array利用率降低。
  2. 数据复用少了以后需要更高的数据带宽。

对于稀疏型DNN,同样面对两个问题:

  1. 在跳过零元素的时候,同时判断权重和输入是否为0在RLC编码下较困难
  2. PE资源分配不均,有可能大部分数据运算会被部署到少部分PE,剩下的PE较闲

为了解决以上问题,本文作出了以下三点主要贡献:

  1. 设计了一种在低数据复用情况下依然提供高带宽尽量不让PE闲置的NoC
  2. 新设计的更适用于紧凑稀疏型DNN的PE
  3. 新版加速器Eyeriss v2,跑MobileNet比Eyeriss快12.6倍,功耗低2.5倍

为了少花一些cycle在“跳过0”这个过程上,采用CSC编码,如图4,先判断输入是否为0,输入为0直接跳过;如果输入不为0再判断权重是否为0,权重为0直接跳过,有不为0的权重时会继续在流水线中计算,并且因为采用了CSC编码所以零的权重依然会在后面被跳过,不会产生多余的时间消耗。

图 4

图5为新PE的架构,支持SIMD,一次fetch两个权重同时计算,图中红色部分为相对于Eyeriss的改进。

图 5

总结:通过高带宽NoC、CSC压缩、新设计的支持SIMD的PE,可以有效提高加速器在处理Sparse AlexNet和MobileNet这样紧凑、稀疏的DNN时的速度并降低功耗。在文章附录部分还介绍了一种通过DNN模型的参数(比如size、sparsity之类的)和加速器的设计来分析加速器性能瓶颈的方法,叫做Eyexam,但实现细节暂不清楚。

总结

从Eyeriss的升级来看,对于紧凑型DNN加速器的设计需要考虑的问题就是资源利用率,涉及到数据通路的高带宽和更适应硬件结构的压缩方法,所以数据压缩之后对硬件是否友好不能一概而论,能不能设计一种更灵活的加速器,根据网络模型、权重参数的特点来选择性地进行压缩?或者是更通用的加速器,能在多种压缩方法下都保持较高的资源利用率?对于剪枝和硬件协同优化的思考也是类似的。

参考文献

[1] Y.-H. Chen, J. Emer, and V. Sze, “Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks,” in _2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA)_, 2016, pp. 367–379.

[2] Y.-H. Chen, T. Krishna, J. S. Emer, and V. Sze, “Eyeriss: An energy-efficient reconfigurable accelerator for deep convolutional neural networks,” _IEEE J. Solid-State Circuits_, vol. 52, no. 1, pp. 127–138, 2016.

[3] Y.-H. Chen, T.-J. Yang, J. Emer, and V. Sze, “Eyeriss v2: A Flexible Accelerator for Emerging Deep Neural Networks on Mobile Devices,” _arXiv Prepr. arXiv1807.07928_, 2018.

END

知乎:https://zhuanlan.zhihu.com/p/90011102

推荐阅读

更多内容请关注其实我是老莫的网络书场专栏
推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息