admin 管理员组

文章数量: 887007

文献阅读(20)NPE OPU

文章目录

  • 1 introduction
  • 2 整体架构
  • 3 NVU架构
  • 4 非线性单元的数量

  • 题目:NPE: An FPGA-based Overlay Processor for Natural Language Processing
  • 时间:2021
  • 会议:FPGA
  • 研究机构:UCLA

1 introduction

Motivation:

  • 传统的DNN加速器能够加速的一个重要原因是计算位宽低,但transformer有很多非线性单元,数据精度更高,二者形成矛盾
  • 针对transformer的定制化硬件加速性能好,但灵活性不够,满足不了算法变更的需求

本篇论文的主要贡献:

  1. software-programmable domain-specific overlay processor,包括了矩阵乘法单元和多精度向量单元,其中softmax、layer norm、GELU都用向量单元来代替
  2. 利用分段多项式近似非线性单元

2 整体架构

  • MMU: matrix multiply unit
  • ICU: instruction control unit
  • MRU: memory read unit
  • MWU: memory write unit
  • NVU: nonlinear vector unit

3 NVU架构

NVU单元如图所示,包括了存储、计算和控制,本质上是SIMD结构,性能可以由VRWIDTH来描述,表示向量寄存器的宽度,如VRWIDTH=256表示32个8bit或者16个16bit数

4 非线性单元的数量

假定BERT的序列长度是512,一共2048个乘法器,如果流水起来,一个周期需要的非线性单元数量如下图所示

This builds on the analysis in Table 2, where we established that the worst-case throughput requirement for softmax is 32 elements per cycle to keep up with the MMU


如下图,矩阵乘完了是GELU,GELU后面是矩阵乘,然后再是Layer Norm,GELU卡在两个矩阵乘之间,速度必须跟矩阵单元的速度匹配,同理Layer Norm也是这样,但softmax还是有优化的空间的。

可以跟softmax overlap的操作有:

  • V i = X W v V_i = X W_v Vi​=XWv​
  • 下一个head中的矩阵乘运算

优化后非线性单元数量可以节省很多,当然,BERT的输入序列长度会影响softmax的次数,却不改变乘法次数,所以会影响softmax单元的最低数量

throughput requirements of matrix multiplies in BERT do not depend on BERT network sequence length

同时根据Table2,因为softmax占据的计算比例比较低(5%),即使softmax没有match上也没事

If the NVU’s softmax computation cannot match MMU throughput, we may still only get a small inference time overhead

本文标签: 文献阅读(20)NPE OPU