模型引擎的构建、核函数处理方法、设备及存储介质技术

技术编号:36734512 阅读:12 留言:0更新日期:2023-03-04 10:04
本申请实施例提供一种模型引擎的构建、核函数处理方法、设备及存储介质。在为目标模型构造模型引擎时,可利用核函数复用信息为目标模型中的算子选择适配的核函数。该核函数复用信息用于保存算子与适配的核函数的对应关系。基于核函数复用信息,可避免为相同的算子重复执行核函数的测试选择操作,可有效降低模型引擎的构建开销。擎的构建开销。擎的构建开销。

【技术实现步骤摘要】
模型引擎的构建、核函数处理方法、设备及存储介质


[0001]本申请涉及人工智能领域,尤其涉及一种模型引擎的构建、核函数处理方法、设备及存储介质。

技术介绍

[0002]核函数(Kernel function),是运行在GPU(graphics processing unit,图形处理器)或者CPU(central processing unit,中央处理器)上用于执行运算过程的函数。通常,为获取较佳的运算性能,可开发多个核函数来完成相同功能的计算过程。在构造神经网络模型的推理(或称预测)引擎(engine)时,可为神经网络模型中的每个算子选取较佳的核函数,以提升神经网络模型的性能。
[0003]现有技术中提供的为神经网络模型中的算子选取核函数的方案,不利于降低神经网络模型的引擎构造开销。因此,有待提出一种新的解决方案。

技术实现思路

