指令生成方法和推理方法技术

技术编号:39569042 阅读:5 留言:0更新日期:2023-12-03 19:19
本公开实施例公开了一种指令生成方法和推理方法

【技术实现步骤摘要】
指令生成方法和推理方法、装置、系统、设备和介质


[0001]本公开涉及人工智能技术,尤其是一种用于注意力机制的指令生成方法和推理方法

装置

系统

设备和介质


技术介绍

[0002]基于
Transformer
架构的深度学习模型
(
以下简称:
Transformer
模型
)
,可以在处理长文本时保持较好的性能,并且可以并行计算,提高处理速度,目前已广泛应用于自然语言处理
(Natural Language Processing

NLP)
领域,例如机器翻译

文本分类

问答系统等

注意力机制
(Attention)
作为
Transformer
模型的基础组成部分,在
NLP
任务中的地位变得越来越重要

当运用
Transformer
模型进行
NLP
任务时,
Transformer
模型通常会利用自注意力机制
(Self

Attention)
来计算输入序列中每个位置和所有位置之间的注意力分布,得到一个加权和表示该位置的上下文信息

由此,优化注意力机制的推理速度,可以有效降低算力资源消耗,减少
Transformer
模型的推理耗时,提升用户体验

[0003]相关技术在注意力机制的推理过程中,存在大量的访存操作,从而导致推理速度较低

推理耗时较长


技术实现思路

[0004]为了解决上述技术问题,本公开实施例提供了一种用于注意力机制的指令生成方法和推理方法

装置

设备和介质,以减少注意力机制的推理过程中访存操作的操作量

[0005]本公开实施例的一个方面,提供了一种用于注意力机制的指令生成方法,包括:
[0006]获取待编译注意力网络对应的初始模型;
[0007]去除所述初始模型中的至少部分访存处理;
[0008]基于去除的所述至少部分访存操作,确定需要更新的所述初始模型中的目标运算操作及对所述目标运算操作的更新方式;
[0009]基于对所述目标运算处理的更新方式,对所述目标运算操作进行更新,得到优化模型;
[0010]基于所述优化模型,通过编译处理生成计算机可执行的目标指令序列;
[0011]其中,基于所述待编译注意力网络对输入对象进行处理得到的第一中间结果,与基于所述优化模型对应的优化注意力网络对所述输入对象进行处理得到的第二中间结果相同

[0012]本公开实施例的另一个方面,提供了一种注意力机制的推理方法,包括:
[0013]获取优化注意力网络对应的计算机可执行的目标指令序列,所述目标指令序列基于本公开上述任一所述的用于注意力机制的指令生成方法生成;
[0014]将所述目标指令序列传输至硬件平台;
[0015]利用所述硬件平台执行所述目标指令序列,对接收到的输入对象中当前子对象对应的输入参数进行处理,获得所述当前子对象对应的推理结果,所述输入对象包括多个子
对象

[0016]本公开实施例的又一个方面,提供了一种用于注意力机制的指令生成装置,包括:
[0017]第一获取模块,用于获取待编译注意力网络对应的初始模型;
[0018]去除模块,用于去除所述初始模型中的至少部分访存操作;
[0019]更新确定模块,用于基于去除的所述至少部分访存操作,确定需要更新的所述初始模型中的目标运算操作及对所述目标运算操作的更新方式;
[0020]更新模块,用于基于对所述目标运算处理的更新方式,对所述目标运算操作进行更新,得到优化模型;
[0021]编译处理模块,用于基于所述优化模型,通过编译处理生成计算机可执行的目标指令序列;
[0022]其中,基于所述待编译注意力网络对输入对象进行处理得到的第一中间结果,与基于所述优化模型对应的优化注意力网络对所述输入对象进行处理得到的第二中间结果相同

[0023]本公开实施例的再一个方面,提供了一种注意力机制的推理系统,包括:
[0024]第二获取模块,用于获取优化注意力网络对应的计算机可执行的目标指令序列,所述目标指令序列基于本公开上述任一实施例所述的用于注意力机制的指令生成方法生成;
[0025]传输模块,用于将所述目标指令序列传输至硬件平台;
[0026]所述硬件平台,用于执行所述目标指令序列,对接收到的输入对象中当前子对象对应的输入参数进行处理,获得所述当前子对象对应的推理结果,所述输入对象包括多个子对象

[0027]本公开实施例的再一个方面,提供了一种深度学习模型,包括编码器和解码器;
[0028]所述边码器中包括基于优化模型实现的优化注意力网络,所述优化模型基于本公开上述任一实施例所述用于注意力机制的指令生成方法,获取待编译注意力网络对应的初始模型,对所述初始模型中的至少部分访存操作进行优化,并对所述初始模型中的目标运算操作进行更新得到

[0029]本公开实施例的再一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本公开任一实施例所述的方法

[0030]本公开实施例的再一个方面,提供了一种电子设备,所述电子设备包括:
[0031]处理器;
[0032]用于存储所述处理器可执行指令的存储器;
[0033]所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开任一实施例所述的方法

[0034]本公开实施例的再一个方面,提供了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行本公开任一实施例所述的方法

