模型推理性能的分析方法、装置及电子设备制造方法及图纸

技术编号:36212015 阅读:21 留言:0更新日期:2023-01-04 12:08
本公开提供了一种模型推理性能的分析方法、装置及电子设备,涉及人工智能技术领域,尤其涉及深度学习及模型推理等技术领域。具体实现方案为:确定待分析模型;接收第一输入,并获取所述第一输入中的目标信息,所述目标信息包括插桩代码的位置信息或针对预先嵌入的性能分析器的启动指令;基于所述目标信息执行对所述待分析模型的推理性能分析,并生成分析结果文件。文件。文件。

【技术实现步骤摘要】
模型推理性能的分析方法、装置及电子设备


[0001]本公开涉及人工智能
,尤其涉及深度学习、模型推理等
,具体涉及一种模型推理性能的分析方法、装置及电子设备。

技术介绍

[0002]目前,机器学习与深度学习的相关技术在自然语言处理、计算机视觉等众多领域取得了巨大成功,也逐渐在各行各业中落地。性能剖析(Profiling)是指在程序的执行过程中,收集能反映程序执行状态的数据,例如程序执行所占用的内存、特定指令的使用情况或函数调用的频率和持续时间等,帮助定位和优化程序性能问题。

技术实现思路

[0003]本公开提供了一种模型推理性能的分析方法、装置及电子设备。
[0004]根据本公开的第一方面,提供了一种模型推理性能的分析方法,包括:
[0005]确定待分析模型;
[0006]接收第一输入,并获取所述第一输入中的目标信息,所述目标信息包括插桩代码的位置信息或针对预先嵌入的性能分析器的启动指令;
[0007]基于所述目标信息执行对所述待分析模型的推理性能分析,并生成分析结果文件。
[0008]根据本公开的第二方面,提供了一种模型推理性能的分析装置,包括:
[0009]确定模块,用于确定待分析模型;
[0010]获取模块,用于接收第一输入,并获取所述第一输入中的目标信息,所述目标信息包括插桩代码的位置信息或针对预先嵌入的性能分析器的启动指令;
[0011]分析模块,用于基于所述目标信息执行对所述待分析模型的推理性能分析,并生成分析结果文件。
[0012]根据本公开的第三方面,提供了一种电子设备,包括:
[0013]至少一个处理器;以及
[0014]与所述至少一个处理器通信连接的存储器;其中,
[0015]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
[0016]根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据第一方面所述的方法。
[0017]根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面所述的方法。
[0018]本公开实施例中,在确定待分析模型后,获取第一输入中的目标信息,而所述目标信息包括插桩代码的位置信息或针对预先嵌入的性能分析器的启动指令,进而也就能够基于所述插桩代码的位置信息来确定待分析模型的模型代码中需要插桩的位置,或者能够基
于所述启动指令来对预先嵌入的性能分析器执行启动,从而能够自动调用插桩代码或自动启动性能分析器来实现对待分析模型的推理性能分析,无需用户针对每个待分析的模型逐个在模型代码中写入实现推理性能分析的代码或相关性能分析工具,有效节省了用户模型推理性能分析的操作时间,也提升了对模型推理性能分析的效率。
[0019]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0020]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0021]图1是本公开实施例提供的一种模型推理性能的分析方法的流程图之一;
[0022]图2是本公开实施例提供的一种模型推理性能的分析方法的流程图之二;
[0023]图3是应用本公开实施例提供的一种模型推理性能的分析方法的场景示意图;
[0024]图4是本公开实施例提供的一种模型推理性能的分析装置的结构图之一;
[0025]图5是本公开实施例提供的一种模型推理性能的分析装置的结构图之二;
[0026]图6是用来实现本公开实施例的模型推理性能的分析方法的电子设备的框图。
具体实施方式
[0027]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0028]为更好地理解,以下对本公开实施例中可能涉及的相关概念及原理进行解释说明。
[0029]可以理解地,机器学习与深度学习的相关技术在自然语言处理、计算机视觉等众多领域取得了较大成功,也逐渐在各行各业中得到应用。机器学习与深度学习领域的开发者需要编写加载模型、读取数据、数据预处理、预测、数据后处理等部分的代码,从而使模型能够完成推理的全过程。在这个过程中,开发者或用户可能会发现模型推理的过程较慢,希望能够提升推理速度。性能分析(Profiling)是指在程序的执行过程中,收集能反映程序执行状态的数据,例如程序执行所占用的内存、特定指令的使用情况或函数调用的频率和持续时间等,用户可以使用性能分析(profile)工具帮助应用程序定位和优化性能问题。
[0030]为了解决分析模型推理耗时的问题,工业界专利技术了多种代码性能分析工具,比如cProfiler、py