[0004]本申请的多个方面提供一种模型引擎的构建、核函数处理方法、设备及存储介质,用以有效地降低神经网络模型的引擎构造开销。
[0005]本申请实施例还提供一种模型引擎构建方法,包括:响应模型引擎构造请求,确定待构造模型引擎的目标模型;对所述目标模型进行分析,得到所述目标模型包含的多个算子;利用核函数复用信息,为所述多个算子分别选择适配的核函数;其中,所述核函数复用信息用于记录算子与适配的核函数的对应关系;所述算子与适配的核函数的对应关系,通过在至少一次模型引擎构造过程中,对算子进行核函数的遍历测试得到;根据所述多个算子适配的核函数,构造所述目标模型对应的模型引擎。
[0006]本申请实施例还提供一种模型引擎构建方法,包括:响应核函数选择操作,确定目标模型中的待处理算子;查询预先创建的核函数复用信息中,是否存在与所述待处理算子相同的目标算子;其中,所述核函数复用信息用于记录算子与适配的核函数的对应关系;所述算子与适配的核函数的对应关系,通过在至少一次模型引擎构造过程中,对算子进行核函数的遍历测试得到;若存在所述目标算子,则从所述核函数复用信息中确定所述目标算子对应的核函数;将所述目标算子对应的核函数,复用为所述待处理算子适配的核函数。
[0007]本申请实施例还提供一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本申请实施例提供的方法中的步骤。
[0008]本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够实现本申请实施例提供的方法中的步骤。
[0009]本申请实施例提供的模型引擎构建方法中,在为目标模型构造模型引擎时,可利用核函数复用信息为目标模型中的算子选择适配的核函数。该核函数复用信息用于保存算子与适配的核函数的对应关系。基于核函数复用信息,可避免为相同的算子重复执行核函
数的测试选择操作,可有效降低模型引擎的构建开销。
附图说明
[0010]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0011]图1为本申请一示例性实施例提供的模型引擎构建方法的流程示意图;
[0012]图2为本申请一示例性实施例提供的核函数复用列表的示意图;
[0013]图3为基于初始为空的核函数复用列表进行核函数选择操作的流程示意图;
[0014]图4为基于初始不为空的核函数复用列表进行核函数选择操作的流程示意图;
[0015]图5为本申请一示例性实施例提供的核函数处理方法的流程示意图;
[0016]图6为本申请一示例性实施例提供的电子设备的结构示意图。
具体实施方式
[0017]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0018]深度学习应用的开发过程包括两个阶段,即训练(training)阶段和推理(inference)阶段。其中,训练阶段用于利用训练数据生成和优化网络模型。推理阶段用于将网络模型集成到应用程序,输入数据,并得到推理结果。目前,存在一些神经网络框架,用于优化网络模型在推理过程中的运行效率。
[0019]现有的一些神经网络框架中,通常通过遍历测试的方式,为神经网络模型中的算子选取较优的Kernel(核函数)。其中,核函数Kernel作为实现某个运算过程的基础函数源码,可在计算机设备的GPU(graphics processing unit,图形处理器)上运行。在神经网络模型中,核函数可用于完成神经网络模型中的算子的运算任务,为算子选择较优的核函数可有效加速神经网络模型的推理执行过程。
[0020]例如,在TensorRT(一种高性能神经网络推理引擎)框架中,可将每个备选的核函数作为算子适配的核函数进行推理测试,并统计推理测试的结果。基于统计得到的推理测试的结果,为算子选择较优核函数。但是这种方式较为耗时,且模型的规模越大,耗时越长,不利于降低模型引擎的构造开销。
[0021]针对上述技术问题,在本申请的一些实施例中,提供了一种解决方案,该解决方案通过记录为算子选择的适配的核函数,并复用相同算子的核函数,可极大降低神经网络模型的引擎构造所需的时间开销。以下将结合附图,详细说明本申请各实施例提供的技术方案。
[0022]图1为本申请一示例性实施例提供的模型引擎的构建方法的流程示意图,如图1所示,该方法包括:
[0023]步骤101、响应模型引擎构造请求,确定待构造模型引擎的目标模型。
[0024]步骤102、对所述目标模型进行分析,得到所述目标模型包含的多个算子。
[0025]步骤103、利用核函数复用信息,为所述多个算子分别选择适配的核函数;其中,所
述核函数复用信息用于记录算子与适配的核函数的对应关系;所述算子与适配的核函数的对应关系,通过在至少一次模型引擎构造过程中,对算子进行核函数的遍历测试得到。
[0026]步骤104、根据所述多个算子适配的核函数,构造所述目标模型对应的模型引擎。
[0027]本申请实施例的执行主体可以为运行有神经网络框架程序的电子设备,该电子设备可实现为终端设备或者服务器设备。若实现为终端设备,则该终端设备的实现形式可包括:智能手机、平板电脑、计算机设备等。若实现为服务器设备,则该服务器设备的实现形式可以是常规服务器、云服务器、云主机、云上的弹性计算实例等等,本实施例不做限制。
[0028]其中,电子设备上运行的神经网络框架程序被电子设备执行时,可根据模型引擎的创建请求,为训练好的目标模型创建模型引擎,即推理引擎,从而实现目标模型的部署。
[0029]其中,电子设备上运本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模型引擎的构建方法,其特征在于,包括:响应模型引擎构造请求,确定待构造模型引擎的目标模型;对所述目标模型进行分析,得到所述目标模型包含的多个算子;利用核函数复用信息,为所述多个算子分别选择适配的核函数;其中,所述核函数复用信息用于记录算子与适配的核函数的对应关系;所述算子与适配的核函数的对应关系,通过在至少一次模型引擎构造过程中,对算子进行核函数的遍历测试得到;根据所述多个算子适配的核函数,构造所述目标模型对应的模型引擎。2.根据权利要求1所述的方法,其特征在于,利用核函数复用信息,为所述多个算子分别选择适配的核函数,包括:确定所述核函数复用信息;针对所述多个算子中的任一待处理算子,根据所述待处理算子的算子信息,对所述核函数复用信息进行查询;若在所述核函数复用信息中,查询到与所述待处理算子的算子信息匹配的目标算子,则从所述核函数复用信息中,确定所述目标算子对应的核函数;将所述目标算子对应的核函数,复用为所述待处理算子的核函数。3.根据权利要求2所述的方法,其特征在于,还包括:若在所述核函数复用信息中,未查询到与所述待处理算子的算子信息匹配的目标算子,则针对所述待处理算子遍历测试多个候选的核函数;根据所述多个候选的核函数的测试结果,从所述多个候选的核函数中,确定与所述待处理算子适配的核函数。4.根据权利要求3所述的方法,其特征在于,确定与所述待处理算子适配的核函数之后,还包括:将所述待处理算子的算子信息以及与所述待处理算子适配的核函数,对应添加至所述核函数复用信息中,以更新所述核函数复用信息。5.根据权利要求1

4任一项所述的方法,其特征在于,所述核函数复用信息包括:所述目标模型中已选择核函数的算子与适配的核函数的对...

【专利技术属性】
技术研发人员:方民权吕倪祺王留锋游亮龙欣
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1