【技术实现步骤摘要】
指令生成方法和推理方法、装置、系统、设备和介质
[0001]本公开涉及人工智能技术,尤其是一种用于注意力机制的指令生成方法和推理方法
、
装置
、
系统
、
设备和介质
。
技术介绍
[0002]基于
Transformer
架构的深度学习模型
(
以下简称:
Transformer
模型
)
,可以在处理长文本时保持较好的性能,并且可以并行计算,提高处理速度,目前已广泛应用于自然语言处理
(Natural Language Processing
,
NLP)
领域,例如机器翻译
、
文本分类
、
问答系统等
。
注意力机制
(Attention)
作为
Transformer
模型的基础组成部分,在
NLP
任务中的地位变得越来越重要
。
当运用
Transformer
模型进行
NLP
任务时,
Transformer
模型通常会利用自注意力机制
(Self
‑
Attention)
来计算输入序列中每个位置和所有位置之间的注意力分布,得到一个加权和表示该位置的上下文信息
。
由此,优化注意力机制的推理速度,可以有效降低算力资源消耗,减少
Transf ...
【技术保护点】
【技术特征摘要】
1.
一种用于注意力机制的指令生成方法,包括:获取待编译注意力网络对应的初始模型;去除所述初始模型中的至少部分访存处理;基于去除的所述至少部分访存操作,确定需要更新的所述初始模型中的目标运算操作及对所述目标运算操作的更新方式;基于对所述目标运算处理的更新方式,对所述目标运算操作进行更新,得到优化模型;基于所述优化模型,通过编译处理生成计算机可执行的目标指令序列;其中,基于所述待编译注意力网络对输入对象进行处理得到的第一中间结果,与基于所述优化模型对应的优化注意力网络对所述输入对象进行处理得到的第二中间结果相同
。2.
根据权利要求1所述的方法,其中,所述初始模型中包括运算操作和访存操作,所述访存操作包括转置操作和拼接操作
。3.
根据权利要求2所述的方法,其中,去除所述初始模型中的至少部分访存操作,包括:去除所述初始模型中的至少部分转置操作;基于对所述目标运算操作的更新方式,对所述目标运算操作进行更新运算操作,包括:对所述初始模型中第一运算操作的处理对象和
/
或所述处理对象的输入顺序进行调整,并在所述初始模型中增加对中间输出的转置操作,所述目标运算操作包括所述第一运算操作
。4.
根据权利要求3所述的方法,其中,所述优化模型中的处理操作,包括:对键向量矩阵缓存和第一键向量矩阵在第一指定维度上进行的拼接操作,基于该拼接操作得到第二键向量矩阵;对值向量矩阵缓存和第一值向量矩阵在第一指定维度上进行的拼接操作,基于该拼接操作得到第二值向量矩阵;对第一查询向量矩阵在第一指定维度对之间进行的转置操作,基于该转置操作得到第二查询向量矩阵;对所述第二查询向量矩阵与所述第二键向量矩阵进行的矩阵乘法操作,基于该矩阵乘法操作得到第一注意力分数矩阵;对所述第一注意力分数矩阵在第二指定维度对之间进行的转置操作,基于该转置操作得到第二注意力分数矩阵;对所述第二值向量矩阵与所述第二注意力分数矩阵进行的矩阵乘法操作,基于该矩阵乘法操作得到第一中间子结果;对所述第一中间子结果进行的再排列操作,基于该再排列操作得到所述第二中间结果
。5.
根据权利要求4所述的方法,其中,去除所述初始模型中的至少部分访存操作,还包括:去除所述初始模型中的至少部分拼接操作;基于对所述目标运算操作的更新方式,对所述目标运算操作进行更新运算操作,还包括:将所述初始模型中的第二运算操作转换为多个子操作
。6.
根据权利要求5所述的方法,其中,去除所述初始模型中的至少部分访存操作,包括:
去除所述初始模型中的以下操作:对键向量矩阵缓存和第一键向量矩阵在第一指定维度上进行的拼接操作;将所述初始模型中的第二运算操作转换为多个子操作,包括:将所述对所述第二查询向量矩阵与所述第二键向量矩阵进行的矩阵乘法操作转换为以下多个子操作:对所述第二查询向量矩阵与所述键向量矩阵缓存进行的矩阵乘法操作,基于该矩阵乘法操作得到第一子分数矩阵;对所述第二查询向量矩阵与所述第一键向量矩阵进行的矩阵乘法操作,基于该矩阵乘法操作得到第二子分数矩阵;对所述第一子分数矩阵和所述第二子分数矩阵在所述第一指定维度上进行的拼接操作
。7.
根据权利要求5所述的方法,其中,去除所述初始模型中的至少部分访存操作,包括:去除所述初始模型中的以下操作:对所述值向量矩阵缓存和第一值向量矩阵在第一指定维度上进行的拼接操作;将所述初始模型中的第二运算操作转换为多个子操作,包括:将所述对所述第二值向量矩阵与所述第三注意力分数矩阵进行的矩阵乘法操作转换为以下多个子操作:对所述第三注意力分数矩阵在第三指定维度上进行的切割操作,基于该切割操作得到第三子分数矩阵和第四子分数矩阵;对所述值向量矩阵缓存与所述第三子分数矩阵进行的矩阵乘法操作,基于该矩阵乘法操作得到第二中间子结果;对所述第一值向量矩阵与所述第四子分数矩阵进行的矩阵乘法操作,基于该矩阵乘法操作得到第三中间子结果;对所述第二中间子结果和所述第三中间子结果进行的加法操作
。8.
根据权利要求5所述的方法,其中,去除所述初始模型中的至少部分访存操作,包括:去除所述初始模型中的以下操作:对键向量矩阵缓存和第一键...
【专利技术属性】
技术研发人员:宋星辰,
申请(专利权)人:北京地平线机器人技术研发有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。