spy、Tensorflow Profiler等,它们可以应用于不同场景下的性能问题定位与优化。相关技术中,在进行模型的推理性能分析时,通常需要开发者在初始代码中写入插桩相关的代码后,运行代码,输出分析结果,然后使用相关Profile工具读取分析结果。当需要对多个模型进行推理性能分析,也就需要开发者在每个模型的初始代码中来写入插桩代码,这也就需要消耗开发者较多时间,也导致模型性能分析的操作时间较长、效率较低。另外,使用Profile工具的前提条件是用户处于程序运行的环境下。当用户远程访问在线模型推理服务时,就无法直接使用Profile工具实现对模型推理的性能与耗时进行分析。
[0031]以下结合附图,对本公开实施例提供的模型推理性能的分析方法进行详细说明。
[0032]请参照图1,图1是本公开实施例提供的一种模型推理性能的分析方法的流程图之一,如图1所示,所述方法包括以下步骤:
[0033]步骤S101、确定待分析模型。
[0034]其中,所述待分析模型也即需要进行推理性能分析的模型。需要说明的是,本公开实施例中的待分析模型并不限定于是某类特定的模型,例如所述待分析模型可以是识别类模型、检测类模型、预测类模型、分析类模型等。或者说,所述待分析模型可以是任何需要进行推理性能分析的模型。
[0035]本公开实施例中,所述方法可以是应用于如计算机、手机、平板电脑、车载终端等电子设备。或者进一步地,所述方法可以是应用于安装在电子设备中用于进行模型推理性能分析的目标应用程序。所述确定待分析模型,可以是在该目标应用程序中输入所述待分析模型的模型代码,或者是所述待分析模型的模型名称等,进而也就能确定是要对哪个模型的模型推理性能进行分析。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模型推理性能的分析方法,包括:确定待分析模型;接收第一输入,并获取所述第一输入中的目标信息,所述目标信息包括插桩代码的位置信息或针对预先嵌入的性能分析器的启动指令;基于所述目标信息执行对所述待分析模型的推理性能分析,并生成分析结果文件。2.根据权利要求1所述的方法,其中,所述目标信息包括插桩代码的位置信息,所述位置信息包括所述插桩代码在所述待分析模型对应的模型代码中插桩的起始行号和终止行号;所述基于所述目标信息执行对所述待分析模型的推理性能分析,包括:确定插桩代码;基于所述起始行号和所述终止行号,在所述模型代码中的所述起始行号之前和所述终止行号之后分别插入所述插桩代码;在运行所述待分析模型的情况下,基于所述插桩代码,对所述模型代码中位于所述起始行号和所述终止行号之间的代码进行推理性能分析。3.根据权利要求2所述的方法,其中,在所述目标信息包括多个插桩代码各自对应的位置信息的情况下,所述在所述模型代码中的所述起始行号之前和所述终止行号之后分别插入插桩代码,包括:检测所述多个插桩代码各自对应的位置信息是否正确;在所述多个插桩代码各自对应的位置信息正确的情况下,在所述模型代码中的目标位置处分别插入对应的插桩代码,所述目标位置为所述多个插桩代码各自对应的所述起始行号和所述终止行号。4.根据权利要求3所述的方法,其中,所述检测所述多个插桩代码各自对应的位置信息是否正确,包括如下至少一项:针对每个插桩代码,检测该插桩代码对应的起始行号和终止行号是否位于所述模型代码对应的行号范围内,其中,在该插桩代码对应的起始行号和终止行号位于所述模型代码对应的行号范围内的情况下,该插桩代码对应的位置信息正确;针对每个插桩代码,检测该插桩代码对应的起始行号和终止行号所包括的代码范围是否与其他插桩代码对应的起始行号和终止行号所包括的代码范围出现重叠,其中,在未出现重叠的情况下,该插桩代码对应的位置信息正确。5.根据权利要求2所述的方法,其中,所述生成分析结果文件,包括:生成分析结果文件,并将所述分析结果文件中的代码行号转换为所述模型代码未插入所述插桩代码之前的行号。6.根据权利要求1所述的方法,其中,所述目标信息包括插桩代码的位置信息,所述位置信息基于所述待分析模型对应的模型代码中的函数名确定;所述基于所述目标信息执行对所述待分析模型的推理性能分析,包括:在所述模型代码中所述函数名对应的函数代码前和所述函数代码后分别插入插桩代码;在运行所述待分析模型的情况下,基于所述插桩代码,对所述模型代码中所述函数名对应的函数代码进行推理性能分析。
7.根据权利要求1所述的方法,其中,所述目标信息包括针对预先嵌入的性能分析器的启动指令;所述基于所述目标信息执行对所述待分析模型的推理性能分析,包括:确定预先写入的所述性能分析器对应的目标代码;在获取到针对所述性能分析器的启动指令的情况下,基于所述启动指令运行所述性能分析器对应的目标代码,以执行对所述待分析模型的推理性能分析。8.一种模型推理性能的分析装置,包括:确定模块,用于确定待分析模型;获取模块,用于接收第一输入,并获取所述第一输入中的目标信息,所述目标信息包括插桩代码的位置信息或针对预先嵌入的性能分析器的启动指令;分析模块,用于基于所述...

【专利技术属性】
技术研发人员:王宽施恩钱正宇胡鸣人袁正雄李金麒褚振方黄悦罗阳王国彬钱洋
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1