清华大学微纳电子系博士生涂锋斌在大会上做了题为《RANA:基于刷新优化嵌入式 DRAM 的神经网络加速框架》(RANA: Towards Efficient Neural Acceleration with Refresh-Optimized Embedded DRAM)的口头报告。该研究成果大幅提升了人工智能(AI)打算芯片的能量效率。
涂锋斌的研究论文是今年大会中国唯一被收录的署名第一完成单位的论文。清华大学微纳电子系尹首一副教授为本文通讯作者,涂锋斌为本文第一作者,论文互助者还包括清华大学微纳电子系魏少军教授、刘雷波教授和吴薇薇同学。
Fengbin Tu, Weiwei Wu, Shouyi Yin, Leibo Liu, Shaojun Wei,「RANA: Towards Efficient Neural Acceleration with Refresh-Optimized Embedded DRAM,」International Symposium on Computer Architecture (ISCA), Los Angeles, USA, 2018.

清华大学微纳电子系博士生涂锋斌报告现场。
论文详细信息如下:
1 研究背景
深度神经网络(DNN)已经被广泛运用在各种 AI 场景中。为了得到更高的精度,DNN 的网络规模也日益增大,导致网络数据存储量达几 MB 乃至几十 MB。此数据量乃至会随着输入图片的分辨率和批处理规模的增大而增大。然而,传统的基于 SRAM 的 AI 打算芯片,由于芯片面积的限定,每每只有几百 KB 的片上存储容量。因此,在运行当前的 DNN 时,片外存储访问难以避免,这会造成巨大的系统能耗开销。存储问题是 AI 打算芯片设计中必须办理的一个主要问题。
当前几款主流 AI 打算芯片(DianNao、Eyeriss、Envision、Thinker)及其存储、面积参数。
2 数据生存韶光感知的神经网络加速框架(RANA)
嵌入式 DRAM(简称 eDRAM),比较于传统 SRAM 有更高的存储密度,可以替代传统 SRAM 作为片上存储以减少片外访问。然而,eDRAM 存储单元中的电容电荷会随韶光而逐渐丢失,因此须要周期性的刷新操作来坚持 eDRAM 的数据精确性。已经有研究证明,刷新能耗是 eDRAM 总能耗的紧张来源,而且会霸占整体系统能耗的很大比重。因此,利用 eDRAM 带来的额外刷新能耗开销不容忽略。本文创造,如果数据在 eDRAM 中的生存韶光(Data Lifetime)小于 eDRAM 的数据坚持韶光(Retention Time),那么系统将不再须要对付此数据的刷新操作。由此可以得到两个优化方向:减少数据生存韶光,和增大数据坚持韶光。
嵌入式 DRAM(eDRAM)构造及本文核心不雅观点。
本文提出一种基于 eDRAM 存储器的新型加速框架:数据生存韶光感知的神经网络加速框架(RANA)。RANA 框架采取 eDRAM 作为片上存储器,比较于传统 SRAM 具有更高的存储密度,大幅减少片外访存。同时,RANA 框架采取三个层次的技能:数据生存韶光感知的演习方法,神经网络分层的稠浊打算模式和刷新优化的 eDRAM 掌握器,分别从演习、调度和架构三个层面降落 eDRAM 刷新能耗,进而大幅优化整体系统能耗。
数据生存韶光感知的神经网络加速框架(RANA)。
2.1 演习层次优化:数据生存韶光感知的演习方法
常日 eDRAM 的刷新周期会设置为最差的存储单元所对应的数据坚持韶光,以担保程序实行过程中所有存储单元的数据都不会出错。而在一个实际 eDRAM 存储器中,不同存储单元的数据坚持韶光是不同的。下图是一条范例的 eDRAM 数据坚持韶光分布曲线。横轴是数据坚持韶光,纵轴是缺点率,即低于给定坚持韶光的存储单元占所有存储单元的比例。对付一个 32KB 的 eDRAM 而言,数据坚持韶光最短的存储单元常日涌如今 45 微秒处,对应的缺点率大约为 10^(-6) 量级。本文创造,适当增加数据坚持韶光,并不会显著地提升缺点率。
范例 eDRAM 数据坚持韶光分布曲线。
本文利用 DNN 的容错能力来重新演习网络使其能承受更高的缺点率,并得到更长的「可容忍」的数据坚持韶光。如下图所示,本方法在演习的正向过程中对输入和权重数据加入一个掩膜(Layer Mask)以引入偏差。这个掩膜会以一定的缺点率对每个比特注入偏差。经由反复的重演习,如果终极的精度丢失可以接管,那么就认为网络可以承受当前的缺点率。本文创造,对付 AlexNet、VGG、GoogLeNet 和 ResNet 四个网络,缺点率提高到 10^(-5) 后网络精度仍没有丢失,此时对应的「可容忍」的数据坚持韶光提高到了 734 微秒,因此更有机会以更低的频率刷新乃至肃清刷新操作。
演习层次优化:数据生存韶光感知的演习方法。
2.2 调度层次优化:神经网络分层的稠浊打算模式
下图所示是三种范例的打算模式,分别用多层循环的形式表示。本文创造,数据生存韶光和片上存储需求与循环顺序,特殊是最外层循环极为干系。在输入、输出和权重这三类数据中,输出数据的生存韶光与另两种数据类型完备不同。与输入、权重这种静态存储在缓存中的数据不同,输出数据会在累加的过程中不断刷新。在每次刷新中,输出数据会被重新写入存储器,对 eDRAM 存储单元重新充电进而规复了之前丢失的电荷。这一过程和周期性刷新操作实质上是一样的。因此,如图所示,如果把输出数据作为最外层循环迭代变量,数据生存韶光将会非常短。当然,此时必须在片上存下全部的输出数据以避免片外访存。
三种范例的打算模式及其生存韶光/缓存需求剖析。
本文提入迷经网络分层的稠浊打算模式,根据芯片参数及 DNN 网络参数,对网络的每一层分配一个最优的打算模式。打算模式的探索过程被抽象为一个目标为系统能耗最小化的优化问题。详细调度方法如下图所示,调度结果会被编译身分层的配置信息(包括「可容忍」的数据坚持韶光、每层的打算模式及刷新标志),以用于实行过程的硬件配置。
调度层次优化:神经网络分层的稠浊打算模式。
2.3 架构层次优化:刷新优化的 eDRAM 掌握器
在传统的 eDRAM 掌握器中,所有的 eDRAM 分区都以最守旧的刷新周期进行刷新。本工为难刁难 eDRAM 掌握器稍加改造,加入一个可编程的时钟分频器、各 eDRAM 分区独立的刷新触发器和刷新标志位。掌握器的配置信息来自于前两个技能的编译结果,详细将决定每个分区分别存储什么数据类型、是否须要刷新以及刷新周期。
架构层次优化:刷新优化的 eDRAM 掌握器。
3 实验结果
下图为用于验证 RANA 框架的实验平台详细配置:本事情实现了一款 AI 打算芯片来进行 RTL 级别性能功耗剖析,以得到精确的性能参数和访存行为记录。
验证平台配置参数及芯片版图。
实验结果显示,RANA 框架可以肃清 99.7% 的 eDRAM 刷新能耗开销,而性能和精度丢失可以忽略不计。比较于传统的采取 SRAM 的 AI 打算芯片,利用 RANA 框架的基于 eDRAM 的打算芯片在面积开销相同的情形下可以减少 41.7% 的片外访存和 66.2% 的系统能耗,使 AI 打算系统的能量效率得到大幅提高。
RANA 框架系统级能耗剖析。
4 总结
清华大学微纳电子系 Thinker 团队近年来基于可重构打算架构设计了 Thinker 系列 AI 打算芯片(Thinker I,Thinker II,Thinker S),受到学术界和工业界的广泛关注,在 2017 年曾得到 ISLPED'17 低功耗设计竞赛冠军。Thinker 团队这次研究成果,从存储优化和软硬件协同设计的角度大幅提升了芯片能量效率, 给 AI 打算芯片的架构演进供应了新思路。
干系阅读:
论文第一作者涂锋斌作为 Thinker 芯片的核心架构设计者,曾作为雷锋网分享高朋作客「硬创公开课」,先容了他在神经网络硬件架构的设计履历。AI 科技评论环绕分享内容整理成文:
清华大学博士生涂锋斌:设计神经网络硬件架构时,我们在思考些什么?(上) | 硬创公开课总结
清华大学博士生涂锋斌:设计神经网络硬件架构时,我们在思考些什么?(下) | 硬创公开课总结
在 6 月 29 日至 7 月 1 日举行的 CCF-GAIR 2018 上,清华大学微电子所所长魏少军教授将作为 AI 芯片专场的学术高朋到临现场做大会报告。