[0035]基于本公开实施例,通过获取待编译注意力网络对应的初始模型,去除该初始模型中的至少部分访存操作,基于去除的至少部分访存操作确定需要更新的初始模型中的目标运算操作及对目标运算操作的更新方式,然后,基于对该目标运算处理的更新方式,对该目标运算操作进行更新,得到优化模型,以使基于待编译注意力网络对输入对象进行处理
得到的第一中间结果,与基于该优化模型对应的优化注意力网络对同一输入对象进行处理得到的第二中间结果相同,进而,基于该优化模型通过编译处理生成计算机可执行的目标指令序列

由此,能够在保证优化前
(
待编译注意力网络
)、

(
优化注意力网络
)
对同一输入对象本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种用于注意力机制的指令生成方法,包括:获取待编译注意力网络对应的初始模型;去除所述初始模型中的至少部分访存处理;基于去除的所述至少部分访存操作,确定需要更新的所述初始模型中的目标运算操作及对所述目标运算操作的更新方式;基于对所述目标运算处理的更新方式,对所述目标运算操作进行更新,得到优化模型;基于所述优化模型,通过编译处理生成计算机可执行的目标指令序列;其中,基于所述待编译注意力网络对输入对象进行处理得到的第一中间结果,与基于所述优化模型对应的优化注意力网络对所述输入对象进行处理得到的第二中间结果相同
。2.
根据权利要求1所述的方法,其中,所述初始模型中包括运算操作和访存操作,所述访存操作包括转置操作和拼接操作
。3.
根据权利要求2所述的方法,其中,去除所述初始模型中的至少部分访存操作,包括:去除所述初始模型中的至少部分转置操作;基于对所述目标运算操作的更新方式,对所述目标运算操作进行更新运算操作,包括:对所述初始模型中第一运算操作的处理对象和
/
或所述处理对象的输入顺序进行调整,并在所述初始模型中增加对中间输出的转置操作,所述目标运算操作包括所述第一运算操作
。4.
根据权利要求3所述的方法,其中,所述优化模型中的处理操作,包括:对键向量矩阵缓存和第一键向量矩阵在第一指定维度上进行的拼接操作,基于该拼接操作得到第二键向量矩阵;对值向量矩阵缓存和第一值向量矩阵在第一指定维度上进行的拼接操作,基于该拼接操作得到第二值向量矩阵;对第一查询向量矩阵在第一指定维度对之间进行的转置操作,基于该转置操作得到第二查询向量矩阵;对所述第二查询向量矩阵与所述第二键向量矩阵进行的矩阵乘法操作,基于该矩阵乘法操作得到第一注意力分数矩阵;对所述第一注意力分数矩阵在第二指定维度对之间进行的转置操作,基于该转置操作得到第二注意力分数矩阵;对所述第二值向量矩阵与所述第二注意力分数矩阵进行的矩阵乘法操作,基于该矩阵乘法操作得到第一中间子结果;对所述第一中间子结果进行的再排列操作,基于该再排列操作得到所述第二中间结果
。5.
根据权利要求4所述的方法,其中,去除所述初始模型中的至少部分访存操作,还包括:去除所述初始模型中的至少部分拼接操作;基于对所述目标运算操作的更新方式,对所述目标运算操作进行更新运算操作,还包括:将所述初始模型中的第二运算操作转换为多个子操作
。6.
根据权利要求5所述的方法,其中,去除所述初始模型中的至少部分访存操作,包括:
去除所述初始模型中的以下操作:对键向量矩阵缓存和第一键向量矩阵在第一指定维度上进行的拼接操作;将所述初始模型中的第二运算操作转换为多个子操作,包括:将所述对所述第二查询向量矩阵与所述第二键向量矩阵进行的矩阵乘法操作转换为以下多个子操作:对所述第二查询向量矩阵与所述键向量矩阵缓存进行的矩阵乘法操作,基于该矩阵乘法操作得到第一子分数矩阵;对所述第二查询向量矩阵与所述第一键向量矩阵进行的矩阵乘法操作,基于该矩阵乘法操作得到第二子分数矩阵;对所述第一子分数矩阵和所述第二子分数矩阵在所述第一指定维度上进行的拼接操作
。7.
根据权利要求5所述的方法,其中,去除所述初始模型中的至少部分访存操作,包括:去除所述初始模型中的以下操作:对所述值向量矩阵缓存和第一值向量矩阵在第一指定维度上进行的拼接操作;将所述初始模型中的第二运算操作转换为多个子操作,包括:将所述对所述第二值向量矩阵与所述第三注意力分数矩阵进行的矩阵乘法操作转换为以下多个子操作:对所述第三注意力分数矩阵在第三指定维度上进行的切割操作,基于该切割操作得到第三子分数矩阵和第四子分数矩阵;对所述值向量矩阵缓存与所述第三子分数矩阵进行的矩阵乘法操作,基于该矩阵乘法操作得到第二中间子结果;对所述第一值向量矩阵与所述第四子分数矩阵进行的矩阵乘法操作,基于该矩阵乘法操作得到第三中间子结果;对所述第二中间子结果和所述第三中间子结果进行的加法操作
。8.
根据权利要求5所述的方法,其中,去除所述初始模型中的至少部分访存操作,包括:去除所述初始模型中的以下操作:对键向量矩阵缓存和第一键...

【专利技术属性】
技术研发人员:宋星辰
申请(专利权)人:北京地平线机器人技术研发有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1