神经网络模型优化方法、装置及计算设备制造方法及图纸

技术编号:38201578 阅读:13 留言:0更新日期:2023-07-21 16:44
公开了神经网络模型优化方法、装置及计算设备,涉及人工智能领域。方法包括:计算设备获取到待优化神经网络模型,用子图集包含的子图与待优化神经网络模型包含的算子可能构成的子图进行匹配。若计算设备匹配到待优化神经网络模型中第一子图,用子图集中与第一子图等价的第二子图替换第一子图,得到优化后神经网络模型。优化后神经网络模型包含第二子图。第二子图对输入数据的处理效率大于第一子图对输入数据的处理效率。从而,在确保神经网络模型处理数据的精度无损的前提下,显著地缩短神经网络模型处理数据的时长。网络模型处理数据的时长。网络模型处理数据的时长。

【技术实现步骤摘要】
神经网络模型优化方法、装置及计算设备


[0001]本申请涉及人工智能领域,尤其涉及一种神经网络模型优化方法、装置及计算设备。

技术介绍

[0002]人工智能(Artificial Intelligence,AI)是利用计算机模拟和扩展人的智能,感知环境、获取知识并使用知识获得结果的理论、方法、技术及应用系统。人工智能技术广泛应用于机器学习(Machine Learning,ML)、自然语言处理、计算机视觉、决策与推理、人机交互、推荐与搜索和AI基础理论等领域。基于神经网络模型处理数据实现识别等应用功能是人工智能应用的关键技术。
[0003]通常,云侧设备可以采用训练集对神经网络模型进行训练,使神经网络模型具备识别等应用功能,并将神经网络模型部署到至少一个终端(如:智能手机、摄像头、自动驾驶汽车等)。终端利用配置的神经网络模型对获取到的应用数据(如:图像、语音等)进行处理实现识别等应用功能。为了提高神经网络模型处理数据的精度,神经网络模型逐渐呈现结构复杂化和参数量增多的趋势,导致神经网络模型处理数据所需的计算资源算力越来越高,以及处理数据时长越来越长。

技术实现思路

