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的定制化硬件加速性能好,但灵活性不够,满足不了算法变更的需求
本篇论文的主要贡献:
- software-programmable domain-specific overlay processor,包括了矩阵乘法单元和多精度向量单元,其中softmax、layer norm、GELU都用向量单元来代替
- 利用分段多项式近似非线性单元
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
版权声明:本文标题:文献阅读(20)NPE OPU 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732350767h1532981.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论