深度学习模型的推理方法、机器翻译方法及装置制造方法及图纸

技术编号:37372158 阅读:16 留言:0更新日期:2023-04-27 07:16
本发明专利技术涉及一种深度学习模型的推理方法、机器翻译方法及装置。该推理方法包括:根据待处理的第一深度学习模型的计算图,确定所述第一深度学习模型的候选算子组合;根据所述候选算子组合确定对应的目标加速算子;将所述目标加速算子替换所述第一深度学习模型中的候选算子组合,根据替换后的第一深度学习模型进行推理。本发明专利技术在算子层面精确、灵活地确定了可融合的算子;根据候选算子组合确定了第一深度学习模型的加速算子;通过将候选算子组合替换为加速算子,提升了第一深度学习模型的推理效率。率。率。

【技术实现步骤摘要】
深度学习模型的推理方法、机器翻译方法及装置


[0001]本专利技术涉及人工智能
,尤其涉及一种深度学习模型的推理方法、机器翻译方法及装置。

技术介绍

[0002]深度神经网络在人工智能领域中应用广泛,学术界及工业界往往使用开源机器学习框架(如Tensorflow、Pytorch等)来实现特定结构的神经网络。开源机器学习框架为了给用户较大的深度神经网络设计自由度,在底层实现了诸多细粒度的算子来满足多变的使用需求,但同时导致了推理设备在推理过程中对细粒度算子的频繁调用、数据频繁地读写及拷贝,限制了模型的推理性能。相应地影响了用户体验,也增加了推理设备的成本。

技术实现思路

