Skip to main content
QUICK REVIEW

[论文解读] Measuring scheduling efficiency of RNNs for NLP applications

Urmish Thakker, Ganesh Dasika|arXiv (Cornell University)|Apr 5, 2019
Advanced Neural Network Applications参考文献 6被引用 13
一句话总结

本文提出数据重用效率(DRE)作为衡量CPU上RNN推理调度低效性的指标,揭示当前RNN调度导致的内存流量比工作集大小高出30–50倍。通过将G矩阵拆分为G1和G2以提升数据重用,作者在大型模型(如LM)中将内存带宽使用减少至2.9倍,在GNMT中减少至1.65倍,显著提升了移动SoC上的能效表现。

ABSTRACT

Recurrent neural networks (RNNs) have shown state of the art results for speech recognition, natural language processing, image captioning and video summarizing applications. Many of these applications run on low-power platforms, so their energy efficiency is extremely important. We observed that cache-oblivious RNN scheduling during inference typically results in 30-50x more data transferred on and off the CPU than the application's working set size. This can potentially impact its energy efficiency. This paper presents a new metric called Data Reuse Efficiency to gauge the RNN scheduling efficiency of a platform and shows the factors that influence the DRE value. Additionally, this paper discusses an optimization to improve reuse in RNNs and highlights the positive impact of this optimization on the total amount of memory read from or written to the memory controller (and, hence, the DRE value) during the execution of an RNN application for a mobile SoC.

研究动机与目标

  • 量化当前CPU上RNN调度的低效性,特别是过度的内存带宽使用。
  • 识别出缓存无关调度在RNN推理中导致的数据移动量是工作集大小的30–50倍。
  • 提出一种新颖的优化方法——将G矩阵拆分为G1和G2,以提升数据重用并减少内存流量。
  • 通过在类移动SoC缓存上的分析建模,评估优化调度器对内存系统效率的影响。
  • 确立DRE作为评估低功耗平台上RNN工作负载调度效率的新指标。

提出的方法

  • 提出数据重用效率(DRE)作为指标:DRE = 工作集大小 / 总内存流量(读取 + 写入),用于衡量调度效率。
  • 在Haswell平台上使用性能计数器,测量320个不同配置的LSTM基准测试的内存带宽使用量和工作集大小。
  • 引入G-矩阵拆分优化:将连接后的权重矩阵G分解为G1和G2,以实现在时间步之间重复重用G1。
  • 对矩阵-向量乘法应用缓存分块技术,以在12 MB LRU缓存中最大化数据重用,模拟移动SoC环境。
  • 开发分析模型,基于调度算法生成内存访问模式,并模拟缓存未命中和写回操作。
  • 在四个真实世界NLP工作负载(GNMT、DeepSpeech1、LM和byteNER)上评估优化调度(Schedule A+),并与标准TensorFlow/MKL调度(Schedule A)进行对比。

实验结果

研究问题

  • RQ1当前RNN调度方案相比实际工作集大小,多传输了多少数据?
  • RQ2RNN在CPU上推理时,导致高内存带宽使用的主要因素是什么?
  • RQ3将G矩阵拆分为两部分是否能提升数据重用并减少内存流量?
  • RQ4G-矩阵拆分优化在多种NLP工作负载中减少内存带宽的效果如何?
  • RQ5新的DRE指标在多大程度上能反映RNN推理中真实世界的调度低效性?

主要发现

  • 当前CPU上的RNN调度导致的数据移动量是工作集大小的30–50倍,表明存在严重的调度低效性。
  • 在语言建模(LM)基准测试中,G-矩阵拆分优化将内存流量减少至多2.9倍,尤其在G1矩阵较小的大层中效益显著。
  • 在GNMT中,该优化使编码器层的DRE提升1.45至1.65倍,当优化适用时。
  • 在byteNER中,一个仅9.4 MB、可完全容纳在缓存中的小型模型,由于本身具有良好的缓存重用性,Schedule A和A+表现相似,表明该优化在小型、缓存友好的模型上效益有限。
  • 分析模型证实,优化调度器显著减少了缓存未命中和内存流量,尤其在G-矩阵尺寸较大的大型模型中效果明显。
  • DRE指标成功识别出调度低效性,并量化了架构优化对内存带宽消耗的影响。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。