[0004]本申请提供了神经网络模型优化方法、装置及计算设备,由此在确保神经网络模型处理数据的精度的前提下,缩短神经网络模型处理数据的时长。
[0005]第一方面,提供了一种神经网络模型优化方法,方法由计算设备执行。方法包括:计算设备获取到待优化神经网络模型,在子图集中查找待优化神经网络模型中的第一子图的等价子图,将待优化神经网络模型中的第一子图替换为等价子图。等价子图与第一子图针对相同的输入数据,输出也相同,且等价子图对输入数据的处理效率大于第一子图对输入数据的处理效率,子图集中包括多个子图。
[0006]如此,对待优化神经网络模型中的子图进行子图替换后,由于等价子图对输入数据的处理效率大于第一子图对输入数据的处理效率,从而,在确保神经网络模型处理数据的精度无损的前提下,显著地缩短神经网络模型处理数据的时长。该方法可以实现自动优化神经网络模型,简单、直观、高效、可扩展性强,只需输入神经网络模型即可快速对神经网络模型完成优化,不需任何数据且精度无损,适用场景广泛。在一些时延敏感场景,如目标识别、自动驾驶、车牌识别、目标检测等场景,本申请实施例提供的神经网络模型优化方法尤其适用,能够有效地提升神经网络模型推理速度,缩短神经网络模型推理耗时,提升用户体验。
[0007]在一种可能的实现方式中,在子图集中查找待优化神经网络模型中的第一子图的等价子图包括:在子图集中确定与第一子图对应的第二子图,第二子图与第一子图针对相同的输入数据,输出也相同;确定计算设备中用于执行第一子图的计算资源执行第二子图
时的数据处理效率高于执行第一子图时数据处理效率;将第二子图作为等价子图。
[0008]在另一种可能的实现方式中,在子图集中确定与第一子图对应的第二子图包括:输入输入数据至第一子图,通过计算资源运行第一子图,输出运行结果;输入输入数据至子图集中的至少一个子图,确定与运行结果相同的子图为第二子图。
[0009]在另一种可能的实现方式中,方法还包括:记录第一子图与第二子图的映射关系至子图集。
[0010]在另一种可能的实现方式中,子图集中包括第一子图与第二子图的第一映射关系;在子图集中确定与第一子图对应的第二子图包括:根据第一映射关系确定与第一子图对应的第二子图。
[0011]用子图集指示的具有等价关系的子图,即第一映射关系,与待优化神经网络模型中的子图进行匹配。待优化神经网络模型包含多个算子,多个算子构成多个子图,至少两个算子构成一个子图。若计算设备确定到待优化神经网络模型中待替换的第一子图,用子图集中与第一子图等价的第二子图替换第一子图,得到优化后神经网络模型。优化后神经网络模型包含第二子图。基于计算资源处理数据时,优化后神经网络模型的时长小于待优化神经网络模型的时长。其中,具有等价关系的子图用于根据同一输入数据输出相同结果。
[0012]示例地,根据子图特征确定待优化神经网络模型中与子图集包含的子图相同的第一子图。子图特征包含算子类型、子图结构和算子参数。如此,根据子图特征进行子图匹配,从待优化神经网络模型中搜索出与子图集包含的子图相同的子图,能够有效地提高搜索的准确性。
[0013]在另一种可能的实现方式中,在根据子图集确定待优化神经网络模型中待替换的第一子图之前,方法还包括:根据多个应用场景的神经网络模型获取算子集;根据算子集搜索具有等价关系的子图,以生成子图集。从而,提供了一种等价子图自动搜索方法,基于算子集自动搜索可能的等价子图,无遗漏,节省人力。
[0014]如此,基于等价子图对待优化神经网络模型中的子图进行子图替换,由于优化后神经网络模型中替换后的子图亲和利用优化后神经网络模型处理数据的计算资源,即计算资源计算替换后的子图能够有效利用计算资源的运算能力,从而,在确保神经网络模型处理数据的精度无损的前提下,显著地缩短神经网络模型处理数据的时长。该方法可以实现自动优化神经网络模型,简单、直观、高效、可扩展性强,只需输入神经网络模型即可快速对神经网络模型完成优化,不需任何数据且精度无损,适用场景广泛。在一些时延敏感场景,如目标识别、自动驾驶、车牌识别、目标检测等场景,本申请实施例提供的神经网络模型优化方法尤其适用,能够有效地提升神经网络模型推理速度,缩短神经网络模型推理耗时,提升用户体验。
[0015]在计算设备得到优化后神经网络模型后,可以将优化后神经网络模型部署到至少一个终端,使终端根据优化后神经网络模型处理应用数据时,缩短数据处理时长,提升了终端数据处理性能。
[0016]其中,用子图集中与第一子图等价的第二子图替换第一子图,包括:若计算资源计算第二子图的算力高于计算资源计算第一子图的算力,用第二子图替换第一子图。计算资源计算子图的算力与计算资源计算子图的时长有关。算力可以是计算资源计算第一子图的数据处理效率。
[0017]在另一种可能的实现方式中,确定计算设备中用于执行第一子图的计算资源执行第二子图时的数据的处理效率高于执行第一子图时的数据处理效率包括:计算资源调用代价函数运行第一子图,记录第一数据处理效率;计算资源调用代价函数运行第二子图,记录第二数据处理效率;通过比较第一数据处理效率与第二数据处理效率确定执行第二子图时的数据的处理效率高于执行第一子图时的数据处理效率。
[0018]示例地,用子图集中与第一子图等价的第二子图替换第一子图,包括:基于计算资源利用代价函数分别确定第二子图的时长和第一子图的时长,代价函数用于基于同一计算资源计算具有等价关系的子图的时长;若第二子图的时长小于第一子图的时长,用第二子图替换第一子图。
[0019]如此,基于代价函数衡量子图替换前后对神经网络模型推理性能的影响,自动决策是否进行子图替换,提高子图替换的准确性,从而,能够保证基于当前硬件平台子图替换能够带来性能提升。应理解,当前硬件平台可以是指利用优化后本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型优化方法,其特征在于,所述方法由计算设备执行,所述方法包括:获取待优化神经网络模型,所述待优化神经网络模型包含多个算子,所述多个算子构成多个子图,至少两个算子构成一个子图;在子图集中查找所述待优化神经网络模型中的第一子图的等价子图,所述等价子图与所述第一子图针对相同的输入数据,输出也相同,且所述等价子图对所述输入数据的处理效率大于所述第一子图对所述输入数据的处理效率,所述子图集中包括多个子图;将所述待优化神经网络模型中的第一子图替换为所述等价子图。2.根据权利要求1所述的方法,其特征在于,所述在子图集中查找所述待优化神经网络模型中的第一子图的等价子图包括:在所述子图集中确定与所述第一子图对应的第二子图,所述第二子图与所述第一子图针对相同的输入数据,输出也相同;确定所述计算设备中用于执行所述第一子图的计算资源执行所述第二子图时的数据处理效率高于执行所述第一子图时数据处理效率;将所述第二子图作为所述等价子图。3.根据权利要求2所述的方法,其特征在于,所述在所述子图集中确定与所述第一子图对应的第二子图包括:输入所述输入数据至所述第一子图,通过所述计算资源运行所述第一子图,输出运行结果;输入所述输入数据至所述子图集中的至少一个子图,确定与所述运行结果相同的子图为所述第二子图。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:记录所述第一子图与所述第二子图的映射关系至所述子图集。5.根据权利要求2所述的方法,其特征在于,所述子图集中包括所述第一子图与所述第二子图的第一映射关系;所述在所述子图集中确定与所述第一子图对应的第二子图包括:根据所述第一映射关系确定与所述第一子图对应的第二子图。6.根据权利要求3或4所述的方法,其特征在于,所述确定所述计算设备中用于执行所述第一子图的计算资源执行所述第二子图时的数据的处理效率高于执行所述第一子图时的数据处理效率包括:所述计算资源调用代价函数运行所述第一子图,记录第一数据处理效率;所述计算资源调用代价函数运行所述第二子图,记录第二数据处理效率;通过比较所述第一数据处理效率与所述第二数据处理效率确定执行所述第二子图时的数据的处理效率高于执行所述第一子图时的数据处理效率。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:记录所述计算资源、所述第一子图、所述第二子图的映射关系至所述子图集。8.根据权利要求2所述的方法,其特征在于,所述子图集中包括计算资源、第一子图、第二子图的第二映射关系;所述在所述子图集中确定与所述第一子图对应的第二子图包括:
根据所述第二映射关系确定所述第一子图对应的第二子图;所述确定所述计算设备中用于执行所述第一子图的计算资源执行所述第二子图时的数据处理效率高于执行所述第一子图时数据处理效率包括:根据所述第二映射关系确定用于执行所述第一子图的计算资源执行所述第二子图时的数据处理效率高于执行所述第一子图时数据处理效率。9.一种神经网络模型优化装置,其特征在于,包括:通信模块,用于获取待优化神经网络模型,所述待优化神经网络模型包含多个算子,所述多个算子构成多个子图,至少两个算子构成一个子图;待替换模块,用于...

【专利技术属性】
技术研发人员:袁熙昊林菁严一超王兵
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1