[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]为所述样本算子组合中的各个样本算子分别创建对应的待验证本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种深度学习模型的推理方法,其特征在于,包括:根据待处理的第一深度学习模型的计算图,确定所述第一深度学习模型的候选算子组合;其中,所述候选算子组合包括第一候选算子组合和/或第二候选算子组合;所述第一候选算子组合是所述第一深度学习模型的计算图中,同一分支内的具有依赖关系的多个算子的组合;所述第二候选算子组合是所述第一深度学习模型的计算图中,并行分支内具有相同上游节点的多个算子的组合;根据所述候选算子组合确定对应的目标加速算子;其中,所述目标加速算子包括第一加速算子和/或第二加速算子;所述第一加速算子是作为样本的第二深度学习模型的计算图中,同一分支内的具有依赖关系的多个算子融合后得到的;所述第二加速算子是所述第二深度学习模型的计算图中,并行分支内具有相同上游节点的多个算子融合后得到的;将所述目标加速算子替换所述第一深度学习模型中的候选算子组合,并根据替换后的第一深度学习模型进行推理。2.根据权利要求1所述的深度学习模型的推理方法,其特征在于,所述根据所述候选算子组合确定对应的目标加速算子,包括:根据所述候选算子组合在预先建立的加速算子库中查找对应的目标加速算子;其中,所述加速算子库包括算子组合与加速算子之间的映射关系;或,将所述候选算子组合中的算子进行融合,得到对应的目标加速算子。3.根据权利要求1所述的深度学习模型的推理方法,其特征在于,所述将所述目标加速算子替换所述第一深度学习模型中的候选算子组合,并根据替换后的第一深度学习模型进行推理,包括:将所述第一深度学习模型中的候选算子组合替换为所述目标加速算子;根据替换后的第一深度学习模型进行推理测试,根据所述推理测试的结果对所述目标加速算子进行验证;在所述目标加速算子验证合格的情况下,根据替换后的第一深度学习模型进行推理;在所述目标加速算子验证不合格的情况下,对所述目标加速算子进行分析,根据分析结果调整所述目标加速算子,然后将所述第一深度学习模型中的候选算子组合替换为调整后的目标加速算子,并重新执行所述根据替换后的第一深度学习模型进行推理测试的步骤。4.根据权利要求3所述的深度学习模型的推理方法,其特征在于,所述对所述目标加速算子进行分析,根据分析结果调整所述目标加速算子,包括:在所述目标加速算子是所述第一加速算子的情况下,根据算子数据处理的先后顺序,逐步融合所述第一候选算子组合中的算子,或,在所述目标加速算子是所述第二加速算子的情况下,根据预设顺序逐步融合所述第二候选算子组合中的算子;依次验证融合后的加速算子,确定出导致融合后的加速算子验证不合格的异常算子;重新构建所述异常算子,并验证融合重新构建的异常算子后的加速算子,在验证合格的情况下,继续融合下一算子,直至最终融合后的所述目标加速算子验证合格。5.根据权利要求2所述的深度学习模型的推理方法,其特征在于,在所述根据所述候选算子组合在预先建立的加速算子库中查找对应的目标加速算子之后,在所述将所述目标加
速算子替换所述第一深度学习模型中的候选算子组合之前,方法还包括:在未为所述候选算子组合查找到对应目标加速算子的情况下,针对所述候选算子组合中的每个算子执行以下处理:在预先建立的基础算子库中查找对应所述算子的已验证算子;将与所述候选算子组合中的多个所述算子一一对应的多个所述已验证算子进行融合,得到与所述候选算子组合所对应的目标加速算子。6.根据权利要求5所述的深度学习模型的推理方法,其特征在于,当在预先建立的基础算子库中未查找到对应所述算子的已验证算子时,方法还包括:创建对应所述算子的待验证算子,并对所述待验证算子进行验证,将验证合格的算子确定为所述算子对应的已验证算子。7.根据权利要求1所述的深度学习模型的推理方法,其特征在于,所述根据待处理的第一深度学习模型的计算图,确定所述第一深度学习模型的候选算子组合,包括:在所述第一深度学习模型的计算图的第一分支中,当至少两个相邻的算子满足第一条件、第二条件与第三条件中的任意一项时,将所述至少两个相邻的算子组成所述第一深度学习模型的第一候选算子组合;其中,所述第一条件包括:至少两个相邻的算子均为单射函数算子;所述第二条件包括:至少两个相邻的算子包括约简算子以及作为所述约简算子输入的单射函数算子;所述第三条件包括:至少两个相邻的算子包括能够融合输出的算子与逐元素复用的算子;所述第一分支为所述第一深度学习模型的计算图中的任意一个分支;在所述第一深度学习模型的计算图的至少两个并行分支中,当存在具有相同上游节点的多个算子时,将所述多个算子组成所述第一深度学习模型的第二候选算子组合。8.根据权利要求1至7任一项所述的深度学习模型的推理方法,其特征在于,在所述根据所述候选算子组合确定对应的目标加速算子之前,方法还包括:根据作为样本的第二深度学习模型的计算图,确定所述第二深度学习模型的样本算子组合;其中,所述样本算子组合包括第一样本算子组合和/或第二样本算子组合;所述第一样本算子组合是所述第二深度学习模型的计算图中,同一分支内的具有依赖关系的多个样本算子的组合;所述第二样本算子组合是所述第二深度学习模型的计算图中,并行分支内具有相同上游节点的多个样本算子的组合;获取所述样本算子组合中的各个样本算子分别对应的已验证样本算子,并保存在基础算子库中;对所述样本算子组合中的各个样本算子所对应的已验证样本算子进行融合,得到与所述样本算子组合所对应的加速算子,并保存在加速算子库中。9.根据权利要求8所述的深度学习模型的推理方法,其特征在于,所述获取所述样本算子组合中的各个样本算子分别对应的已验证样本算子,包括:为所述样本算子组合中的各个样本算子分别创建对应的待验证样本算子;对所述待验证样本算子进行验证;验证合格后得到...

【专利技术属性】
技术研发人员:汪保玉王浪
申请(专利权)人:北京金山办公软件股份有限公司武汉金山办公软件有限公司
类型:发明
国别省市:

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

1