作者及发刊详情
刘晓航, 姜晶菲, 许金伟. 基于脉动阵列的层融合注意力模型加速器结构[J]. Computer Engineering & Science/Jisuanji Gongcheng yu Kexue, 2023, 45(5).
摘要
正文
主要工作贡献
1))提出了硬件协同控制的注意力机制矩阵分块方法
2)提出了基于双步softmax函数分解计算的层融合计算方法,使softmax函数能够更好地适配块矩阵计算
3)设计了基于细粒度调度的层融合注意力机制计算流程,将提出的计算分块方法和softmax函数分解方法应用于注意力机制计算中
4)采用高级综合语言 HLS(HighLevelSynthesis)实现了基于脉动阵列的层融合注意力模型加速器结构。采用双脉动阵列结构和乒乓结构来减小计算资源延迟和增加吞吐量。
实验环境
实验验证平台:
选用模型:
训练数据集:
推理任务
工具:
实验评估
注意力加速器结构与配置了IntelCorei7-8700K 处理器的CPU 实现相比,延迟加速了4.91倍;与 GeForceGTX1080Ti上的 GPU 实现相比,能效提高了1.24倍。
设计思想
硬件协同控制的注意力机制矩阵分块
为了减少存储资源的利用,考虑到无论注意力模型怎么变化,分在每个head上的权重维度是不变,因此可以将注意力机制的矩阵Q、K、V 以及中间生成的矩阵S 全部分成了64×64大小的矩阵块。
分块操作的softmax函数分解计算
细粒度调度的层融合注意力计算
硬件设计
- 采用2个SA(systolic array)作为加速器的主要计算模块,分别执行 Q K T QK^T QKT、每个元素的指数操作,以及 S V SV SV、指数和操作。
- 每个SA由NxN个PE阵列组成,每个PE是实现乘累加功能且自带寄存器,SA0的PE中配置求指数逻辑
- 采用大量的FIFO保持脉动阵列的高流水性,FIFO的数量取决于N,大小取决于缓冲区Q0的大小
- FIFO后设置两个并行的求和逻辑,求解指数和
- PEarray由64个乘法阵列组成,用来并行计算矩阵Z与向量sum的除法。
- 本设计的缓冲区采用乒乓结构来加速流水计算
参考文献
评
针对transformer的attention计算的较为简单的加速硬件设计。