买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明公开了一种面向Transformer模型的可兼容多头自注意力和卷积计算的数据流设计方法。首先,本发明对Transformer模型中的多头自注意力模块提出了一种基于三元矩阵乘法算子的等价计算形式。然后,基于脉动阵列的数据传输形式,本发明通过算子融合设计了三元矩阵乘法算子的数据流,该数据流包括向量×向量模式和元素×向量模式,使中间计算结果保持在计算单元中,完全避免了中间结果向片外存储和片上全局缓存进行数据搬移。最后,基于该数据流,本发明提出了可兼容多头自注意力和卷积的计算策略以及对应的映射方案,充分利用了各种数据复用机会,实现了多头自注意力算子和卷积算子的高能效计算。
主权项:1.一种可兼容多头自注意力和卷积计算的数据流设计方法,其特征在于,包括以下步骤:S100:将多头自注意力算子涉及到的矩阵向量进行变形,包括偏置向量和权重向量的融合,以及元素全为1的列向量与输入特征向量的融合;S200:根据经过变形的矩阵向量,得到多头自注意力算子的等价计算形式,包括三元矩阵乘法算子、二元矩阵乘法算子和Softmax算子,其中三元矩阵乘法算子为三个矩阵连续相乘,计算形式为T=A×B×CT;S300:分别以向量×向量和元素×向量两种数据流模式完成三元矩阵乘法算子和二元矩阵乘法算子的计算;向量×向量数据流模式是指,通过脉动阵列的形式,在每个计算周期内,计算单元能够读取输入数据A和B,并完成一次乘累加运算,随后立即将在本周期内接收的输入数据分别传递给右方和下方的计算单元,使得该输入数据在下个周期内可以被相邻的计算单元使用,而在本周期内计算得到的部分和M=A×B会一直驻留在计算单元中并不断地累加和更新,当这个部分和被累加成完整的结果后,计算单元会将该元素存储到它的本地缓存中,以供该计算单元在元素×向量模式下读取并使用;元素×向量数据流模式是指,输入矩阵C在列计算单元间脉动传输,而在行计算单元间脉动传输的是输出矩阵T的部分和;在开始脉动传输矩阵C之前,每个计算单元会从本地缓存中读取中间结果M中的一个元素,然后在接收到矩阵C中的数据后进行一次乘法运算,并与左边计算单元传来的部分和进行累加,随后将刚接收到的矩阵C传输给下方的计算单元,而将运算得到的部分和传输给右方的计算单元;最终,最右侧的一列计算单元将脉动输送一系列T的部分和,这些部分和将送入FIFO并在FIFO中实现连续的累加;S400:卷积的计算方法是:依据在多头自注意力算子的计算过程中各矩阵向量在内存中的存储格式,并且根据元素×向量的数据流模式,从卷积核和输入特征中按卷积窗口滑动的规则抽取出相应的行向量并组成二维矩阵,然后依据元素×向量模式完成卷积算子的计算。
全文数据:
权利要求:
百度查询: 东南大学 可兼容多头自注意力和卷积计算的数据流设计方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。