Skip to main content
QUICK REVIEW

[论文解读] Serving Recurrent Neural Networks Efficiently with a Spatial Accelerator

Tian Zhao, Yaqi Zhang|arXiv (Cornell University)|Sep 26, 2019
Advanced Neural Network Applications参考文献 20被引用 10
一句话总结

本文提出了一种空间加速器设计,通过用细粒度循环级抽象替代基于 BLAS 的内核,实现跨内核优化、空间并行和流水线处理,从而优化循环神经网络(RNN)推理。该设计在 Tesla V100 GPU 上实现了 30 倍的几何加速、1.6 倍的面积效率提升和 2 倍的功耗效率提升,相较于 FPGA 上的 Microsoft Brainwave 实现了 2 倍的加速。

ABSTRACT

Recurrent Neural Network (RNN) applications form a major class of AI-powered, low-latency data center workloads. Most execution models for RNN acceleration break computation graphs into BLAS kernels, which lead to significant inter-kernel data movement and resource underutilization. We show that by supporting more general loop constructs that capture design parameters in accelerators, it is possible to improve resource utilization using cross-kernel optimization without sacrificing programmability. Such abstraction level enables a design space search that can lead to efficient usage of on-chip resources on a spatial architecture across a range of problem sizes. We evaluate our optimization strategy on such abstraction with DeepBench using a configurable spatial accelerator. We demonstrate that this implementation provides a geometric speedup of 30x in performance, 1.6x in area, and 2x in power efficiency compared to a Tesla V100 GPU, and a geometric speedup of 2x compared to Microsoft Brainwave implementation on a Stratix 10 FPGA.

研究动机与目标

  • 为解决基于 BLAS 的 RNN 加速中存在的低效问题,如高内核间数据移动和资源利用率低下。
  • 通过通用循环结构实现跨内核优化,提升 RNN 推理的性能和能效。
  • 通过具备细粒度流水线和向量化能力的空间架构,在不同大小的 RNN 问题上实现一致的硬件利用率。
  • 协同设计支持混合精度运算的微架构,以实现低延迟的 RNN 服务。

提出的方法

  • 在每个 RNN 时间步内融合门函数和非线性激活,以减少中间数据移动,并将结果保留在寄存器中。
  • 通过向量化内层循环实现 SIMD 并行,通过展开外层循环实现粗粒度流水线,从而实现空间并行和流水线处理。
  • 使用一种名为 Spatial 的领域特定语言(DSL),显式表达具有内存层次结构和循环嵌套的 RNN 计算。
  • 对 Plasticine CGRA 进行微架构扩展,以支持 RNN 推理中关键的混合精度运算。
  • 采用数据流驱动执行,无动态调度开销,从而降低延迟。
  • 在 28nm 可配置空间加速器上,使用 DeepBench 基准测试评估该设计。

实验结果

研究问题

  • RQ1用通用循环结构替代 BLAS 抽象,如何提升空间加速器上 RNN 推理的性能?
  • RQ2跨内核优化和流水线处理在多大程度上能减少 RNN 工作负载中的数据移动并提升资源利用率?
  • RQ3具备细粒度并行和混合精度支持的空间架构,是否能在 RNN 推理中实现优于 GPU 和 FPGA 平台的性能和能效?
  • RQ4所提出方法在不同 RNN 问题规模和隐藏单元维度下如何扩展?
  • RQ5内存层次管理(尤其是寄存器与暂存存储器的使用)对 RNN 推理中的能效有何影响?

主要发现

  • 所提出的设计在性能上相比 Tesla V100 GPU 实现了 30 倍几何加速,面积效率提升 1.6 倍,功耗效率提升 2 倍。
  • 与 Stratix 10 FPGA 上的 Microsoft Brainwave 相比,该实现实现了 2 倍几何加速。
  • 由于有效的跨内核优化和资源均衡,该设计在不同大小的 RNN 任务中均保持了高 FLOPS 利用率。
  • 使用寄存器存储中间结果而非暂存存储器,可降低能耗并提升内存访问效率。
  • 具备细粒度流水线和向量化能力的空间架构,在小型和大型 RNN 工作负载中均实现了稳定的性能表现。
  • 在 14nm 工艺下,Plasticine 预计可达到 Stratix 10 的性能水平,但面积缩小两倍以上,表明性能/面积比提升 2 倍至 60 倍。

更好的研究,从现在开始

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

无需绑定信用卡

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