[论文解读] Serving Recurrent Neural Networks Efficiently with a Spatial Accelerator
本文提出了一种空间加速器设计,通过用细粒度循环级抽象替代基于 BLAS 的内核,实现跨内核优化、空间并行和流水线处理,从而优化循环神经网络(RNN)推理。该设计在 Tesla V100 GPU 上实现了 30 倍的几何加速、1.6 倍的面积效率提升和 2 倍的功耗效率提升,相较于 FPGA 上的 Microsoft Brainwave 实现了 2 倍的加速。
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 生成,并经人工编辑审核。