一种数据处理方法、装置及电子设备与流程

allin2024-07-27  31



1.本公开涉及模型推理技术领域,尤其涉及一种数据处理方法、装置及电子设备。


背景技术:

2.相关技术中,基于决策树的推理模型比如随机森林是机器学习中经常使用的推理模型并且拥有广泛的应用前景,对于基于决策树的推理模型,可以利用现场可编程逻辑门阵列(field programmable gate array,简称fpga)运行推理模型,即将推理模型和推理请求输入fpga,fpga可以加快推理模型的运行速度,更快的得到运行结果。
3.目前针对决策树的推理模型对应的加速方案中,会在fpga上为推理模型分配对应的模型单元用于对推理模型进行加速。但是当模型的规模过大,导致模型单元不一定能完整加载规模过大的模型,在模型单元中不能正常的运行模型,从而需要重新设置模型单元,造成加速周期延长。


技术实现要素:

4.本公开提供一种数据处理方法、装置及系统,以至少解决相关技术中当模型的规模过大,导致模型单元不一定能完整加载的问题。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种数据处理方法,应用于现场可编程逻辑门阵列中的模型分配单元,包括:
6.获取目标推理模型对应的模型规模;
7.根据所述模型规模,在所述现场可编程逻辑门阵列中确定多个目标模型单元,所述多个目标模型单元依次连接;
8.将所述目标推理模型部署至所述多个目标模型单元;
9.将所述目标推理模型对应的推理请求发送至所述多个目标模型单元。
10.可选地,所述根据所述模型规模,在所述现场可编程逻辑门阵列中确定多个目标模型单元的步骤包括:
11.基于所述模型规模和模型单元的单元规模确定出目标数量,所述目标数量为用于存储所述目标推理模型的模型单元的数量,所述模型单元为所述可编程逻辑门阵列配置的用于存储模型的单元;
12.确定所述可编程逻辑门阵列中多个模型单元各自对应的推理状态;
13.响应于所述多个模型单元中存在依次连接的连续目标数量个空闲状态的模型单元的情况,将依次连接的连续目标数量个空闲状态的模型单元确定为所述目标模型单元;
14.响应于所述多个模型单元中不存在依次连接的连续目标数量个空闲状态的模型单元的情况,在所述多个模型单元中确定出运行状态为推理状态的至少一个模型单元,以及,基于所述至少一个模型单元对应的推理模型的优先级,在所述多个模型单元中确定出目标模型单元。
15.可选地,所述基于所述至少一个模型单元对应的推理模型的优先级,在所述多个
模型单元中确定出目标模型单元的步骤包括:
16.在所述至少一个模型单元中,确定至少一个关联单元,所述关联单元与多个空闲状态的模型单元依次连接构成连续目标数量个模型单元;
17.将所述至少一个关联单元中优先级最低的模型单元,以及与所述优先级最低的模型单元依次连接构成连续目标数量个模型单元的多个空闲状态的模型单元均确定为目标模型单元。
18.可选地,所述根据所述模型规模,在所述现场可编程逻辑门阵列中确定多个目标模型单元的步骤之后还包括:
19.获取目标推理模型对应的推理性能要求;
20.所述根据所述模型规模,在所述现场可编程逻辑门阵列中确定多个目标模型单元的步骤包括;
21.基于所述模型规模和所述推理性能要求,在所述现场可编程逻辑门阵列中确定多个目标模型单元。
22.可选地,所述将所述目标推理模型部署至所述多个目标模型单元的步骤之前还包括:
23.将推理请求接收目标模型单元对应的连接标识确定为目标预设值。
24.可选地,所述将所述目标推理模型部署至所述多个目标模型单元的步骤包括:
25.获取目标模型单元的目标数量;
26.利用所述模型规模和所述目标数量确定出多个推理子模型各自对应的第一子模型规模,所述多个推理子模型的数量与所述目标数量一致;
27.按照所述第一子模型规模对所述目标推理模型进行分割,得到多个推理子模型;
28.在所述多个推理子模型中确定出起始推理子模型;
29.将所述起始推理子模型部署至所述推理请求接收目标模型单元;
30.将其他推理子模型对应部署至其他目标模型单元。
31.可选地,所述按照所述第一子模型规模对所述目标推理模型进行分割,得到多个推理子模型的步骤包括:
32.确定出所述目标数量个目标模型单元对应的原始推理性能;
33.获取针对所述目标推理模型对应的推理性能要求;
34.若所述原始推理性能不满足所述推理性能要求,则确定出所述推理性能要求对应的实际目标模型单元数量;
35.基于所述模型规模和所述实际目标模型单元数量确定出多个推理子模型各自对应的第二子模型规模;
36.按照所述第二子模型规模对目标推理模型进行分割,得到多个推理子模型。
37.可选地,所述将所述目标推理模型对应的推理请求发送至所述多个目标模型单元的步骤包括:
38.将所述目标推理模型对应的推理请求发送至所述推理请求接收目标模型单元。
39.根据本公开实施例的第二方面,提供一种数据处理方法,应用于任一目标模型单元,所述任一目标模型单元通过第一方面所述的数据处理方法确定并被部署目标推理模型,包括:
40.接收所述目标推理模型对应的推理请求,所述推理请求为模型分配单元或者与所述任一目标模型单元具有连接关系的前一个目标模型单元发送的;
41.利用所述推理请求进行推理,生成推理状态;
42.将所述推理状态发送至与所述任一模型单元具有连接关系的下一模型单元或者发送至结果返回单元。
43.可选地,所述推理请求包括目标推理模型对应的多个特征参量、终端标识或者上个目标模型单元的推理结果、该上个目标模型单元的存储标识和待推理数据;所述利用所述推理请求进行推理,生成推理状态的步骤包括:
44.获取存储的多个节点信息;
45.根据所述多个节点信息中的特征标识,在所述多个特征参量中确定出所述多个节点信息分别对应的目标特征参量;
46.基于所述多个节点信息分别对应的目标特征参量和所述待推理数据进行推理,生成推理状态。
47.可选地,所述基于所述多个节点信息分别对应的目标特征参量和所述待推理数据进行推理,生成推理状态的步骤包括:
48.针对任一节点信息,利用所述任一节点信息对应的目标特征参量对所述待推理数据进行推理,以获得对应的节点状态信息;
49.基于所述节点状态信息确定所述任一节点标识是否为最终节点;
50.在所述任一节点信息对应的节点不是最终节点的情况下,确定出节点状态信息中的下一节点标识;
51.将所述任一个节点信息的节点状态信息发送至所述下一节点标识对应的下一节点,以便所述下一节点基于存储的节点信息对所述待推理数据进行推理;
52.在所述任一节点信息对应的节点为最终节点的情况下,将所述最终节点对应的节点状态信息确定为推理状态。
53.可选地,所述将所述推理状态发送至与所述任一目标模型单元具有连接关系的下一目标模型单元或者发送至结果返回单元包括:
54.若所述任一目标模型单元的下一目标模型单元的连接标识为目标预设值,则将所述推理状态发送至所述下一目标模型单元;
55.若所述下一目标模型单元对应的连接标识为不为目标预设值,则将所述推理状态发送至所述现场可编程逻辑门阵列的结果输出单元,以便所述结果输出单元输出所述推理状态。
56.根据本公开实施例的第三方面,提供一种数据处理装置,应用于现场可编程逻辑门阵列中的模型分配单元,包括:
57.获取单元,被配置为执行获取目标推理模型对应的模型规模;
58.确定单元,被配置为执行根据所述模型规模,在所述现场可编程逻辑门阵列中确定多个目标模型单元,所述多个目标模型单元依次连接;
59.部署单元,被配置为执行将所述目标推理模型部署至所述多个目标模型单元;
60.发送单元,被配置为执行将所述目标推理模型对应的推理请求发送至所述多个目标模型单元。
61.可选地,所述确定单元,被配置为执行下述任一项:
62.基于所述模型规模和模型单元的单元规模确定出目标数量,所述目标数量为用于存储所述目标推理模型的模型单元的数量,所述模型单元为所述可编程逻辑门阵列配置的用于存储模型的单元;
63.确定所述可编程逻辑门阵列中多个模型单元各自对应的推理状态;
64.响应于所述多个模型单元中存在依次连接的连续目标数量个空闲状态的模型单元的情况,将依次连接的连续目标数量个空闲状态的模型单元确定为所述目标模型单元;
65.响应于所述多个模型单元中不存在依次连接的连续目标数量个空闲状态的模型单元的情况,在所述多个模型单元中确定出运行状态为推理状态的至少一个模型单元,以及,基于所述至少一个模型单元对应的推理模型的优先级,在所述多个模型单元中确定出目标模型单元。
66.可选地,所述确定单元,具体被配置为执行下述任一项:
67.在所述至少一个模型单元中,确定至少一个关联单元,所述关联单元与多个空闲状态的模型单元依次连接构成连续目标数量个模型单元;
68.将所述至少一个关联单元中优先级最低的模型单元,以及与所述优先级最低的模型单元依次连接构成连续目标数量个模型单元的多个空闲状态的模型单元均确定为目标模型单元。
69.可选地,所述获取单元,被配置为执行获取目标推理模型对应的推理性能要求;
70.所述确定单元,还被配置为执行基于所述模型规模和所述推理性能要求,在所述现场可编程逻辑门阵列中确定多个目标模型单元。
71.可选地,所述装置还包括设置单元,被配置为执行将推理请求接收目标模型单元对应的连接标识确定为目标预设值。
72.可选地,所述部署单元被配置为执行下述任一项:
73.获取目标模型单元的目标数量;
74.利用所述模型规模和所述目标数量确定出多个推理子模型各自对应的第一子模型规模,所述多个推理子模型的数量与所述目标数量一致;
75.按照所述第一子模型规模对所述目标推理模型进行分割,得到多个推理子模型;
76.在所述多个推理子模型中确定出起始推理子模型;
77.将所述起始推理子模型部署至所述推理请求接收目标模型单元;
78.将其他推理子模型对应部署至其他目标模型单元。
79.可选地,所述部署单元被配置为执行下述任一项:
80.确定出所述目标数量个目标模型单元对应的原始推理性能;
81.获取针对所述目标推理模型对应的推理性能要求;
82.若所述原始推理性能不满足所述推理性能要求,则确定出所述推理性能要求对应的实际目标模型单元数量;
83.基于所述模型规模和所述实际目标模型单元数量确定出多个推理子模型各自对应的第二子模型规模;
84.按照所述第二子模型规模对目标推理模型进行分割,得到多个推理子模型。
85.可选地,所述发送单元,被配置为执行:
86.将所述目标推理模型对应的推理请求发送至所述推理请求接收目标模型单元。
87.根据本公开实施例的第四方面,提供一种数据处理装置,应用于任一目标模型单元,所述任一目标模型单元通过第一方面所述的数据处理方法确定并被部署目标推理模型,包括:
88.接收单元,被配置为执行接收所述目标推理模型对应的推理请求;所述推理请求为模型分配单元或者与所述任一模型单元具有连接关系的前一个模型单元发送的;
89.推理单元,被配置为执行利用所述推理请求进行推理,生成推理状态;
90.发送单元,被配置为执行将所述推理状态发送至与所述任一模型单元具有连接关系的下一模型单元或者发送至结果返回单元。
91.可选地,所述推理请求包括目标推理模型对应的多个特征参量、终端标识或者上个目标模型单元的推理结果、该上个目标模型单元的存储标识和待推理数据;所述推理单元,具体被配置为执行下述任一项:
92.获取存储的多个节点信息;
93.根据所述多个节点信息中的特征标识,在所述多个特征参量中确定出所述多个节点信息分别对应的目标特征参量;
94.基于所述多个节点信息分别对应的目标特征参量和所述待推理数据进行推理,生成推理状态。
95.可选地,所述推理单元,具体被配置为执行下述任一项:
96.针对任一节点信息,利用所述任一节点信息对应的目标特征参量对所述待推理数据进行推理,以获得对应的节点状态信息;
97.基于所述节点状态信息确定所述任一节点标识是否为最终节点;
98.在所述任一节点信息对应的节点不是最终节点的情况下,确定出节点状态信息中的下一节点标识;
99.将所述任一个节点信息的节点状态信息发送至所述下一节点标识对应的下一节点,以便所述下一节点基于存储的节点信息对所述待推理数据进行推理;
100.在所述任一节点信息对应的节点为最终节点的情况下,将所述最终节点对应的节点状态信息确定为推理状态。
101.可选地,所述推理单元,具体被配置为执行下述任一项:
102.若所述任一目标模型单元的下一目标模型单元的连接标识为目标预设值,则将所述推理状态发送至所述下一目标模型单元;
103.若所述下一目标模型单元对应的连接标识为不为目标预设值,则将所述推理状态发送至所述现场可编程逻辑门阵列的结果输出单元,以便所述结果输出单元输出所述推理状态。
104.根据本公开实施例的第五方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;
105.其中,所述处理器被配置为执行所述指令,以实现如第一方面或者第二方面所述的数据处理方法。
106.根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面或者
第二方面所述的数据处理方法。
107.根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现第一方面或者第二方面所述的数据处理方法。
108.本公开的实施例提供的技术方案至少带来以下有益效果:能够在目标推理模型的模型规模过大的情况下,利用多个模型单元对目标推理模型进行加速,从而能够在不重新设计模型单元的情况下对任意规模的推理模型进行加速推理。
109.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
110.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
111.图1是根据一示例性实施例示出的一种数据处理方法的流程图。
112.图2是根据一示例性实施例示出的一种fpga的结构示意图。
113.图3是根据一示例性实施例示出的一种目标推理模型的结构示意图。
114.图4是根据一示例性实施例示出的一种数据处理方法的流程图。
115.图5是根据一示例性实施例示出的一种模型单元的结构图。
116.图6是根据一示例性实施例示出的一种数据处理装置框图。
117.图7是根据一示例性实施例示出的一种数据处理装置框图。
118.图8是根据一示例性实施例示出的图6或者图7所示的数据处理装置对应的一种电子设备结构图。
具体实施方式
119.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
120.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
121.在本公开的方案中,存储有目标推理模型的终端,比如电脑,手机等电子设备可以通过高速串行计算机扩展总线标准(peripheral component interconnect express,简称pcle),将目标推理模型发送至fpga,fpga中设置有模型分配单元,多个模型单元以及结果返回单元,fpga的模型分配单元用于接收到目标推理模型,并基于目标推理模型的模型规模确定出多个目标模型单元,且模型分配单元将目标推理模型分配至对应的多个目标模型单元,以便多个目标模型单元部署目标推理模型,进一步的,模型分配单元接收终端发送的推理请求,并将该推理请求发送至多个目标模型单元,进一步多个目标模型单元基于推理
请求运行目标推理模型,得到针对目标推理模型的推理结果,将推理结果发送至结果返回单元,以便结果返回单元将推理结果返回至终端或者在预设的界面进行显示。
122.图1是根据一示例性实施例示出的一种数据处理方法的流程图,如图1所示,该数据处理方法可以应用于fpga的模型分配单元中,包括以下步骤。
123.在步骤s11中,模型分配单元获取目标推理模型对应的模型规模。
124.可选地,模型分配单元包括模型配置单元,模型配置单元可以获取目标推理模型对应的模型规模。
125.其中,fpga可以用于对决策树的推理模型进行加速处理,可选地,目标推理模型可以是输入到fpga上的任一个推理模型,比如可以是随机森林模型,梯度提升决策树(gradient boosting decision tree,简称gbdt)模型等等。
126.其中,模型规模可以是目标推理模型对应的节点数量或者目标推理模型所占存储空间等等。
127.可选地,获取目标推理模型对应的模型规模可以实现为:模型分配单元将目标推理模型输入到第三方应用程序,第三方应用程序返回该目标推理模型对应的模型规模到模型分配单元。
128.或者上述过程还可以实现为:终端在通过pcle将目标推理模型发送至模型分配单元的过程中,将该目标推理模型对应的模型规模发送至模型分配单元。
129.目标推理模型的获取方式有很多中,在此不一一举例。
130.在步骤s12中,模型分配单元根据模型规模,在现场可编程逻辑门阵列中确定多个目标模型单元。
131.对应的,fpga上的每个模型单元都会有对应的单元规模,即对应的存储空间或者可以存储节点的最大容量,且fpga上的所有模型单元依次连接构成环形拓扑结构。
132.其中,多个目标模型单元依次连接。
133.可选地,根据模型规模,在现场可编程逻辑门阵列中确定多个目标模型单元的过程可以实现为:基于模型规模和模型单元的单元规模确定出目标数量,目标数量为用于存储目标推理模型的模型单元的数量,模型单元为fpga的用于存储模型的单元;确定fpga中多个模型单元各自对应的运行状态;响应于多个模型单元中存在依次连接的连续目标数量个空闲状态的模型单元的情况,并将依次连接的连续目标数量个空闲状态的模型单元确定为目标模型单元;响应于多个模型单元中不存在依次连接的连续目标数量个空闲状态的模型单元的情况,在多个模型单元中确定出运行状态为推理状态的至少一个模型单元,以及,基于至少一个模型单元对应的推理模型的优先级,在多个模型单元中确定出目标模型单元。
134.可以理解的是,当模型规模以及单元规模利用所占存储空间进行表示的情况下,假设模型规模所占存储空间为200字节,单元规模所占空间为40字节,那么目标数量为模型规模/单元规模=5,即用于存储目标推理模型的模型单元的数量为5个,假设模型规模所占存储空间为200字节,单元规模所占空间为60字节,模型规模/单元规模的结果为3且剩余20字节,那么目标数量为的结果的整数部分+1,即用于存储目标推理模型的模型单元的数量为4个。
135.在确定出目标数量之后,在fpga上选取目标数量个依次连接的模型单元作为目标
模型单元。
136.需要说明的是,fpga上的多个模型单元各自对应的推理状态可能为空闲状态或者推理状态,其中,推理状态表示该模型单元正在执行其他推理模型的推理过程。因此模型配置单元在确定多个目标模型单元的过程中,在确定出所需目标模型规模的目标数据量之后,还需要对模型单元的推理状态进行确定,从而针对模型单元的推理状态来确定目标模型单元。
137.在确定目标模型单元的过程中,优先将处于空闲状态的模型单元确定为目标模型单元,因此,首先查找fpga上是否存在依次连接的连续目标数量个空闲状态的模型单元,若fpga中存在依次连接的连续目标数量个空闲状态的模型单元,则可以将该目标数量个空闲状态的模型单元确定为目标模型单元,若fpga中不存在依次连接的连续目标数量个空闲状态的模型单元,则需要确定fpga上处于推理状态的至少一个模型单元的优先级,该优先级可以是模型单元被部署的推理模型的优先级,并基于模型单元的优先级确定出多个目标模型单元
138.此外,推理状态为运行状态的模型单元对应的推理模型有各自对应的优先级,因此,可以针对不同的优先级来确定目标模型单元。
139.在一个可选的实施例中,基于至少一个模型单元对应的推理模型的优先级,在多个模型单元中确定出目标模型单元可以实现为:在至少一个模型单元中,确定至少一个关联单元,关联单元与多个空闲状态的模型单元依次连接构成连续目标数量个模型单元;将至少一个关联单元中优先级最低的模型单元,以及与优先级最低的模型单元依次连接构成连续目标数量个模型单元的多个空闲状态的模型单元均确定为目标模型单元。
140.关联单元可以是任一个处于推理状态的模型单元,且该模型单元可以与多个处于空闲状态的模型单元依次连接构成目标数量个模型单元。
141.可以理解的是,在fpga中不存在依次连接的连续目标数量个空闲状态的模型单元的情况下,确定fpga上存在的处于推理状态的至少一个模型单元,并确定至少一个模型单元各自对应的优先级,按照优先级从低到高的顺序分别判断至少一个模型单元是否可以和多个空闲状态的模型单元依次连接构成连续目标数量个模型单元,当存在模型单元可以和多个空闲状态的模型单元依次连接构成连续目标数量个模型单元,则将该模型单元和多个空闲状态的模型单元确定为目标模型单元,并停止判断的过程。
142.在一个具体的实施例中,图2根据一示例性实施例示出的一种fpga的结构示意图。如图2所示,该fpga设置有模型配置单元和六个模型单元。模型配置单元在确定出需要的目标模型单元的数量为3之后,查询该六个模型单元的推理状态,判断是否有三个具有连接关系的模型单元处于空闲状态,假设模型单元1,模型单元2,模型单元3处于空闲状态,则将模型单元1,模型单元2,模型单元3确定为目标模型单元,若fpga中没有三个具有连接关系的模型单元处于空闲状态,且模型单元1,模型单元3,模型单元5处于空闲状态,模型单元1,模型单元3,模型单元5处于运行状态,则确定至少一个关联单元优先级最低的模型单元,即确定模型单元2,模型单元4,模型单元6各自运行的推理模型的优先级,若确定模型单元2,模型单元4,模型单元6中,模型单元4对应的推理模型的优先级最低,则停止模型单元4的推理过程,将模型单元3,模型单元4,模型单元5确定为目标模型单元。
143.可选地,模型配置单元还会接收到针对目标推理模型的推理性能要求,因此,模型
配置单元需要针对推理性能要求对应的推理性能确定目标模型单元的数量。该推理性能可以是推理该目标推理模型所耗费的时间。
144.可选地,获取目标推理模型对应的模型规模的步骤之前还包括:获取目标推理模型对应的推理性能要求。
145.可选地,根据模型规模,在现场可编程逻辑门阵列中确定多个目标模型单元的步骤包括:基于模型规模和推理性能要求,在现场可编程逻辑门阵列中确定多个目标模型单元。
146.可以理解的是,在模型单元存储的节点数量为该模型单元对应的最大节点存储量情况下,推理性能为该模型单元的最低推理性能,因此,可以减小目标模型单元存储的节点数量来提高模型单元的推理性能。
147.比如,基于目标推理模型确定出三个具有连接关系的目标模型单元,利用该三个目标模型单元处理目标推理模型对应的处理时间为1毫秒,此时,对目标推理模型的推理性能为30毫秒,可以通过增加目标模型单元的数量来提高处理目标推理模型的性能,即可以通过利用六个目标模型单元处理该目标推理模型来达到目标推理模型的推理性能要求。
148.可以理解的是,上述目标推理模型对应的推理性能是针对利用目标推理性能对一个待推理数据进行推理对应的推理性能。
149.在确定出多个目标模型单元之后,需要在多个目标模型单元中确定出用于接收目标推理模型对应的推理请求的目标模型单元,因此可以配置多个目标模型单元的连接标识,从而基于连接标识确定出接收推理请求的目标模型单元。
150.可选地,根据模型规模,在现场可编程逻辑门阵列中确定多个目标模型单元之后还包括:将推理请求接收目标模型单元对应的连接标识设置为目标预设值。
151.其中,目标预设值可以人为设定的值,可以是0、1等任意数字。
152.其中,连接标识用于任一目标模型单元确定与其具有连接关系的目标模型单元。可选地,每个模型单元都会有一个对应的连接标识,若模型单元的连接标识置为目标预设值,则说明该模型单元为多个目标模型单元中的推理请求接收目标模型单元,推理请求接收目标模型单元接收到的推理请求是模型配置单元发送的,若模型单元的连接标识置为不为目标预设值,则说明该目标模型单元接收到的推理请求是与其对应的上一个目标模型单元发送的。
153.在确定出多个目标模型单元之后,可以设置多个目标模型单元各自的连接标识来确定用于接收推理请求的目标模型单元,比如,可以将推理请求接收目标模型单元对应的连接标识设置为0,将其他目标推理模型的连接标识设置为1。从而模型配置单元在发送推理请求的时候,将推理请求发送至连接标识为1的目标模型单元。
154.以图2所示的fpga为例,fpga对模型单元之间的连接关系进行配置,相邻的模型单元相互连接,且模型单元1与模型单元6相互连接,可选地,各个模型单元之间的连接方式包括硬件连接,或者无线连接等等,模型分配单元可以通过控制fpga中的多个模型单元对应的连接标识来控制多个模型单元的通断。
155.在步骤s13中,模型分配单元将目标推理模型部署至多个目标模型单元。
156.在确定出多个目标模型单元之后,模型配置单元可以将接收到的目标推理模型部署在多个目标模型单元中。而由于目标模型单元的单元规模有限,因此,每个模型单元只能
部署目标推理模型的一部分,因此,需要对目标推理模型进行分割处理。
157.为了说明目标推理模型的分割过程,首先举例说明一下目标推理模型的一般形态,图3是根据一示例性实施例示出的一种目标推理模型的结构示意图。如图3所示,该目标推理模型用于判断一个学生是不是好学生,其中,该目标推理模型对应的多个节点是分数大于a,分数小于b,出勤率大于c,上课发言次数大于d,作业提交率大于e,遵守纪律。对应的待推理数据则为至少一个学生的分数,出勤率,上课发言次数,作业提交率和遵守纪律。
158.可选地,将目标推理模型部署至多个目标模型单元可以实现为:获取目标模型单元的目标数量;利用模型规模和目标数量确定出多个推理子模型各自对应的子模型规模,多个推理子模型的数量与目标数量一致;按照子模型规模对目标推理模型进行分割,得到多个推理子模型;在多个推理子模型中确定出起始推理子模型;将起始推理子模型部署至推理请求接收目标模型单元;将其他推理子模型对应部署至其他目标模型单元。
159.由于推理请求接收目标模型单元用于接收目标推理模型对应的推理请求,因此推理请求接收目标模型单元用于部署基于推理请求进行推理的推理子模型,即目标推理模型中用于开始推理的部分,因此,在将目标模型单元部署对应的推理子模型之前,需要确定出包括目标推理模型中用于开始推理的部分的起始推理子模型,从而将起始推理子模型之后的其他推理子模型按照分割顺序分别部署至对应的目标模型单元。
160.以图3所示的目标推理模型为例,该目标推理模型包括6个节点,且fpga中的每个模型单元的单元规模均一致,即每个模型单元的最大节点存储量均一致,均为两个节点,因此,将目标推理模型分割为3个推理子模型,即每个推理子模型均包括2个节点。起始推理子模型可以包括分数大于a,分数小于b,下一个推理子模型可以包括出勤率大于c,上课发言次数大于d,最后一个推理子模型作业提交率大于e,遵守纪律,进一步将对应的节点发送至对应的目标模型单元,将起始推理子模型发送部署至推理请求接收目标模型单元,将其他推理子模型对应部署至其他目标模型单元。
161.对应的,该目标推理模型也可能会有推理性能要求,在进行目标推理模型的分割过程还需要考虑到推理性能要求,从而保证对目标推理模型的推理性能符合推理性能要求。可选地,按照第一子模型规模对目标推理模型进行分割,得到多个推理子模型的过程可以实现为:确定出目标数量个目标模型单元对应的原始推理性能;获取针对目标推理模型对应的推理性能要求;若原始推理性能不满足推理性能要求,则确定出推理性能要求对应的实际目标模型单元数量;基于模型规模和实际目标模型单元数量确定出多个推理子模型各自对应的第二子模型规模;按照第二子模型规模对目标推理模型进行分割,得到多个推理子模型。
162.其中,第一子模型规模是在没有推理性能要求的情况下,利用单元规模以及模型规模确定出的目标模型单元各自对应的模型规模,比如模型规模为200个节点,每个目标模型单元的单元规模为70个节点,则第一子模型规模可以为。进一步的,计算出利用最少目标模型单元数量的目标模型单元对目标推理模型进行推理得到的推理性能,即原始推理性能,与针对目标推理模型对应的推理性能要求进行比较,在原始推理性能满足推理性能要求的情况下,分割后的推理子模型的数量与最少目标模型单元数量一致,若原始推理性能满足推理性能要求,则确定出推理性能要求对应的实际目标模型单元数量,且分割后的推理子模型的数量与实际目标模型单元数量一致。从而能够使多个目标模型单元对应的推理
性能满足推理性能要求。
163.比如,当将图3所示的目标推理模型发送至3个目标模型单元进行推理时,对应的推理性能,即推理时间为3分钟,而此时目标推理模型对应的推理性能要求为1.5分钟,则需要将目标推理模型发送至6个目标模型单元进行推理。
164.在步骤s14中,模型分配单元将目标推理模型对应的推理请求发送至多个目标模型单元。
165.可选地,模型分配单元还包括推理模型分配单元,推理模型分配单元可以将目标推理模型对应的推理请求发送至多个目标模型单元,以便多个目标模型单元按照连接关系,利用推理请求进行推理。
166.对应的,由于有多个目标模型单元,推理模型分配单元在将推理请求发送至多个目标模型单元之前,需要确定出用于接收推理请求的目标模型单元,以便多个目标模型单元按照各自部署的推理子模型进行推理。
167.可选地,将目标推理模型对应的推理请求发送至多个目标模型单元的步骤包括:将目标推理模型对应的推理请求发送至推理请求接收目标模型单元。
168.进一步的,多个目标模型单元中的最后一个模型单元将推理结果发送至fpga中的结果返回单元,以便结果返回单元将推理结果返回至终端或者在预设的界面进行显示。
169.本公开关于一种数据处理方法,该方法应用于现场可编程逻辑门阵列中的模型分配单元,包括:获取目标推理模型对应的模型规模;根据模型规模,在现场可编程逻辑门阵列中确定多个目标模型单元,多个目标模型单元依次连接;将目标推理模型部署至多个目标模型单元;将目标推理模型对应的推理请求发送至多个目标模型单元。本公开的实施例能够在目标推理模型的模型规模过大的情况下,利用多个模型单元对目标推理模型进行加速,从而能够在不重新设计模型单元的情况下对任意规模的推理模型进行加速推理。
170.图4是根据一示例性实施例示出的一种数据处理方法的流程图,该数据处理方法可以应用于任一目标模型单元,任一目标模型单元通过图1的数据处理方法确定并被部署目标推理模型,如图4所示,包括以下步骤。
171.在步骤s41中,目标模型单元接收针对目标推理模型的推理请求。
172.其中,推理请求可以为模型分配单元中的推理模型分配单元或者与任一目标模型单元具有连接关系的前一个目标模型单元发送的。
173.在步骤s42中,目标模型单元利用推理请求进行推理,生成推理状态。
174.可选地,推理请求包括目标推理模型对应的多个特征参量、终端标识或者上个目标模型单元的推理结果、上个目标模型单元的存储标识和待推理数据。
175.此外,每个目标模型单元中存储有多个推理节点,每个推理节点有对应的节点信息,目标模型单元可以基于对应的多个节点信息进行推理,并可以基于多个节点信息进行推理的结果生成该目标推理节点的推理状态。
176.可选地,利用推理请求进行推理,生成推理状态的可以实现为:获取存储的多个节点信息;根据多个节点信息中的特征标识,在多个特征参量中确定出多个节点信息分别对应的目标特征参量;基于多个节点信息分别对应的目标特征参量和待推理数据进行推理,生成推理状态。
177.可选地,节点信息中存储有特征标识,即该目标模型单元可以基于该特征标识获
取对应的目标特征参量,若该目标模型单元为推理请求接收目标模型单元,且当前推理节点为该目标模型单元的首个推理节点,则接收的为终端标识,即当前推理节点可以从终端标识对应的终端获取对应的推理结果,由于当前推理节点为该目标模型单元的首个推理节点,因此,获取的推理结果一般为预设值,比如是0,表示推理刚刚开始。目标模型单元从当前推理节点开始按照推理顺序分别获取多个推理节点各自对应的节点信息,从而基于节点信息获取对应的目标特征参量,进一步基于目标特征参量以及待推理数据进行推理,生成对应的推理状态。
178.需要说明的是,每个推理节点的推理过程均一致,可以从单一推理节点的推理过程进行说明,从而扩展到目标模型单元包括的所有推理节点,进而获取该目标模型单元对应的推理状态。
179.可选地,基于多个节点信息分别对应的目标特征参量和待推理数据进行推理,生成推理状态的步骤包括:针对任一节点信息,利用任一节点信息对应的目标特征参量对待推理数据进行推理,以获得对应的节点状态信息;基于节点状态信息确定任一节点标识是否为最终节点;在任一节点信息对应的节点不是最终节点的情况下,确定出节点状态信息中的下一节点标识;将任一个节点信息的节点状态信息发送至下一节点标识对应的下一节点,以便下一节点基于存储的节点信息对待推理数据进行推理;在任一节点信息对应的节点为最终节点的情况下,将最终节点对应的节点状态信息确定为推理状态。
180.以图3所示的目标推理模型为例,多个节点对应于目标推理模型的六个节点,每个节点信息包括:推理运算类别、特征阈值和特征标识等等;每个节点状态信息包括:左叶子节点结果,右叶子节点结果,左子节点单元距离,左子节点标识,是否为左叶子节点,是否为右叶子节点,右子节点单元距离,右子节点标识等。
181.在节点状态信息中的左子节点单元距离,左子节点标识,右子节点单元距离,右子节点标识为预设值,比如为0时,表示当前推理节点为最终节点,当节点信息中包括是左叶子节点或者是右叶子节点时,表示当前推理节点不是最终节点。
182.其中,特征标识与特征参量是一一对应的关系,因此,可以基于节点信息中对应的特征标识,确定出该节点对应的目标特征参量、运算类别和特征阈值等推理相关信息。目标模型单元在存储的所有节点均推理完成之后,由最终节点生成目标模型单元对应的推理状态。可以基于该模型单元中最终节点的推理状态,生成该目标模型单元对应的推理状态。
183.可选地,为了加快节点之间的信息传递,每个目标模型单元中还可以设置多个推理单元,且为了缓解推理单元的缓存压力,还可以针对每个推理单元,设置缓存单元。
184.图5是根据一示例性实施例示出的一种目标模型单元的结构图。参照图5,对目标模型单元中的节点推理的过程进行具体说明。该目标模型单元包括多个推理单元,每个推理单元对应于一个缓存单元,可以将发送至推理单元的推理请求暂时存放在对应的缓存单元,从而可以分担推理单元的缓存压力,可以进一步提高推理单元的推理性能,且每个推理单元存储有至少一个节点。
185.首先,目标模型单元接收到推理请求,该推理请求为推理模型分配单元或者与任一目标模型单元具有连接关系的前一个目标模型单元发送的,目标模型单元的推理单元1对应缓存单元1接收到推理请求,缓存单元1将推理请求发送至推理单元1,推理单元1中的至少一个节点基于各自对应的特征标识,在推理请求中获取对应的推理节点标识、并读取
相应的节点信息后,获取对应节点的特征参量、推理运算类别、特征阈值等推理相关信息,基于特征参量和推理运算类别对待推理数据中对应的推理数据进行推理,得到推理状态1,该推理状态1包括多个特征参量,推理单元1中对应的最后一个被推理的节点的推理结果以及下一个推理单元标识,推理单元1将推理状态1发送至下一个推理单元对应的缓存单元。假设下一个推理单元为推理单元2,推理单元2按照推理单元1推理的步骤进行推理,生成对应的推理状态2,将推理状态2发送至下一个对应的推理单元,直到该目标模型单元的最后一个推理单元n推理完成,生成该目标模型单元对应的推理状态。
186.参照图3和图5,对目标模型单元中的节点进行推理的过程进行说明,假设图5所示的推理目标模型单元存储有图3所示的目标推理模型的第一节点:分数大于a和第二个节点:分数小于b,且该推理目标模型单元的推理单元1存储有第一节点,推理单元2存储有第二节点。
187.首先,第一节点接收模型分配单元发送的推理请求,可选地,该推理请求中包括第一节点标识,第一节点在推理请求中的多个特征参量中获取对应的特征参量:分数大于a,从而得到第一节点对应的运算类别为比较运算。假设推理请求中的待推理数据中包括:分数为a1,且a1《a,那么第一节点对应的运算结果分数a1小于分数a,则需要第二节点继续推理,且第一节点对应的节点信息为不是左右叶子结点,左右叶子结点对应的结果均为空,左子节点标识为空,左子节点单元距离为空,右子节点为第二个节点对应的节点标识,且由于第二个节点存储在推理单元2,则左子节点单元距离为1,因此,可以将当前的推理结果,即“不是左右叶子结点,左右叶子结点对应的结果均为空,左子节点标识为空,左子节点单元距离为空”,多个特征参量以及下一个推理节点存储标识作为第一节点对应的节点状态信息,且由于推理单元1只包括一个推理节点,因此该节点状态信息也是推理单元1对应的推理状态1,进一步的将推理状态1传输至推理单元2对应的缓存单元2中,从而缓存单元2将推理状态1作为推理请求1传输至第二个节点,以便第二个节点进行推理,第二节点按照第一节点的推理方式进行推理,得到对应的节点状态信息,由于推理单元2仅存储有第二节点,因此,该节点状态信息也是推理单元2对应的推理状态2,且由于第二节点为该目标模型单元的最后一个节点,因此,该节点状态信息也可以作为目标模型单元的推理状态进行输出。
188.在步骤s43中,目标模型单元将推理状态发送至与任一目标模型单元具有连接关系的下一目标模型单元或者发送至结果返回单元。
189.当目标模型单元不为多个目标模型单元的最后一个目标模型单元,目标模型单元将推理状态可以发送到与任一目标模型单元具有连接关系的下一目标模型单元,当目标模型单元为多个目标模型单元的最后一个目标模型单元,目标模型单元将推理状态发送至结果返回单元。
190.可以基于下一目标模型单元的连接标识来确定该任一目标模型单元是否为多个目标模型单元的最后一个目标模型,从而可以确定出将推理状态发送至何处。
191.可选地,将推理状态发送至与任一目标模型单元具有连接关系的下一目标模型单元或者发送至结果返回单元包括:若任一目标模型单元的下一目标模型单元的连接标识为目标预设值,则将推理状态发送至下一目标模型单元;若下一目标模型单元对应的连接标识为不为目标预设值,则将推理状态发送至现场可编程逻辑门阵列的结果输出单元,以便结果输出单元输出推理状态。
192.由上文,判断目标模型单元是不是多个目标模型单元的最后一个目标模型单元可以基于目标模型单元对应的连接标识来确定,可选地,基于与任一目标模型单元具有连接关系的下一目标模型单元对应的连接标识,将推理状态发送至与任一目标模型单元具有连接关系的下一目标模型单元或者发送至结果返回单元:若与任一目标模型单元具有连接关系的下一目标模型单元对应的连接标识不为目标预设值,比如为1,则将推理状态发送至任一目标模型单元对应的下一目标模型单元;若与任一目标模型单元具有连接关系的下一目标模型单元对应的连接标识为为目标预设值,比如为0,则将推理状态发送至现场可编程逻辑门阵列中的结果输出单元,以便结果输出单元输出推理状态。
193.本公开关于一种数据处理方法,该方法应用于任一目标模型单元,任一目标模型单元通过图1的数据处理方法确定并被部署目标推理模型,该方法包括:接收目标推理模型对应的推理请求,推理请求为模型分配单元或者与任一目标模型单元具有连接关系的前一个目标模型单元发送的;利用推理请求进行推理,生成推理状态;将推理状态发送至与任一模型单元具有连接关系的下一模型单元或者发送至结果返回单元。本公开的方案通过目标模型单元与其他目标模型单元建立连接关系,从而可以在目标推理模型过大的情况下,依据连接关系,使多个目标模型单元配合使用,有效完成针对目标推理模型的推理任务。
194.图6是根据一示例性实施例示出的一种数据处理装置框图。该数据处理装置应用于现场可编程逻辑门阵列中的模型分配单元,参照图6,该装置包括获取单元61,确定单元62,部署单元63和发送单元64。
195.获取单元61,被配置为执行获取目标推理模型对应的模型规模;
196.确定单元62,被配置为执行根据所述模型规模,在所述现场可编程逻辑门阵列中确定多个目标模型单元,所述多个目标模型单元依次连接;
197.部署单元63,被配置为执行将所述目标推理模型部署至所述多个目标模型单元;
198.发送单元64,被配置为执行将所述目标推理模型对应的推理请求发送至所述多个目标模型单元。
199.可选地,所述确定单元62,被配置为执行下述任一项:
200.基于所述模型规模和模型单元的单元规模确定出目标数量,所述目标数量为用于存储所述目标推理模型的模型单元的数量,所述模型单元为所述可编程逻辑门阵列配置的用于存储模型的单元;
201.确定所述可编程逻辑门阵列中多个模型单元各自对应的推理状态;
202.响应于所述多个模型单元中存在依次连接的连续目标数量个空闲状态的模型单元的情况,将依次连接的连续目标数量个空闲状态的模型单元确定为所述目标模型单元;
203.响应于所述多个模型单元中不存在依次连接的连续目标数量个空闲状态的模型单元的情况,在所述多个模型单元中确定出运行状态为推理状态的至少一个模型单元,以及,基于所述至少一个模型单元对应的推理模型的优先级,在所述多个模型单元中确定出目标模型单元。
204.可选地,所述确定单元62,具体被配置为执行下述任一项:
205.在所述至少一个模型单元中,确定至少一个关联单元,所述关联单元与多个空闲状态的模型单元依次连接构成连续目标数量个模型单元;
206.将所述至少一个关联单元中优先级最低的模型单元,以及与所述优先级最低的模
型单元依次连接构成连续目标数量个模型单元的多个空闲状态的模型单元均确定为目标模型单元。
207.可选地,所述获取单元61,被配置为执行获取目标推理模型对应的推理性能要求;
208.所述确定单元62,还被配置为执行基于所述模型规模和所述推理性能要求,在所述现场可编程逻辑门阵列中确定多个目标模型单元。
209.可选地,所述装置还包括设置单元,被配置为执行将推理请求接收目标模型单元对应的连接标识确定为目标预设值。
210.可选地,所述部署单元63被配置为执行下述任一项:
211.获取目标模型单元的目标数量;
212.利用所述模型规模和所述目标数量确定出多个推理子模型各自对应的第一子模型规模,所述多个推理子模型的数量与所述目标数量一致;
213.按照所述第一子模型规模对所述目标推理模型进行分割,得到多个推理子模型;
214.在所述多个推理子模型中确定出起始推理子模型;
215.将所述起始推理子模型部署至所述推理请求接收目标模型单元;
216.将其他推理子模型对应部署至其他目标模型单元。
217.可选地,所述部署单元63被配置为执行下述任一项:
218.确定出所述目标数量个目标模型单元对应的原始推理性能;
219.获取针对所述目标推理模型对应的推理性能要求;
220.若所述原始推理性能不满足所述推理性能要求,则确定出所述推理性能要求对应的实际目标模型单元数量;
221.基于所述模型规模和所述实际目标模型单元数量确定出多个推理子模型各自对应的第二子模型规模;
222.按照所述第二子模型规模对目标推理模型进行分割,得到多个推理子模型。
223.可选地,所述发送单元64,被配置为执行:
224.将所述目标推理模型对应的推理请求发送至所述推理请求接收目标模型单元。
225.关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
226.图7是根据一示例性实施例示出的一种数据处理装置框图。应用于任一目标模型单元,所述任一目标模型单元通过图1所述的数据处理方法确定并被部署目标推理模型,参照图7,该装置包括接收单元71,推理单元72和发送单元73。
227.接收单元71,被配置为执行接收所述目标推理模型对应的推理请求;所述推理请求为模型分配单元或者与所述任一模型单元具有连接关系的前一个模型单元发送的;
228.推理单元72,被配置为执行利用所述推理请求进行推理,生成推理状态;
229.发送单元73,被配置为执行将所述推理状态发送至与所述任一模型单元具有连接关系的下一模型单元或者发送至结果返回单元。
230.可选地,所述推理请求包括目标推理模型对应的多个特征参量、终端标识或者上个目标模型单元的推理结果、该上个目标模型单元的存储标识和待推理数据;所述推理单元72,具体被配置为执行下述任一项:
231.获取存储的多个节点信息;
232.根据所述多个节点信息中的特征标识,在所述多个特征参量中确定出所述多个节点信息分别对应的目标特征参量;
233.基于所述多个节点信息分别对应的目标特征参量和所述待推理数据进行推理,生成推理状态。
234.可选地,所述推理单元72,具体被配置为执行下述任一项:
235.针对任一节点信息,利用所述任一节点信息对应的目标特征参量对所述待推理数据进行推理,以获得对应的节点状态信息;
236.基于所述节点状态信息确定所述任一节点标识是否为最终节点;
237.在所述任一节点信息对应的节点不是最终节点的情况下,确定出节点状态信息中的下一节点标识;
238.将所述任一个节点信息的节点状态信息发送至所述下一节点标识对应的下一节点,以便所述下一节点基于存储的节点信息对所述待推理数据进行推理;
239.在所述任一节点信息对应的节点为最终节点的情况下,将所述最终节点对应的节点状态信息确定为推理状态。
240.可选地,所述推理单元72,具体被配置为执行下述任一项:
241.若所述任一目标模型单元的下一目标模型单元的连接标识为目标预设值,则将所述推理状态发送至所述下一目标模型单元;
242.若所述下一目标模型单元对应的连接标识为不为目标预设值,则将所述推理状态发送至所述现场可编程逻辑门阵列的结果输出单元,以便所述结果输出单元输出所述推理状态。
243.关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
244.在一个可能的设计中,图6或图7所示实施例的数据处理装置可以实现为电子设备,如图8所示,该电子设备可以包括存储器81以及处理器82;
245.所述存储器81存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器82调用执行。
246.其中,处理器82可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理器也可以为一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
247.存储器81被配置为存储各种类型的数据以支持在终端的操作。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
248.当然,电子设备必然还可以包括其他部件,例如输入/输出接口、通信器等。
249.输入/输出接口为处理器和外围接口单元之间提供接口,上述外围接口单元可以是输出设备、输入设备等。
250.通信器被配置为便于电子设备和其他设备之间有线或无线方式的通信等。
251.其中,该电子设备可以为物理设备或者云计算平台提供的弹性计算主机等,此时
电子设备即可以是指云服务端,上述处理器、存储器等可以是从云计算平台租用或购买的基础服务端资源。
252.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由图8所示的电子设备的处理器82执行以完成上述方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
253.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现图1-图3或者图4-图5所述的数据处理方法。
254.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
255.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
256.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
257.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
258.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
259.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术特征:
1.一种数据处理方法,其特征在于,应用于现场可编程逻辑门阵列中的模型分配单元,包括:获取目标推理模型对应的模型规模;根据所述模型规模,在所述现场可编程逻辑门阵列中确定多个目标模型单元,所述多个目标模型单元依次连接;将所述目标推理模型部署至所述多个目标模型单元;将所述目标推理模型对应的推理请求发送至所述多个目标模型单元。2.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述模型规模,在所述现场可编程逻辑门阵列中确定多个目标模型单元的步骤包括:基于所述模型规模和模型单元的单元规模确定出目标数量,所述目标数量为用于存储所述目标推理模型的模型单元的数量,所述模型单元为所述可编程逻辑门阵列配置的用于存储模型的单元;确定所述可编程逻辑门阵列中多个模型单元各自对应的推理状态;响应于所述多个模型单元中存在依次连接的连续目标数量个空闲状态的模型单元的情况,将依次连接的连续目标数量个空闲状态的模型单元确定为所述目标模型单元;响应于所述多个模型单元中不存在依次连接的连续目标数量个空闲状态的模型单元的情况,在所述多个模型单元中确定出运行状态为推理状态的至少一个模型单元,以及,基于所述至少一个模型单元对应的推理模型的优先级,在所述多个模型单元中确定出目标模型单元。3.根据权利要求1所述的数据处理方法,其特征在于,所述将所述目标推理模型部署至所述多个目标模型单元的步骤之前还包括:将推理请求接收目标模型单元对应的连接标识设置为目标预设值。4.根据权利要求3所述的数据处理方法,其特征在于,所述将所述目标推理模型部署至所述多个目标模型单元的步骤包括:获取目标模型单元的目标数量;利用所述模型规模和所述目标数量确定出多个推理子模型各自对应的第一子模型规模,所述多个推理子模型的数量与所述目标数量一致;按照所述第一子模型规模对所述目标推理模型进行分割,得到多个推理子模型;在所述多个推理子模型中确定出起始推理子模型;将所述起始推理子模型部署至所述推理请求接收目标模型单元;将其他推理子模型对应部署至其他目标模型单元。5.一种数据处理方法,其特征在于,应用于任一目标模型单元,所述任一目标模型单元通过权利要求1至4中任一项所述的数据处理方法确定并被部署目标推理模型,所述方法包括:接收所述目标推理模型对应的推理请求,所述推理请求为模型分配单元或者与所述任一目标模型单元具有连接关系的前一个目标模型单元发送的;利用所述推理请求进行推理,生成推理状态;将所述推理状态发送至与所述任一模型单元具有连接关系的下一模型单元或者发送至结果返回单元。
6.一种数据处理装置,其特征在于,应用于现场可编程逻辑门阵列中的模型分配单元,包括:获取单元,被配置为执行获取目标推理模型对应的模型规模;确定单元,被配置为执行根据所述模型规模,在所述现场可编程逻辑门阵列中确定多个目标模型单元,所述多个目标模型单元依次连接;部署单元,被配置为执行将所述目标推理模型部署至所述多个目标模型单元;发送单元,被配置为执行将所述目标推理模型对应的推理请求发送至所述多个目标模型单元。7.一种数据处理装置,其特征在于,应用于任一目标模型单元,所述任一目标模型单元通过权利要求1至4中任一项所述的数据处理方法确定并被部署目标推理模型,所述装置包括:接收单元,被配置为执行接收所述目标推理模型对应的推理请求;所述推理请求为模型分配单元或者与所述任一模型单元具有连接关系的前一个模型单元发送的;推理单元,被配置为执行利用所述推理请求进行推理,生成推理状态;发送单元,被配置为执行将所述推理状态发送至与所述任一模型单元具有连接关系的下一模型单元或者发送至结果返回单元。8.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至4中任一项或者权利要求5所述的数据处理方法。9.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至4中任一项或者权利要求5中所述的数据处理方法。10.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至4中任一项或者权利要求5所述的数据处理方法。

技术总结
本公开关于一种数据处理方法、装置及电子设备,该方法应用于现场可编程逻辑门阵列中的模型分配单元,包括:获取目标推理模型对应的模型规模;根据模型规模,在现场可编程逻辑门阵列中确定多个目标模型单元,多个目标模型单元依次连接;将目标推理模型部署至多个目标模型单元;将目标推理模型对应的推理请求发送至多个目标模型单元。本公开的实施例能够在目标推理模型的模型规模过大的情况下,利用多个模型单元对目标推理模型进行加速,从而能够在不重新设计模型单元的情况下对任意规模的推理模型进行加速推理。模型进行加速推理。模型进行加速推理。


技术研发人员:彭薛葵 钟辉 刘晓戬 刘凌志
受保护的技术使用者:北京达佳互联信息技术有限公司
技术研发日:2022.01.07
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-15747.html

最新回复(0)