一种基于代理模型重排技术的推理查询优化方法及装置与流程
未命名
10-09
阅读:143
评论:0
1.本说明书涉及计算机技术领域,尤其涉及一种基于代理模型重排技术的推理查询优化方法及装置。
背景技术:
2.随着大数据时代的到来以及人工智能取得的巨大成功,神经网络模型也得到了广泛的应用,在数据处理的过程中,用户可以利用机器学习、深度学习技术对海量的数据进行分析并挖掘出知识。通常情况下,数据分析以查询的形式进行,并将神经网络模型封装在用户自定义函数(user-defined functions, udfs)中,形成推理算子。这类含有一个或者多个推理算子的查询成为“推理查询”。
3.然而,随着数据规模的增大,处理上述推理查询任务的计算量以及消耗的时间也随之增加。例如,交通管理部门利用车辆识别神经网络模型,对通过全国道路监控摄像头采集到的数据进行分析,从而根据分析结果进行车流量监控,而在一天的视频数据上处理一个车辆识别的过滤查询通常需要花费数周的时间,这严重降低了对数据进行处理以及分析的效率,甚至关系到了国计民生以及社会的发展。
4.因此,如何降低推理查询任务所消耗的时间,提高数据处理以及分析的效率,是一个亟待解决的问题。
技术实现要素:
5.本说明书提供一种基于代理模型重排技术的推理查询优化方法及装置,以部分的解决现有技术存在的上述问题。
6.本说明书采用下述技术方案:本说明书提供了一种基于代理模型重排技术的推理查询优化方法,包括:获取各任务模型,并确定通过各任务模型执行推理查询任务时的不同执行顺序;根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序;针对每种候选执行顺序,基于所述目标准确率,确定在该候选执行顺序下各任务模型所对应不同代理模型的准确率参数的组合,作为各参数组合,所述代理模型用于根据任务模型对应的过滤条件对输入任务模型中的数据进行过滤,所述准确率参数用于表征通过所述准确率参数的代理模型对输入任务模型中的数据进行过滤时,未被过滤的数据占不符合所述过滤条件的数据的比例;确定各候选执行顺序下每个候选参数组合对应的执行代价,并根据各候选执行顺序下每个候选参数组合对应的执行代价,确定目标执行顺序,以及所述目标执行顺序下的目标参数组合;在接收到查询请求时,根据所述目标参数组合调用各任务模型对应的代理模型,并按照所述目标执行顺序,通过所述各任务模型执行所述查询请求对应的推理查询任务。
7.可选地,确定各候选执行顺序下每个候选参数组合对应的执行代价,具体包括:针对候选参数组合中的每个准确率参数,获取该准确率参数的代理模型所对应的准确率与过滤率之间的映射关系,其中,不同准确率参数的代理模型所对应的映射关系不同;根据该准确率参数对应的准确率以及该准确率参数的代理模型所对应的映射关系,确定该准确率参数对应的过滤率;根据该准确率参数对应的准确率以及所述过滤率,确定该准确率参数对应的执行代价;根据各候选参数组合中每个准确率参数对应的执行代价,确定各候选参数组合对应的执行代价。
8.可选地,在获取各任务模型之前,所述方法还包括:确定各执行顺序对应执行代价的初始取值范围;构建并训练各任务模型对应的不同准确率参数的代理模型,根据所述目标准确率,确定不同执行顺序下各代理模型对应过滤率的过滤率范围,以及各任务模型的选择率范围;根据所述目标准确率,所述过滤率范围以及所述选择率范围,对所述初始取值范围进行更新,得到每种执行顺序对应执行代价的目标取值范围;可选地,在获取各任务模型之前,所述方法还包括:针对每个任务模型,将该任务模型分为第一子模型以及第二子模型,所述第一子模型用于生成有标签样本,所述第二子模型用于训练分类模型并计算准确率与过滤率之间的映射关系;确定各代理模型对应子模型的不同执行顺序,作为各子模型执行顺序;针对每种子模型执行顺序,确定该子模型执行顺序对应执行代价的目标取值范围;根据每种子模型执行顺序对应执行代价的目标取值范围,对各子模型执行顺序进行过滤,得到各候选子模型执行顺序;根据每种子模型执行顺序下所述各参数组合对应的执行代价以及每个子模型执行顺序对应的时间成本,确定目标子模型顺序以及目标参数组合;调用所述目标参数组合对应的各代理模型,并按照所述目标子模型执行顺序执行各子模型对应的任务。
9.可选地,根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序,具体包括:针对每种执行顺序,若该执行顺序对应执行代价的最高值低于其他候选执行顺序对应执行代价的最低值,则将该执行顺序作为所述候选执行顺序。
10.可选地,根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序,具体包括:针对每个执行顺序,若该执行顺序对应执行代价的最低值小于其他执行顺序对应执行代价的最低值,以及,该执行顺序对应执行代价的最高值大于所述其他执行顺序对应执行代价的最低值且小于所述其他执行顺序对应执行代价的最高值,则将该执行顺序作为
所述候选执行顺序。
11.可选地,根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序,具体包括:针对每个执行顺序,若该执行顺序对应执行代价的最低值小于其他执行顺序对应执行代价的最低值,且该执行顺序对应执行代价的最高值大于所述其他执行顺序对应执行代价的最高值,则将该执行顺序作为所述候选执行顺序。
12.本说明书提供了一种基于代理模型重排技术的推理查询优化装置,包括:获取模块,获取各任务模型,并确定通过各任务模型执行推理查询任务时的不同执行顺序;过滤模块,根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序;第一确定模块,针对每种候选执行顺序,基于所述目标准确率,确定在该候选执行顺序下各任务模型所对应不同代理模型的准确率参数的组合,作为各参数组合,所述代理模型用于根据任务模型对应的过滤条件对输入任务模型中的数据进行过滤,所述准确率参数用于表征通过所述准确率参数的代理模型对输入任务模型中的数据进行过滤时,未被过滤的数据占不符合所述过滤条件的数据的比例;第二确定模块,确定各候选执行顺序下每个候选参数组合对应的执行代价,并根据各候选执行顺序下每个候选参数组合对应的执行代价,确定目标执行顺序,以及所述目标执行顺序下的目标参数组合;执行模块,在接收到查询请求时,根据所述目标参数组合调用各任务模型对应的代理模型,并按照所述目标执行顺序,通过所述各任务模型执行所述查询请求对应的推理查询任务。
13.本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于代理模型的数据处理方法。
14.本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于代理模型的数据处理方法。
15.本说明书采用的上述至少一个技术方案能够达到以下有益效果:在本说明书提供的基于代理模型的数据处理方法中,获取各任务模型,并确定通过各任务模型执行推理查询任务时的不同执行顺序,根据目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序,基于所述目标准确率,确定在各候选执行顺序下各任务模型所对应不同代理模型的准确率参数的组合,根据每种候选执行顺序下每个候选参数组合对应的执行代价确定目标执行顺序,以及目标参数组合;在接收到查询请求时,根据目标参数组合调用各任务模型对应的代理模型,并按照目标执行顺序,通过各任务模型执行查询请求对应的推理查询任务。
16.从上述方法可以看出,本方案在执行数据处理的过程中,可以根据不同任务模型候选执行顺序下各准确率参数组合对应的执行代价,选择出一种最合理的目标准确率参数组合对应的代理模型来对输入各任务模型中的数据进行过滤,并按照目标执行顺序进行处
理,从而降低各任务模型的计算量,减少数据处理时间,并且,在确定准确率参数组合的过程中先通过各执行顺序对应执行代价的取值范围对对符合条件的执行顺序进行筛选,缩短了确定目标准确率组合过程中的计算量,进一步提高了数据处理效率。
附图说明
17.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:图1为本说明书中提供的一种现有推理查询过程示意图;图2为本说明书中提供的一种基于代理模型重排技术的推理查询优化方法的流程示意图;图3为本说明书中提供的一种代理模型过滤后的推理查询过程示意图;图4为本说明书中提供的一种代理模型的准确率和过滤率之间的对应关系的确定过程示意图;图5为本说明书中提供的一种搜索树的结构示意图;图6为本说明书中提供的一种执行顺序的剪枝的过程示意图;图7为本说明书中提供的一种细粒度搜索树结构示意图;图8为本说明书中提供的一种细粒度搜索树对应的准确率分配过程示意图;图9为本说明书中提供的一种重排后的各任务模型及代理模型的最优执行顺序示意图;图10为本说明书中提供的一种面向推理查询的重排技术系统示例图;图11为本说明书提供的一种基于代理模型重排技术的推理查询优化装置的示意图;图12为本说明书提供的一种对应于图2的电子设备示意图。
具体实施方式
18.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
19.图1为本说明书中提供的一种现有推理查询过程示意图。
20.其中,该查询任务的最终目的是为了s地民众对戴口罩的情感态度;图1中箭头上的数字代表传入下一个推理算子的数据量,每个推理算子下面的时间是在其处理一条数据需要花费的时间,、以及分别表示“主题模型”、“地点标记”以及“情感分析”三个推理算子,、以及分别表示三个推理算子相应的过滤器“主题=口罩”、“地点=s”以及“情感=积极”。
21.从图中可以看出,当输入的数据量较大,并且包含有多个推理算子时,各推理算子的计算量也相对较大,整个查询过程所消耗的时间也会随之增加,严重影响了查询任务的
整体执行效率。
22.以下结合附图,详细说明本说明书各实施例提供的技术方案。
23.图2为本说明书中提供的一种基于代理模型重排技术的推理查询优化方法的流程示意图,包括以下步骤:s201:获取各任务模型,并确定通过各任务模型执行推理查询任务时的不同执行顺序。
24.在推理查询任务的执行过程中,每个推理算子可以对应一个推理查询任务,从而对数据进行筛选,通过多个推理算子执行推理查询任务后,可以得到最终的查询结果。然而,经典的重排技术(reordering)仅仅考虑推理算子的执行代价、以及推理算子过滤器的选择率,从而只是在顺序空间中搜索最优的执行计划,其难以应对复杂的基于代理模型的推理查询的优化。
25.基于此,本说明书提供了一种面向代理模型的数据处理方法,通过在各任务模型之前添加代理模型对数据进行过滤,并选取执行代价最小的任务执行顺序中目标参数组合对应的各代理模型来执行推理查询任务,从而缩短查询过程所消耗的时间。
26.在本说明书中,用于实现一种面向代理模型的数据处理方法的执行主体可以是服务器等指定设备,为了便于描述,本说明书仅以服务器作为执行主体为例,对一种面向代理模型的数据处理方法进行说明。
27.其中,一个推理查询的形式化描述为:推理查询包含推理算子,以及它们分别对应的过滤器,以及查询的目标准确率,该目标准确率可以是由用户输入的,每一个推理算子对应一个任务模型,用于执行其对应的推理查询任务,通过多个任务模型(推理算子)对原始数据进行处理后,可以得到最终的查询结果。
28.在本说明书中,用于进行数据处理的数据可以为视频数据或图像数据,当然,也可以为音频数据或者文本数据,本说明书对此不做具体限定。上述推理查询任务可以为对满足要求的数据进行筛选,从而根据查询结果进行数据分析。
29.服务器可以先获取各任务模型,并确定通过各任务模型执行推理查询任务时的不同执行顺序。
30.以图1所示的查询任务为例,其查询结果为s地民众对“口罩”的情感态度。对应的查询数据可以为通过图像采集设备采集到的视频数据。
31.在该查询任务中,可以包含有三个任务模型(推理算子),分别用于执行不同的推理查询任务,即主题识别模型、地点标记模型、情感分析模型,每个任务模型分别对应一个过滤器,包括、以及,过滤器、以及对应的过滤条件分别为“主题=口罩”、“地点=s”、“情感=积极”,三个任务模型及其对应的过滤器分别用于对主题为“口罩”的数据进行筛选,对地点为“s”的数据进行筛选以及对情感表达为“积极”的数据进行筛选。
32.服务器可以定义函数及其相应的过滤器之间的顺序关系为,换言之,是第个推理算子对应的任务模型,是第个过滤器,是第个代理模型,将不同的任务模型及其过滤器进行排序,得到通过各任务模型执行推理查询任务时的不同执行
顺序。以上述主题识别模型、地点标记模型、情感分析模型为例,这三个任务模型及其对应的过滤器组合共能能成六种不同的排序,对应六种执行顺序。
33.s202:根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序。
34.s203:针对每种候选执行顺序,基于所述目标准确率,确定在该候选执行顺序下各任务模型所对应不同代理模型的准确率参数的组合,作为各参数组合,所述代理模型用于根据任务模型对应的过滤条件对输入任务模型中的数据进行过滤,所述准确率参数用于表征通过所述准确率参数的代理模型对输入任务模型中的数据进行过滤时,未被过滤的数据占不符合所述过滤条件的数据的比例。
35.在通过相关性代理模型对输入任务模型的数据进行过滤的基础之上,本说明书可以寻找最优的执行计划,使得执行计划的时间最小,需要指出的是,针对一个特定顺序寻找的最优准确率分配组合,其不一定适用于其他顺序下的执行计划;当仅仅考虑顺序空间时,基于推理算子的执行代价、以及推理算子过滤器的选择率,计算最优顺序,然后调用准确率分配算法得到的执行计划不一定是最优的;因此,需要同时在顺序空间和准确率空间内寻找最优的执行计划。
36.基于此,本发明提出的优化问题为:在顺序空间中寻找最优的顺序,同时在准确率空间中寻找最优的准确率参数代理模型的分配组合,使得执行推理查询任务的整体时间(查询任务的执行时间)最小,其形式化的描述为:
37.其中,表示顺序空间,包含有多种执行顺序,a表示准确率空间,表示不同代理模型准确率参数的参数组合,为第个代理模型组合,为第个准确率参数组合,c为代价函数,表征通过特定执行顺序下该参数组合的各代理模型以及任务模型执行推理查询任务时的执行代价,该执行代价可以通过代价函数来进行计算,执行推理查询任务时所消耗的时间越长,该执行代价越大,反之越小。
38.对于任意一个任务模型,服务器可以在其之前设置一个代理模型,以根据任务模型的过滤器对应的过滤条件,对输入任务模型中的数据进行初步的过滤,从而减少任务模型的计算量。
39.在设置上述代理模型之前,需要预先对代理模型进行构建,在本说明书中,一个代理模型可以为的五元组:表示的输入关系,是要提升的任务模型过滤器的过滤条件,是相对应的有标签的样本,是的分类模型,是的准确率参数和过滤率之间的映射关系。为了便于理解,本说明书提供了一种代理模型过滤后的推理查询过程示意图,如图3所示。
40.图3为本说明书中提供的一种代理模型过滤后的推理查询过程示意图。
41.其中,代理模型的输入关系为,对应的过滤条件为“主题=口罩”;代理模型的输入关系为,对应的过滤条件为“地点=s”。
42.在训练代理模型的过程中,服务器可以先生成其有标签的样本。
43.具体的,服务器可以将中的过滤条件关系应用到最初的输入数据的一个样本上,该样本可以包含若干条数据,而后使用当前代理模型要提升的过滤条件来标记这个样本,满足过滤条件的数据被标记为正类(+1),否则,被标记为负类(-1),以图3为例,生成图3中的过程为:在初始输入数据的一个样本上应用,然后,使用过滤条件“地点=s”来标记这个样本,如果一条数据描述的地点是s,则该数据被标记为正类,否则,被标记为负类。
44.生成有标签的样本后,服务器可以训练分类模型,具体的,服务器可以在其有标签的样本上应用轻量级的分类算法,比如linearsvm,shallow nns,以最小化识别到的正样本数量与标记的正样本数量之间的偏差为优化目标,训练得到一个分类模型。
45.进一步的,针对每个代理模型,服务器可以计算其准确率参数对应的准确率和过滤率之间的映射关系;该准确率参数用于表征通过该准确率参数的代理模型对输入任务模型中的数据进行过滤时,未被过滤的数据占不符合过滤条件的数据的比例。
46.具体的,分类模型推断出一条数据在正类上的概率值,记为;对于线性支持向量机linearsvm,,其中,是权重矩阵,是偏差项;如果,该数据将会被过滤掉,不会传递给后序的任务模型处理,为了便于理解,本说明书提供了一种代理模型的准确率和过滤率之间的对应关系的确定过程示意图,如图4所示。
47.图4为本说明书中提供的一种代理模型的准确率和过滤率之间的对应关系的确定过程示意图。
48.其中,当阈值时,,数据通过该代理模型,传递给后续的推理算子进一步处理;否则,数据被提前过滤掉;当阈值时,通过的10条正类数据占全部正类数据的百分比为10/10=100%,也就是,过滤掉5条数据占全部18条数据的百分比为5/18=28%,也就是过滤率;当阈值提升到0.4的时候,一个标签为正类的数据被该代理模型误筛掉,导致其准确率下降到9/10=90%,此时,该代理模型过滤掉更多的数据,其过滤率提升到8/18=44%;因此,得到准确率参数和过滤率之间的映射关系;值得注意的是,随着准确率的上升,其过滤率下降。
49.需要说明的是,在本说明书中,不同代理模型对应不同的准确率参数,而不同准确率参数的代理模型对应的准确率和过滤率之间的映射关系也是不同的。
50.在本说明书中,可以通过下述准确率分配算法,来确定特定执行顺序下执行代价最低的目标准确率参数组合。该准确率分配算法可以为:procedure 准确率分配算法
51.从原始数据抽取一个样本;fordo:
在上应用过滤条件;for在离散空间中do:fordo:在上应用;如果在上满足近似,重用;否则,训练;计算准确率和过滤率之间的关系;计算各准确率参数的处理模型的执行代价;计算各参数组合对应的执行代价;选取最小的,以及,并返回。
52.鉴于代理模型具有输入关系以及目标过滤条件等属性,不同顺序时,由于代理模型的输入关系变化,尽管针对相同的谓词,构建的代理模型也是不同的,它们具有不同的执行代价;不同于经典的重排问题,由于代理模型的引入及其具有准确率参数,当没有分配目标准确率时,每个顺序下的执行计划是一个范围,不是确定值;针对特定顺序下的执行计划的最优准确率分配组合,其不一定适用于其它顺序下的执行计划;另一方面,当只考虑不同顺序时,仅仅考虑推理算子的执行代价以及推理算子过滤器的选择率,计算得到最优顺序,再基于该最优顺序分配目标准确率得到的执行计划不一定是最优的;故需要同时在顺序空间和准确率空间上搜索最优的执行计划。
53.对于简单直观的同时在顺序空间和准确率空间上搜索的算法,即基于重排技术的暴力搜索算法为:首先,从顺序空间中枚举出所有不同顺序的执行计划,图1所示查询包含3对推理算子过滤器,故其顺序空间中包含6种顺序的执行计划;然后,,利用准确率分配算法,寻找该顺序下的最优准确率分配组合,构建代理模型,并且计算该顺序下的执行代价;对于图1所示查询的顺序,图2所示其利用准确率分配算法优化之后的执行计划;最后,返回执行代价最小的代理模型以及;鉴于该基于重排技术的暴力搜索算法需要在指数级顺序空间上搜索每个顺序下最优的准确率分配组合,其具有昂贵的、难以接受的优化成本开销。
54.因此,本方案可以先根据目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据目标取值范围对各执行顺序进行过滤,得到各候选执行顺序,从而对执行顺序进行筛选,进而减少计算代价函数时的计算量。
55.服务器可以确定各执行顺序对应执行代价的初始取值范围,在构建以及训练各任务模型对应的不同准确率参数的代理模型的过程中,服务器可以根据目标准确率,计算不同执行顺序下各代理模型对应过滤率的过滤率范围,以及各任务模型的选择率范围,而后根据目标准确率,过滤率范围以及选择率范围,对初始取值范围进行更新,得到每种执行顺
序对应执行代价的目标取值范围。
56.具体的,顺序空间中不同执行顺序的数目与任务模型的数目呈指数关系,图1所示的查询任务包含3对推理算子过滤器,故其顺序空间中包含6种执行顺序;通过将不同执行顺序中相同的前缀合并起来,构造一个搜索树。为了便于理解,本说明书提供了一种搜索树的结构示意图,如图5所示。
57.图5为本说明书中提供的一种搜索树的结构示意图。
58.其中,x、y、z分别代表三种任务模型,图例所示当前搜索节点(节点1)为x,下一节点(节点2)为z。
59.对于特定执行顺序的代理模型,具有上下界;直观地说,当所有的代理模型过滤掉所有的数据,则达到下界;当所有的代理模型没有过滤任何数据,也就是通过所有数据时,则达到上界;对于图6中的顺序,当过滤掉所有数据,达到下界;当、和都通过所有数据时,达到上界。
60.因此,对于一个准确率参数的代理模型,其执行代价是有界的:当时,其代价函数取得一个下界,在实际应用中,为用户输入的目标准确率,表示代理模型对应任务模型的过滤器的选择率的最小值,过滤率越大,选择率越小,为代理模型过滤率的最大值。
61.当时,其代价函数取得一个上界,示代理模型对应任务模型的过滤器的选择率的最大值,为代理模型过滤率的最小值。
62.一方面,顺序空间中不同执行计划构造一个搜索树,另一方面,目标函数是有界的,基于观察到的这两点现象,本发明将要求解的问题形式化为分支界定算法来求解。在本说明书中,可以通过分支界定算法的伪代码对不同的参数组合进行剪枝过滤,以得到各候选参数组合。该分支界定算法的伪代码可以表示为:procedure 分支界定算法;根据顺序空间对应的各执行顺序中构造一个搜索树;;
对于,分别用和初始化和,得到初始取值范围;while下个节点do:节点计算:根据准确率参数确定的代理模型并计算和;根据准确率参数确定的代理模型并计算和;更新的叶子结点对应的执行计划的代价函数的上下界,得到目标取值范围;排序剪枝;fordo;准确率分配算法;排序剪枝;return使得最小。
63.在搜索的过程中,该算法逐步确定代理模型以及选择率和过滤率,从而收缩候选参数组合执行代价的取值范围,对参数组合进行剪枝过滤,降低优化过程的成本开销。
64.该算法的输入为一个查询和目标准确率,输出为目标执行顺序以及代理模型准确率参数的目标参数组合;接下来,对于每一个顺序,在构造代理模型之前,使用和初始化和,得到执行代价的初始取值范围,然后,从搜索树的根节点出发,逐步沿着这个搜索树进行搜索,在每个节点进行节点计算;其具体过程为:根据准确率参数确定节点的代理模型,并在确定的过程中计算和;根据准确率参数确定节点的代理模型并计算和;分别利用、、和、、更新节点对应的代价函数的上下界,得到目标取值范围;然后,根据不同执行顺序下执行代价的目标取值范围进行排序剪枝;当搜索到树的叶子节点跳出while循环时,依次遍历剩下的候选执行计划);对于每个候选执行计划,调用上述准确率分配算法;然后,根据执行代价的目标取值范围进行排序剪枝;最后,返回代价函数最小的目标执行顺序以及代理模型准确率的目标参数组合。
65.为了便于理解,本书名数提供了一种执行顺序的剪枝的过程示意图,如图6所示。
66.图6为本说明书中提供的一种执行顺序的剪枝的过程示意图。
67.其中,和分别为两种参数组合,各自对应执行代价的目标取值范围
和之间共有三种关系;当和的代价函数没有重叠时,从中剪枝掉边界更高的执行计划,在图6的标号(a)中和的执行计划没有重叠,但是的边界更高,故被剪枝掉;当和的代价函数有重叠时,更低边界的执行计划具有更高的优先级,在图6的标号(b)中的边界更低,其具有更高的优先级;当和的代价函数边界是包含关系时,由于优先搜索外层的执行计划能够更方便的剪枝,外层边界的执行计划具有更高的优先级,在图6的标号(b)中的边界在外层,其具有更高的优先级;服务器可以按照这三条规则决定中不同执行计划两两之间的优先级关系,直到被完全排序;被剪枝掉的执行计划被从中移除出去。
68.以图5为例,其中执行顺序xyz对应执行代价的目标范围为(5,40),而xzy对应执行代价的目标范围为(3,26),因此,可以将xzy顺序下的参数组合作为目标参数组合。
69.换句话说,针对每种执行顺序,若该执行顺序对应执行代价的最高值低于其他执行顺序对应执行代价的最低值,则将该执行顺序作为所述候选执行顺序。
70.若该执行顺序对应执行代价的最低值小于其他执行顺序对应执行代价的最低值,以及,该执行顺序对应执行代价的最高值大于所述其他执行顺序对应执行代价的最低值且小于所述其他执行顺序对应执行代价的最高值,则将该执行顺序作为所述候选执行顺序。
71.若该执行顺序对应执行代价的最低值小于其他执行顺序对应执行代价的最低值,且该执行顺序对应执行代价的最高值大于所述其他执行顺序对应执行代价的最高值,则将该执行顺序作为所述候选执行顺序。
72.对于上述分支界定算法中提到的下个节点;本发明首先选择中排在第一位的执行计划,然后选择其接下来要访问的节点返回;如果中排在第一位的执行计划的所有节点都已经访问过了,则返回次之的执行计划接下来要访问的节点;如果中所有的执行计划的节点都已经访问过了,则跳出循环;图6中排在中的第一位,并且节点已经访问过了,那么,下个节点函数返回节点。
73.在进行节点计算的过程中,服务器可以鉴于一个代理模型的代价函数随着其准确率参数的上升而上升,对于搜索树中节点,服务器可以根据准确率参数构建节点上的计算下界的代理模型,并且在构建该代理模型的过程中计算和,更新的叶子结点对应的执行计划的代价函数的下界;对于图5中节点1,构建用于计算下界的代理模型,并在构建的过程中计算和,更新和代价函数的下界。
74.进一步的,服务器可以根据准确率参数构建节点上的计算下界的代理模型,并且在构建该代理模型的过程中计算和,更新的叶子结点对应的执行计划的代价函数的上界;对于图5中节点1,构建用于计算下界的代理模型
,并在构建的过程中计算和,更新和代价函数的上界。
75.需要说明的是,本方案可以在执行推理查询任务之前,就对各执行顺序以及各执行顺序下的参数组合进行过滤,这样一来在执行推理查询任务的过程中就可以直接使用各候选执行顺序,当然,也可以在执行推理查询任务过程中根据用户输入的目标参数对各执行顺序以及各执行顺序下的参数组合进行过滤。上述选择率s以及过滤率r可以是在构建代理模型的过程中计算出的固定值。
76.进一步,为了对执行顺序进行细粒度的剪枝,针对每个任务模型,服务器可以将该任务模型分为第一子模型以及第二子模型,第一子模型用于生成有标签样本,第二子模型用于训练分类模型并计算准确率与过滤率之间的映射关系,而后确定各代理模型对应子模型的不同执行顺序,作为各子模型执行顺序,针对每种子模型执行顺序,服务器可以确定该子模型执行顺序对应执行代价的目标取值范围,每种子模型执行顺序对应执行代价的目标取值范围,对各子模型执行顺序进行过滤,得到各候选子模型执行顺序,根据每种子模型执行顺序下各参数组合对应的执行代价以及每个子模型执行顺序对应的时间成本,确定目标子模型顺序以及目标参数组合,进而调用目标参数组合对应的各代理模型,并按照目标子模型执行顺序执行各子模型对应的任务。
77.具体的,基于上述分支界定算法,本发明基于求解问题的特性,提出细粒度的搜索树数据结构以及搜索中的准确率分配算法,得到分支界定优化算法。
78.对于图5所示的搜索树中的每个节点,节点上构建代理模型的计算过程包括:根据其相应的输入关系和过滤条件生成有标签的样本,然后,在该样本上使用轻量级的分类算法训练分类模型,并计算该代理模型准确率参数与过滤率之间的映射关系;其中,生成有标签的样本和训练分类模型是比较耗时的;为了进一步降低在线优化过程的时间开销,本发明提出将搜索树中每个节点拆成两个节点:节点用于生成有标签的样本、节点用于训练代理模型中的分类模型并计算,从而构建更细粒度的搜索树,为了便于理解,本说明书提供了一种细粒度搜索树结构示意图,如图7所示。
79.图7为本说明书中提供的一种细粒度搜索树结构示意图。
80.图7的标号(a)是原搜索树的部分示例图,节点被拆成两个节点:节点用于生成有标签的样本,节点用于训练分类模型并计算,其对应的细粒度的搜索树如图7的标号(b)所示;与原始的搜索树相比,细粒度的搜索树提供更多空间搜索剪枝不同执行计划的代价函数边界,其可以在节点剪枝,而不需要执行其相应的节点。
81.该分支界定优化算法的伪代码可以表示为:procedure 分支界定优化算法;从中构造细粒度搜索树;;对于,分别用和初始化和;
while下个节点do:节点计算:if节点 do:计算有标签的样本,并计算和;调用准确率分配算法,并计算、和;更新的叶子结点对应的执行计划的代价函数的上下界;排序剪枝;return使得最小;排序剪枝。
82.首先,服务器从顺序空间对应的各执行顺序中构建一个细粒度搜索树,枚举出所有的顺序,并对细粒度的搜索树上每个节点按照和初始化和,确定执行代价的初始取值范围;然后,从细粒度搜索树的根节点出发,逐步沿着这个搜索树进行搜索,在每个节点进行节点计算;其具体为:如果是节点,则计算有标签的样本,并计算和,如果是节点,则对从根节点到当前节点对应的执行计划,调用准确率分配算法,构建最优的代理模型,并计算、和。
83.然后,利用、或者、和更新节点的叶子节点对应的执行计划代价函数的上下界,得到指定代价的目标取值范围,接下来,排序剪枝函数根据中候选的执行计划代价函数的上下界进行排序并剪枝;最后,while循环结束,返回最优的顺序以及代理模型准确率组合;鉴于分支界定优化算法中的排序剪枝函数与上述分支界定算法中的排序剪枝函数一致,本说明书对此不做过多赘述。
84.对于上述分支界定优化算法中所指出的下个节点;鉴于底层数据结构更新成细粒度的搜索树,使得排在优先级队列第一位的执行计划接下来要访问的节点存在至少一个候选节点,针对有多个候选节点的情况;图7的标号(b)中,对于执行计划,搜索节点1(节点)存在两个候选节点:节点2(节点)和节点3(节点);因此,本发明提出分别估算每个节点计算的时间成本以及带来的代价函数收缩收益,然后选择成本低收益高的节点继续访问;其中,对于节点和节点的时间成本分别是:生成有标签的样本的时
间开销以及训练分类模型的时间开销。
85.节点计算过程,在节点计算有标签的样本,在节点调用准确率分配算法计算从根节点到当前节点对应的前缀执行计划上最优的准确率分配组合和;本说明书提供了一种细粒度搜索树对应的准确率分配过程示意图,如图8所示。
86.图8为本说明书中提供的一种细粒度搜索树对应的准确率分配过程示意图。
87.图8的标号(a)为当时,在原始搜索树上基于,构建计算代价函数上下界的准确率上下界;图8的标号(b)所示为其对应的细粒度的搜索树,当搜索到节点2时,针对从根节点到当前节点,调用准确率分配算法只对分配准确率,因此,寻找到最优的分配组合为;同理,图8的标号(c)所示为在细粒度的搜索树上,当搜索到节点4时,针对从根节点到当前节点,调用准确率分配算法对分配准确率,寻找到最优的分配组合为,。
88.鉴于准确率分配算法对特定执行顺序的查询q,将目标准确率a分配到查询中的代理模型的准确率α参数上,从而计算其执行代价,在本说明书中,当搜索深度为i的节点t时,对于从根节点到当前节点对应的执行计划使用准确率分配算法,计算最优的准确率组合及相应的执行代价,从而进一步收缩该节点对应的执行计划的代价函数边界。
89.s204:确定各候选执行顺序下每个候选参数组合对应的执行代价,并根据各候选执行顺序下每个候选参数组合对应的执行代价,确定目标执行顺序,以及所述目标执行顺序下的目标参数组合。
90.服务器可以确定各候选执行顺序下每个候选参数组合对应的执行代价,并根据各候选执行顺序下每个候选参数组合对应的执行代价,确定目标执行顺序,以及所述目标执行顺序下的目标参数组合,其中,服务器可以将执行代价最小的候选执行顺序以及该候选执行顺序下的参数组合作为目标执行顺序以及目标参数组合。
91.s205:在接收到查询请求时,根据所述目标参数组合调用各任务模型对应的代理模型,并按照所述目标执行顺序,通过所述各任务模型执行所述查询请求对应的推理查询任务。
92.确定目标准确率对应的目标执行顺序以及目标执行顺序下的目标参数组合后,在接收到查询请求时,服务器可以根据目标参数组合调用各任务模型对应的代理模型,并按照目标执行顺序,通过各任务模型执行所述查询请求对应的推理查询任务,在得到最终的查询结果后,完成整个推理查询过程。为了便于理解,本说明书提供了一种重排后的各任务模型及代理模型的最优执行顺序示意图,如图9所示。
93.图9为本说明书中提供的一种重排后的各任务模型及代理模型的最优执行顺序示意图。
94.还以主题识别模型、地点标记模型、情感分析模型,为例,经过上述执行顺序以及准确率参数分配后,确定出任务模型的最优执行顺序为:,代理模型的参数组合为、以及,对于用户输入的查询q(地点s的用户对口罩的态度),先通
过代理模型对初始数据进行初步过滤,而后将过滤后的数据输入地点标记模型,通过其对应过滤器的过滤条件对数据进行筛选,并将筛选后的数据作为下一个任务模型()对应代理模型()的输入,之后依次执行后续的代理模型及对应的任务模型,直至得到最终的查询结果,即地点s的用户对口罩为积极态度的数据。
95.当然,在实际应用中,上述方法还可以应用于其他场景,例如,根据各地交通摄像头所采集到的图像数据,筛选出s地的公交车出行数据,在此过程中,服务器可以通过本说明书提供的方法确定处理任务的目标执行顺序以及代理模型的目标参数组合,以按照目标执行顺序以及目标参数组合通过地点标记模型对应的分类器对地点s的图像数据进行筛选,通过主体识别模型对包含车辆的图像数据进行筛选以及通过目标识别模型对包含公交车的图像数据进行筛选,进而根据筛选出的数据对地点s的公共交通进行调整以及规划。
96.在本说明书中,服务器也可以基于重排技术的推理查询处理系统框架,来执行上述推理查询任务,为了便于理解,本说明书提供了一种面向推理查询的重排技术系统示例图,如图10所示。
97.图10为本说明书中提供的一种面向推理查询的重排技术系统示例图。
98.其中,该系统包括交互界面模块、查询优化模块、执行引擎模块、以及数据输入输出模块;用户首先通过用户交互界面提交查询q并且指定一个用户可以接受的查询结果目标准确率a=90%,查询优化模块接收用户提交的查询q以及目标准确率a,然后,使用最初的k%输入数据,生成优化的执行计划,并且保存输出结果。执行引擎模块在剩余的(1-k%)输入数据上执行优化之后的执行计划,并保存输出结果。
99.查询优化模块包括构建代理模型子模块、分配目标准确率子模块、以及重排代理模型子模块,其中,构建代理模型子模块提供在线构建代理模型的算法,分配目标准确率子模块提供针对特定执行顺序的准确率分配算法,重排代理模型子模块提供寻找最优执行顺序并且分配准确率的分支界定算法。
100.从上述方法可以看出,本方案在执行数据处理的过程中,可以根据不同任务模型候选执行顺序下各准确率参数组合对应的执行代价,选择出一种最合理的目标准确率参数组合对应的代理模型来对输入各任务模型中的数据进行过滤,并按照目标执行顺序进行处理,从而降低各任务模型的计算量,减少数据处理时间,并且,在确定准确率参数组合的过程中先通过各执行顺序对应执行代价的取值范围对对符合条件的执行顺序进行筛选,缩短了确定目标准确率组合过程中的计算量,进一步提高了数据处理效率。
101.以上为本说明书的一个或多个实施基于代理模型的数据处理方法,基于同样的思路,本说明书还提供了相应的基于代理模型的数据处理装置,如图11所示。
102.图11为本说明书提供的一种基于代理模型重排技术的推理查询优化装置的示意图,包括:获取模块1101,用于获取各任务模型,并确定通过各任务模型执行推理查询任务时的不同执行顺序;过滤模块1102,用于根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序;
第一确定模块1103,用于针对每种候选执行顺序,基于所述目标准确率,确定在该候选执行顺序下各任务模型所对应不同代理模型的准确率参数的组合,作为各参数组合,所述代理模型用于根据任务模型对应的过滤条件对输入任务模型中的数据进行过滤,所述准确率参数用于表征通过所述准确率参数的代理模型对输入任务模型中的数据进行过滤时,未被过滤的数据占不符合所述过滤条件的数据的比例;第二确定模块1104,用于确定各候选执行顺序下每个候选参数组合对应的执行代价,并根据各候选执行顺序下每个候选参数组合对应的执行代价,确定目标执行顺序,以及所述目标执行顺序下的目标参数组合;执行模块1105,用于在接收到查询请求时,根据所述目标参数组合调用各任务模型对应的代理模型,并按照所述目标执行顺序,通过所述各任务模型执行所述查询请求对应的推理查询任务。
103.可选地,所述第二确定模块1104具体用于,针对候选参数组合中的每个准确率参数,获取该准确率参数的代理模型所对应的准确率与过滤率之间的映射关系,其中,不同准确率参数的代理模型所对应的映射关系不同;根据该准确率参数对应的准确率以及该准确率参数的代理模型所对应的映射关系,确定该准确率参数对应的过滤率;根据该准确率参数对应的准确率以及所述过滤率,确定该准确率参数对应的执行代价;根据各候选参数组合中每个准确率参数对应的执行代价,确定各候选参数组合对应的执行代价。
104.可选地,在获取各任务模型之前,所述获取模块1101还用于,确定各执行顺序对应执行代价的初始取值范围;构建并训练各任务模型对应的不同准确率参数的代理模型,根据所述目标准确率,确定不同执行顺序下各代理模型对应过滤率的过滤率范围,以及各任务模型的选择率范围;根据所述目标准确率,所述过滤率范围以及所述选择率范围,对所述初始取值范围进行更新,得到每种执行顺序对应执行代价的目标取值范围。
105.可选地,在获取各任务模型之前,所述获取模块1101还用于,针对每个任务模型,将该任务模型分为第一子模型以及第二子模型,所述第一子模型用于生成有标签样本,所述第二子模型用于训练分类模型并计算准确率与过滤率之间的映射关系;确定各代理模型对应子模型的不同执行顺序,作为各子模型执行顺序;针对每种子模型执行顺序,确定该子模型执行顺序对应执行代价的目标取值范围;根据每种子模型执行顺序对应执行代价的目标取值范围,对各子模型执行顺序进行过滤,得到各候选子模型执行顺序;根据每种子模型执行顺序下所述各参数组合对应的执行代价以及每个子模型执行顺序对应的时间成本,确定目标子模型顺序以及目标参数组合;调用所述目标参数组合对应的各代理模型,并按照所述目标子模型执行顺序执行各子模型对应的任务。
106.可选地,所述过滤模块1102具体用于,针对每种执行顺序,若该执行顺序对应执行代价的最高值低于其他执行顺序对应执行代价的最低值,则将该执行顺序作为所述候选执行顺序。
107.可选地,所述过滤模块1102具体用于,针对每个执行顺序,若该执行顺序对应执行代价的最低值小于其他执行顺序对应执行代价的最低值,以及,该执行顺序对应执行代价的最高值大于所述其他执行顺序对应执行代价的最低值且小于所述其他执行顺序对应执行代价的最高值,则将该执行顺序作为所述候选执行顺序。
108.可选地,所述过滤模块1102具体用于,针对每个执行顺序,若该执行顺序对应执行
代价的最低值小于其他执行顺序对应执行代价的最低值,且该执行顺序对应执行代价的最高值大于所述其他执行顺序对应执行代价的最高值,则将该执行顺序作为所述候选执行顺序。
109.本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图2提供的一种基于代理模型重排技术的推理查询优化方法。
110.本说明书还提供了图12所示的一种对应于图2的电子设备的示意结构图。如图12所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图2所述的基于代理模型的数据处理方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
111.对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device, pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
112.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20 以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来
实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
113.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
114.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
115.本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
116.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
117.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
118.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
119.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
120.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
121.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除
可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
122.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
123.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
124.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
125.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
126.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
技术特征:
1.一种基于代理模型重排技术的推理查询优化方法,其特征在于,包括:获取各任务模型,并确定通过各任务模型执行推理查询任务时的不同执行顺序;根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序;针对每种候选执行顺序,基于所述目标准确率,确定在该候选执行顺序下各任务模型所对应不同代理模型的准确率参数的组合,作为各参数组合,所述代理模型用于根据任务模型对应的过滤条件对输入任务模型中的数据进行过滤,所述准确率参数用于表征通过所述准确率参数的代理模型对输入任务模型中的数据进行过滤时,未被过滤的数据占不符合所述过滤条件的数据的比例;确定各候选执行顺序下每个候选参数组合对应的执行代价,并根据各候选执行顺序下每个候选参数组合对应的执行代价,确定目标执行顺序,以及所述目标执行顺序下的目标参数组合;在接收到查询请求时,根据所述目标参数组合调用各任务模型对应的代理模型,并按照所述目标执行顺序,通过所述各任务模型执行所述查询请求对应的推理查询任务。2.如权利要求1所述的方法,其特征在于,确定各候选执行顺序下每个候选参数组合对应的执行代价,具体包括:针对候选参数组合中的每个准确率参数,获取该准确率参数的代理模型所对应的准确率与过滤率之间的映射关系,其中,不同准确率参数的代理模型所对应的映射关系不同;根据该准确率参数对应的准确率以及该准确率参数的代理模型所对应的映射关系,确定该准确率参数对应的过滤率;根据该准确率参数对应的准确率以及所述过滤率,确定该准确率参数对应的执行代价;根据各候选参数组合中每个准确率参数对应的执行代价,确定各候选参数组合对应的执行代价。3.如权利要求1所述的方法,其特征在于,在获取各任务模型之前,所述方法还包括:确定各执行顺序对应执行代价的初始取值范围;构建并训练各任务模型对应的不同准确率参数的代理模型,根据所述目标准确率,确定不同执行顺序下各代理模型对应过滤率的过滤率范围,以及各任务模型的选择率范围;根据所述目标准确率,所述过滤率范围以及所述选择率范围,对所述初始取值范围进行更新,得到每种执行顺序对应执行代价的目标取值范围。4.如权利要求3所述的方法,其特征在于,在获取各任务模型之前,所述方法还包括:针对每个任务模型,将该任务模型分为第一子模型以及第二子模型,所述第一子模型用于生成有标签样本,所述第二子模型用于训练分类模型并计算准确率与过滤率之间的映射关系;确定各代理模型对应子模型的不同执行顺序,作为各子模型执行顺序;针对每种子模型执行顺序,确定该子模型执行顺序对应执行代价的目标取值范围;根据每种子模型执行顺序对应执行代价的目标取值范围,对各子模型执行顺序进行过滤,得到各候选子模型执行顺序;根据每种子模型执行顺序下所述各参数组合对应的执行代价以及每个子模型执行顺
序对应的时间成本,确定目标子模型顺序以及目标参数组合;调用所述目标参数组合对应的各代理模型,并按照所述目标子模型执行顺序执行各子模型对应的任务。5.如权利要求1所述的方法,其特征在于,根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序,具体包括:针对每种执行顺序,若该执行顺序对应执行代价的最高值低于其他执行顺序对应执行代价的最低值,则将该执行顺序作为所述候选执行顺序。6.如权利要求1所述的方法,其特征在于,根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序,具体包括:针对每个执行顺序,若该执行顺序对应执行代价的最低值小于其他执行顺序对应执行代价的最低值,以及,该执行顺序对应执行代价的最高值大于所述其他执行顺序对应执行代价的最低值且小于所述其他执行顺序对应执行代价的最高值,则将该执行顺序作为所述候选执行顺序。7.如权利要求1所述的方法,其特征在于,根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序,具体包括:针对每个执行顺序,若该执行顺序对应执行代价的最低值小于其他执行顺序对应执行代价的最低值,且该执行顺序对应执行代价的最高值大于所述其他执行顺序对应执行代价的最高值,则将该执行顺序作为所述候选执行顺序。8.一种基于代理模型重排技术的推理查询优化装置,其特征在于,包括:获取模块,获取各任务模型,并确定通过各任务模型执行推理查询任务时的不同执行顺序;过滤模块,根据用户输入目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据所述目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序;第一确定模块,针对每种候选执行顺序,基于所述目标准确率,确定在该候选执行顺序下各任务模型所对应不同代理模型的准确率参数的组合,作为各参数组合,所述代理模型用于根据任务模型对应的过滤条件对输入任务模型中的数据进行过滤,所述准确率参数用于表征通过所述准确率参数的代理模型对输入任务模型中的数据进行过滤时,未被过滤的数据占不符合所述过滤条件的数据的比例;第二确定模块,确定各候选执行顺序下每个候选参数组合对应的执行代价,并根据各候选执行顺序下每个候选参数组合对应的执行代价,确定目标执行顺序,以及所述目标执行顺序下的目标参数组合;执行模块,在接收到查询请求时,根据所述目标参数组合调用各任务模型对应的代理模型,并按照所述目标执行顺序,通过所述各任务模型执行所述查询请求对应的推理查询任务。9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。
技术总结
本说明书公开了一种基于代理模型重排技术的推理查询优化方法及装置。方法包括:获取各任务模型,并确定通过各任务模型执行推理查询任务时的不同执行顺序,根据目标准确率,查询各执行顺序对应执行代价的目标取值范围,根据目标取值范围对所述各执行顺序进行过滤,得到各候选执行顺序,基于所述目标准确率,确定在各候选执行顺序下各任务模型所对应不同代理模型的准确率参数的组合,根据每种候选执行顺序下每个候选参数组合对应的执行代价确定目标执行顺序,以及目标参数组合;在接收到查询请求时,根据目标参数组合调用各任务模型对应的代理模型,并按照目标执行顺序,通过各任务模型执行查询请求对应的推理查询任务。务模型执行查询请求对应的推理查询任务。务模型执行查询请求对应的推理查询任务。
技术研发人员:杨智慧 王晓阳
受保护的技术使用者:之江实验室
技术研发日:2023.08.30
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
