数据处理方法、装置、电子设备及存储介质与流程

文档序号:30074196发布日期:2022-05-18 02:51阅读:93来源:国知局
数据处理方法、装置、电子设备及存储介质与流程

1.本公开涉及人工智能技术领域,具体涉及深度学习、大数据处理等技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。


背景技术:

2.人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
3.相关技术中,数据处理模型中算子的调用关系较为复杂,需要定制化开发算子调用框架,以完成数据处理。


技术实现要素:

4.本公开提供了一种数据处理方法、装置、电子设备、存储介质及计算机程序产品。
5.根据本公开的第一方面,提供了一种数据处理方法,包括:获取待处理数据;确定与待处理数据对应的数据处理模型中的目标算子类型;获取目标算子类型所描述的目标算子资源;以及采用目标算子资源处理待处理数据,以得到数据处理结果。
6.根据本公开的第二方面,提供了一种数据处理装置,包括:第一获取模块,用于获取待处理数据;确定模块,用于确定与待处理数据对应的数据处理模型中的目标算子类型;第二获取模块,用于获取目标算子类型所描述的目标算子资源;以及第一处理模块,用于采用目标算子资源处理待处理数据,以得到数据处理结果。
7.根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开第一方面的数据处理方法。
8.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如本公开第一方面的数据处理方法。
9.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开第一方面的数据处理方法的步骤。
10.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
11.附图用于更好地理解本方案,不构成对本公开的限定。其中:
12.图1是根据本公开第一实施例的示意图;
13.图2是根据本公开第二实施例的示意图;
14.图3是根据本公开第三实施例的示意图;
15.图4是本公开实施例的进程级资源和线程级资源关系示意图;
16.图5是根据本公开实施例的代理装置示意图;
17.图6是根据本公开实施例的rpc框架示意图;
18.图7是根据本公开第四实施例的示意图;
19.图8是根据本公开第五实施例的示意图;
20.图9示出了用来实施本公开实施例的数据处理方法的示例电子设备的示意性框图。
具体实施方式
21.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
22.图1是根据本公开第一实施例的示意图。
23.其中,需要说明的是,本实施例的数据处理方法的执行主体为数据处理装置,该装置可以由软件和/或硬件的方式实现,该装置可以配置在电子设备中,电子设备可以包括但不限于终端、服务器端等。
24.本公开涉及人工智能技术领域,具体涉及深度学习,自然语言处理等技术领域。
25.其中,人工智能(artificial intelligence),英文缩写为ai。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
26.深度学习,是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。深度学习的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。
27.而大数据处理,是指采用人工智能的方式对规模巨大的数据进行分析以及处理的过程,而大数据可以概括为5个v,数据量大(volume)、速度快(velocity)、类型多(variety)、价值(value)、真实性(veracity)。
28.本公开实施例中,所涉及的数据的收集、存储、使用、加工、传输、提供和公开等处理方式,其过程均符合相关法律法规的规定,且不违背公序良俗。
29.如图1所示,该数据处理方法,包括:
30.s101:获取待处理数据。
31.其中,当前待对其进行处理的数据,可以被称为待处理数据,该待处理数据可以是包含一些数据描述信息,可被数据处理模型进行相应的处理,对此不做限制。
32.举例而言,待处理数据可以是电子商务中的交易记录数据;待处理数据可以是金融中的储蓄数据、借贷等业务记录数据;待处理数据还可以例如为音视频形式的多媒体数据,对此不做限制。
33.本公开实施例中,可以应用人工智能中用于执行数据处理任务的算子,实现对待处理数据的分析、挖掘等处理。
34.本公开实施例在获取待处理数据时,可以是在待处理数据运行的系统或平台中识别与提取待处理数据,或者,也可以从第三方数据平台中获取当前待对其进行处理的数据作为待处理数据,或者,还可以是使用其他任意可能的实现方式获取待处理数据,对此不做限制。
35.s102:确定与待处理数据对应的数据处理模型中的目标算子类型。
36.其中,算子是人工智能框架中的基本计算单元(算法模块),对人工智能的模型训练、预测和部署等都有着重要影响,算法模块集成设计了相应的算法处理逻辑。
37.举例而言,算子可以是用于数字计算、图像处理、数据处理等的算法模块,例如算子可以分为统计计算算子、数学运算算子、方差分析算子、回归分析算子、灵敏度分析算子、聚类分析算子、模糊评判算子等,对此不做限制。
38.其中,用于处理该待处理数据的算子,可以被称为目标算子,目标算子可以被用于匹配对应的目标算子资源,进行调用等操作,对此不做限制。
39.本公开实施例中,可以确定对待处理数据进行处理的处理任务,对该处理任务进行任务拆解,以确定该处理任务所涉及数据处理模型中的算子类型,并将该涉及的算子类型作为目标算子类型,该目标算子类型能够用于标识与调用该处理任务所涉及数据处理模型中的目标算子,或者,也可以根据待处理数据在程序计算中使用到的数据资源的类型,确定数据处理模型中的多种目标算子类型,或者,还可以是使用其他任意可能的实现方式确定与待处理数据对应的数据处理模型中的目标算子类型,对此不做限制。
40.举例而言,目标算子类型可以例如为数字计算类型、图像处理类型、统计计算类型、数学运算类型、方差分析类型等,相应的,不同目标算子类型可以相应标识与调用相关的目标算子,数字计算类型标识数字计算算子,图像处理类型标识图像处理算子、统计计算类型标识统计计算算子、数学运算类型标识数学运算算子、方差分析类型标识方差分析算子等,对此不做限制。
41.本公开实施例在获取待处理数据,并确定与待处理数据对应的数据处理模型中的目标算子类型之后,可以直接触发获取目标算子类型所描述的目标算子资源,该目标算子资源可以是预先对目标算子的算法资源、调用逻辑进行拆解、封装、接口配置等所生成,从而实现直接调用目标算子类型所描述的目标算子资源,并采用目标算子资源处理待处理数据,以简化数据处理模型中算子的调用逻辑。
42.s103:获取目标算子类型所描述的目标算子资源。
43.其中,目标算子在人工智能运算处理中所需的数据资源,可以被称为目标算子资源,该目标算子资源,可以是远程过程调用(remote procedure call,rpc)框架预先对目标算子在人工智能运算处理中使用到的资源进行抽象,对目标算子的算法资源、调用逻辑进行拆解、封装、接口配置等所生成,对此不做限制。
44.一些实施例中,可以确定待处理数据的类型,从历史数据处理任务中确定处理该同类型的其他数据时,所使用到的算子资源作为目标算子资源。
45.另一些实施例中,还可以从与待处理数据对应的数据处理模型相关的资源池中获取目标算子类型所描述的目标算子资源,或者,从大数据处理平台中获取目标算子类型所描述的目标算子资源,对此不做限制。
46.举例而言,在大数据处理平台中配置数据处理模型中多个算子的算子资源(例如
包括相应算子涉及的词典、配置文件和用户定制模型等,还可以包括每次推理时,算子待调用的局部变量),在处理待处理数据时,从大数据处理平台中获取目标算子类型所标识目标算子的算子资源作为目标算子资源,对此不做限制。
47.s104:采用目标算子资源处理待处理数据,以得到数据处理结果。
48.其中,采用数据处理模型中相应目标算子的目标算子资源处理待处理数据得到的处理结果,可以被称为数据处理结果,数据处理结果可以是针对目标算子进行调用与处理得到的结果数据,也可以是根据目标算子资源,对待处理数据进行计算、更新等处理,得到数据处理结果,对此不做限制。
49.一些实施例中,在采用目标算子资源处理待处理数据,以得到数据处理结果时,可以是根据不同目标算子之间的调用关系,调用多个目标算子分别对应多个目标算子资源,并联合多个目标算子资源处理待处理数据,以得到数据处理结果,或者,在采用目标算子资源处理待处理数据,以得到数据处理结果时,也可以是根据目标算子与第三方服务间的调用关系,根据该调用关系联合目标算子资源和第三方服务处理待处理数据,以得到数据处理结果,当然,也可以是采用其他任意可能的处理方式实现采用目标算子资源处理待处理数据,以得到数据处理结果,对此不做限制。
50.本实施例中,通过获取待处理数据,确定与待处理数据对应的数据处理模型中的目标算子类型,获取目标算子类型所描述的目标算子资源,采用目标算子资源处理待处理数据,以得到数据处理结果,实现直接获取目标算子类型所描述的目标算子资源,并采用目标算子资源处理待处理数据,以简化数据处理模型中算子的调用逻辑,有效提升算子调用效率和算子调用效果,有效地提升数据处理效果,便于该数据处理方法在人工智能中的部署和应用。
51.图2是根据本公开第二实施例的示意图。
52.如图2所示,该数据处理方法,包括:
53.s201:获取待处理数据。
54.s202:确定与待处理数据对应的数据处理模型中的目标算子类型。
55.s201-s202的描述说明可以具体参见上述实施例,在此不再赘述。
56.s203:确定目标算子类型对应的目标算子。
57.本公开实施例中,可以是预先对各个算子标注对应的算子类型,例如,可以对各个算子的算法功能进行归类、总结,以形成相应算子类型,而后,在确定与待处理数据对应的数据处理模型中的目标算子类型之后,可以从预先配置的多个算子类型中确定与目标算子类型匹配的算子类型,而后,将该匹配的算子类型所标注算子作为目标算子,或者,也可以是按照分组将多个算子分为一组或多组,标记对应的一组或多组算子的目标算子类型,进而确定目标算子类型所标注分组中的算子作为目标算子,或者,还可以是采用其他任意可能的方式确定目标算子类型对应的目标算子,对此不做限制。
58.s204:获取目标算子相关的进程级资源和线程级资源。
59.其中,在处理待处理数据的过程中,该目标算子涉及的全局运算资源,可以被称为进程级资源,在处理待处理数据的过程中,该目标算子涉及的局部运算资源,可以被称为线程级资源。
60.其中,进程级资源中可以包含采用目标算子处理待处理数据的过程中涉及到的词
典、配置文件和用户定制模型等数据资源,而线程级资源中可以包含采用目标算子进行数据推理时用到的局部变量等数据资源,对此不做限制。
61.本公开实施例中,可以在数据处理过程中,根据目标算子类型,确定目标算子,而后获取目标算子相关的进程级资源和线程级资源,或者,也可以预先确定对应的目标算子类型,并基于目标算子类型来确定目标算子的调用和推理服务等操作,获取调用和推理服务等操作所涉及的进程级资源和线程级资源,或者,还可以是使用其他任意可能的实现方式获取目标算子相关的进程级资源和线程级资源,对此不做限制。
62.本公开实施例中,可以根据目标算子相关的调用方式或远程协议,获取与之对应的进程级资源和线程级资源,或者,还可以是根据目标算子的算法处理逻辑,选择该算法处理逻辑运算过程中所需的全局运算资源和局部运算资源,并将全局运算资源作为进程级资源,将局部运算资源作为线程级资源,对此不做限制。
63.s205:将进程级资源和线程级资源共同作为目标算子资源。
64.本公开实施例在获取目标算子相关的进程级资源和线程级资源之后,可以将进程级资源和线程级资源共同作为目标算子资源,也即是说,在基于目标算子类型来获取相应目标算子资源时,能够支持基于目标算子类型获取到相应目标算子的进程级资源和线程级资源,从而能够较大程度地便于数据处理模型在处理待处理数据的过程中对目标算子相关的进程级资源和线程级资源进行调用,使得目标算子相关的进程级资源和线程级资源的调用更为便捷,并且在该设计方式下,便于针对不同目标算子进行针对性和个性化的开发配置,有效实现不同目标算子之间的解耦,有效提升数据处理过程中对目标算子的调用和使用便捷性和效率。
65.s206:采用目标算子资源处理待处理数据,以得到数据处理结果。
66.上述在在获取目标算子相关的进程级资源和线程级资源之后,可以将进程级资源和线程级资源共同作为目标算子资源之后,可以联合该目标算子的进程级资源和线程级资源处理待处理数据,以得到数据处理结果。
67.举例而言,进程级资源中可以包含采用目标算子处理待处理数据的过程中涉及到的词典、配置文件和用户定制模型等数据资源,而线程级资源中可以包含采用目标算子进行数据推理时用到的局部变量等数据资源,则在采用目标算子资源处理待处理数据时,可以是采用词典、配置文件和用户定制模型等来处理待处理数据,而后基于接口调用数据推理时用到的局部变量等数据资源来对待处理数据进行辅助处理,以得到数据处理结果,对此不做限制。
68.s207:对目标算子相关的线程级资源进行清空处理。
69.本公开实施例中,可以预先设置对应的清空接口,在采用目标算子处理完毕待处理数据时,可以调用该清空接口将目标算子相关的线程级资源进行清空或返回处理,对此不做限制。
70.本公开实施例中,可以定义目标算子对应的清空处理或返回数据处理结果的接口,由rpc框架调用清空处理或返回数据处理结果的接口,并接收所返回数据处理结果,由目标算子实现具体的输出数据处理结果的格式转换与数据封装,对此不做限制。
71.举例而言,设置线程级资源处置状态为“x”(x可以是数字、符号、字符串等的组合,对此不做限制),在数据处理结束之后,将对应的包含线程级资源的配置文件中的数据信息
更改为“x”,完成对目标算子相关的线程级资源的清空处理。
72.本实施例中,通过获取待处理数据,确定与待处理数据对应的数据处理模型中的目标算子类型,获取目标算子类型所描述的目标算子资源,采用目标算子资源处理待处理数据,以得到数据处理结果,实现直接获取目标算子类型所描述的目标算子资源,并采用目标算子资源处理待处理数据,以简化数据处理模型中算子的调用逻辑,有效提升算子调用效率和算子调用效果,有效地提升数据处理效果,便于该数据处理方法在人工智能中的部署和应用。通过在基于目标算子类型来获取相应目标算子资源时,能够支持基于目标算子类型获取到相应目标算子的进程级资源和线程级资源,从而能够较大程度地便于数据处理模型在处理待处理数据的过程中对目标算子相关的进程级资源和线程级资源进行调用,使得目标算子相关的进程级资源和线程级资源的调用更为便捷,并且在该设计方式下,便于针对不同目标算子进行针对性和个性化的开发配置,有效实现不同目标算子之间的解耦,有效提升数据处理过程中对目标算子的调用和使用便捷性和效率。由于是对目标算子相关的线程级资源进行清空处理,且线程级资源表征相应目标算子涉及的局部运算资源,从而能够有效地避免局部运算资源消耗过多的资源存储空间,较大程度提升数据处理效率。
73.图3是根据本公开第三实施例的示意图。
74.如图3所示,该数据处理方法,包括:
75.s301:获取待处理数据。
76.s302:确定与待处理数据对应的数据处理模型中的目标算子类型。
77.s303:确定目标算子类型对应的目标算子。
78.s301-s303的描述说明可以具体参见上述实施例,在此不再赘述。
79.s304:确定与目标算子相关的目标调用方式。
80.其中,与目标算子相关的调用方式,即可以被称为目标调用方式,而该调用方式,可以用于描述目标算子与其他算子、第三方服务、目标算子内部不同资源之间的调用关系。
81.目标调用方式,可以具体例如为目标算子所涉及的各种资源之间的调用方式,或者,还可以例如目标算子对其他算子的调用方式,或者,还可以例如为目标算子对第三方服务之间的调用方式,对此不做限制。
82.举例而言,目标调用方式可以例如是目标算子a通过远程字典服务(remote dictionary server,redis)协议调用服务b;目标算子a本地调用目标算子c;目标算子c本地调用算子d;目标算子c通过超文本传输协议(hyper text transfer protocol,http)调用算子e,则该与目标算子a相关的直接调用方式(直接调用方式,即目标算子a本地调用目标算子c),和相关的间接调用方式(间接调用方式,即被目标算子a调用的目标算子c针对其他内容的调用方式),均可以被称为与目标算子a相关的目标调用方式。
83.本公开实施例在确定与目标算子相关的目标调用方式时,可以参考目标算子类型,从rpc框架中确定与该目标算子类型相适配的调用方式作为目标调用方式,该rpc框架中可以预先设置与各种算子类型相关的调用方式,实现在实际数据处理过程中,由rpc框架管理并提供各个算子对下游的调用方式,以及由rpc框架支持后续实际的调用处理,或者,还可以分析该目标算子在数据处理模型当中的全局调用关系,并分析该全局的调用关系,以从全局的调用关系之中拆解出与目标算子相关的目标调用方式,当然,也可以采用其他任意可能的方式实现确定与目标算子相关的目标调用方式,对此不做限制。
84.可选地,一些实施例中,确定与目标算子相关的目标调用方式,可以是确定目标算子和第三方服务之间的服务调用方式,其中,服务调用方式被作为目标调用方式;和/或确定目标算子内部多种资源的资源调用方式,其中,资源调用方式被作为目标调用方式,资源是进程级资源或者是线程级资源,由于将服务调用方式和/或资源调用方式作为目标调用方式,能够有效地提升数据处理模型中算子调用的灵活性,有效地提升数据处理方法在数据处理模型中的部署和应用,使得数据处理方式能够有效适配于数据处理模型中多样化类型的调用方式,充分地利用数据处理模型中多样化类型的调用方式,从而较大程度地提升数据处理模型中算子调用的完整性和全面性,保障数据处理的准确性。
85.其中,目标算子与对应的各种第三方服务之间的调用方式,可以被称为服务调用方式,第三方服务可以例如支持超文本传输协议http的服务等,对此不做限制。
86.其中,目标算子内部不同资源之间的调用方式,可以被称为资源调用方式,该资源可以是上述的进程级资源或者线程级资源,则资源调用方式可以是不同进程级资源之间的调用方式,或者,也可以是不同线程级资源之间的调用方式,或者还可以是进程级资源和线程级资源之间的调用方式等,对此不做限制。
87.本公开实施例中,可以根据传输协议,确定目标算子对应的接口信息,进而对目标算子和第三方服务进行调用,或者,也可以确定目标算子资源,对目标算子相关的进程级资源和线程级资源进行调用,针对第三方服务的服务调用方式和针对目标算子资源的资源调用方式,均可以被作为目标调用方式,对此不做限制。
88.本公开实施例中,如图4所示,图4是根据本公开实施例的进程级资源和线程级资源关系示意图,在接收到数据处理请求之后,rpc框架按顺序完成对算子a、算子b的调用,rpc框架可以顺次调用算子a、算子b分别对应的线程级资源,线程级资源可以一系列相应的接口执行调用操作,每个算子对应的进程级资源可以根据需求调用该算子对应的线程级资源,对此不做限制。
89.可选地,一些实施例中,目标算子的数量是多个,其中,确定与目标算子相关的目标调用方式,还包括:确定目标算子和其他目标算子之间的算子间调用方式,其中,算子间调用方式被作为目标调用方式,其他目标算子属于多个目标算子,能够进一步地提升数据处理方式对数据处理模型中多样化类型的调用方式的适配效果,从而较大程度地保障了数据处理模型中算子调用的完整性和全面性,保障数据处理的准确性。
90.其中,目标算子与其他目标算子间的调用方式,可以被称为算子间调用方式,算子间调用方式可以被用于实现多个目标算子之间的逻辑化调用。
91.举例而言,算子a可以本地调用算子b,算子a也可以通过第三方协议调用算子b,均可以被视为算子间调用方式。
92.一些实施例中,可以通过逻辑代码实现多个目标算子间的调用,逻辑代码可以由相对应的计算机程序语言定义,对此不做限制。
93.另一些实施例中,也可以使用多种数学运算相关的逻辑系统实现算子间的调用,数学计算相关的系统可以是数字处理系统,或者也可以是图像处理系统,对此不做限制。
94.另一些实施例中,还可以是根据各类数据埋点或接口信息,确定各类数据埋点与接口信息对应的算子间调用方式,对此不做限制。
95.s305:将目标调用方式提供至调用代理装置之中。
96.其中,用于实现目标调用方式的虚拟的或者实体装置,可以被称为调用代理装置,调用代理装置可以是用于实现服务调用方式、资源调用方式和算子间调用方式的服务化rpc框架,对此不做限制。
97.本公开实施例中,可以设置相对应的调用代理装置,调用代理装置中可以配置目标调用方式所需的接口信息和相对应的数据埋点,rpc框架可以为多个目标算子提供通用的调用代理装置,目标算子对其他目标算子、服务、目标算子资源的调用,均可以通过调用代理装置来完成,调用代理装置可以提供统一的算子模型管理机制,可以在调用代理装置中开发完成各种数据处理模型中的算子,对此不做限制。
98.本公开实施例中,调用代理装置的使用,能够有效简化多个目标算子对下游的调用关系,从而使得调用代理装置实现基于本地数据资源的、多种第三方远程协议的调用,该调用代理装置中可以内置多种数据埋点,进而简化目标算子间的各类调用处理逻辑。
99.本公开实施例中,如图5所示,图5是根据本公开实施例的代理装置示意图,多个算子可以由统一的调用代理装置实现调用与推理服务,调用代理装置相连接的各个算子的调用关系可以简化为调用代理装置对下游目标算子的调用,根据调用代理装置完成目标算子间的、各种服务的调用的实现,由此,简化目标调用方式,使得目标调用方式更为简单便捷,减少对目标算子和对rpc框架的定制化开发,同时有效减少目标算子间复杂调用的逻辑问题。
100.s306:经由调用代理装置根据目标调用方式,获取目标算子相关的进程级资源和线程级资源。
101.本公开实施例中,经由调用代理装置根据目标调用方式,获取目标算子相关的进程级资源和线程级资源,可以是经过调用代理装置对目标算子的调用和推理服务,确定目标调用方式所需的词典、配置文件、用户定制模型、局部变量等的数据资源,并将得到的数据资源分类为进程级资源与线程级资源,或者,也可以根据代理装置中配置的多种接口信息,获取接口信息对应的进程级资源与线程级资源,对此不做限制。
102.s307:采用进程级资源和线程级资源处理待处理数据,以得到数据处理结果。
103.本公开实施例中,上述在经由调用代理装置根据目标调用方式,获取目标算子相关的进程级资源和线程级资源之后,可以联合该目标算子的进程级资源和线程级资源处理待处理数据,以得到数据处理结果。
104.本实施例中,实现直接获取目标算子类型所描述的目标算子资源,并采用目标算子资源处理待处理数据,以简化数据处理模型中算子的调用逻辑,有效提升算子调用效率和算子调用效果,有效地提升数据处理效果,便于该数据处理方法在人工智能中的部署和应用。通过获取待处理数据,确定与待处理数据对应的数据处理模型中的目标算子类型,确定目标算子类型对应的目标算子,确定与目标算子相关的目标调用方式,之后将目标调用方式提供至调用代理装置之中,经由调用代理装置根据目标调用方式,获取目标算子相关的进程级资源和线程级资源,然后采用进程级资源和线程级资源处理待处理数据,以得到数据处理结果,由于是确定与目标算子相关的目标调用方式,根据目标调用方式,获取目标算子相关的进程级资源和线程级资源,能够对目标算子进行抽象,从而能够较大程度地便于数据处理模型在处理待处理数据的过程中对目标算子相关的进程级资源和线程级资源进行调用,使得目标算子相关的进程级资源和线程级资源的调用更为便捷,由于是使用调
用代理装置根据目标调用方式,获取目标算子相关的进程级资源和线程级资源,调用代理装置能够基于上下游关系实现目标算子的调用,简化多种目标调用方式的调用逻辑,使得目标调用方式的调用逻辑更为方便快捷,同时调用代理装置能够自动适配并进行模型调度,能够有效地便于数据处理模型中各种算子和资源的调度管理。
105.综上,如图6所示,图6是根据本公开实施例的rpc框架示意图,rpc框架对目标算子在程序计算中使用到的资源进行了抽象,划分为进程级资源与线程级资源。基于rpc框架为进程级资源与线程级资源设计的接口,进而对相对应的目标算子进行具体的实现,rpc框架则根据资源接口和内置的基础组件与上层组件,完成了对目标算子的管理和调度。rpc框架还可以为目标算子的进程级资源设计了统一的数据容器,并提供丰富的管理接口,可以允许在一个推理服务中,加载多个用户定制模型,在用户定制的模型数过多,超过单个服务能够承载的上限时(如内存申请过大等情况),可以允许通过部署多套该推理服务,分散定制模型数过多带来的压力。在一个完整的推理服务的调用网络中,在新增推理服务时,rpc框架可以内置路由能力,能够从终端获取完整的路由信息,并在目标算子服务调用时生效。
106.由于该过程可以对目标算子透明,因此,能够动态适配多个定制化推理服务,当用户定制模型数量变化时,能够自动适配并进行模型调度,相关开发人员无需为定制模型的管理增加额外的开发成本,能够简化逻辑的开发,同时降低开发成本的消耗。
107.图7是根据本公开第四实施例的示意图。
108.如图7所示,该数据处理装置70,包括:
109.第一获取模块701,用于获取待处理数据;
110.确定模块702,用于确定与待处理数据对应的数据处理模型中的目标算子类型;
111.第二获取模块703,用于获取目标算子类型所描述的目标算子资源;以及
112.第一处理模块704,用于采用目标算子资源处理待处理数据,以得到数据处理结果。
113.在本公开的一些实施例中,如图8所示,图8是根据本公开第五实施例的示意图,该数据处理装置80,包括:第一获取模块801,确定模块802,第二获取模块803,第一处理模块804,其中,第二获取模块803,包括:
114.确定子模块8031,用于确定目标算子类型对应的目标算子;
115.获取子模块8032,用于获取目标算子相关的进程级资源和线程级资源;以及
116.处理子模块8033,用于将进程级资源和线程级资源共同作为目标算子资源;其中,进程级资源,是目标算子在处理待处理数据的过程中涉及的全局运算资源,线程级资源,是目标算子在处理待处理数据的过程中涉及的局部运算资源。
117.在本公开的一些实施例中,其中,获取子模块8032,包括:
118.确定单元80321,用于确定与目标算子相关的目标调用方式;
119.获取单元80322,用于根据目标调用方式,获取目标算子相关的进程级资源和线程级资源。
120.在本公开的一些实施例中,其中,确定单元80321,具体用于:
121.确定目标算子和第三方服务之间的服务调用方式,其中,服务调用方式被作为目标调用方式;和/或
122.确定目标算子内部多种资源的资源调用方式,其中,资源调用方式被作为目标调
用方式,资源是进程级资源或者是线程级资源。
123.在本公开的一些实施例中,目标算子的数量是多个;
124.其中,确定单元80321,具体用于:
125.确定目标算子和其他目标算子之间的算子间调用方式,其中,算子间调用方式被作为目标调用方式,其他目标算子属于多个目标算子。
126.在本公开的一些实施例中,其中,获取单元80322,具体用于:
127.将目标调用方式提供至调用代理装置之中;
128.经由调用代理装置根据目标调用方式,获取目标算子相关的进程级资源和线程级资源。
129.在本公开的一些实施例中,还包括:
130.第二处理模块805,用于在采用目标算子资源处理待处理数据,以得到数据处理结果之后,对目标算子相关的线程级资源进行清空处理。
131.可以理解的是,本实施例附图8中的数据处理装置80与上述实施例中的数据处理装置70,第一获取模块801与上述实施例中的第一获取模块701,确定模块802与上述实施例中的确定模块702,第二获取模块803与上述实施例中的第二获取模块703,第一处理模块804与上述实施例中的第一处理模块704,可以具有相同的功能和结构。
132.需要说明的是,前述对数据处理方法的解释说明也适用于本实施例数据处理装置,在此不再赘述。
133.本实施例中,通过获取待处理数据,确定与待处理数据对应的数据处理模型中的目标算子类型,获取目标算子类型所描述的目标算子资源,采用目标算子资源处理待处理数据,以得到数据处理结果,实现直接获取目标算子类型所描述的目标算子资源,并采用目标算子资源处理待处理数据,以简化数据处理模型中算子的调用逻辑,有效提升算子调用效率和算子调用效果,有效地提升数据处理效果,便于该数据处理方法在人工智能中的部署和应用。
134.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
135.图9示出了用来实施本公开实施例的数据处理方法的示例电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其他适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其他类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
136.如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
137.设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通
信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
138.计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
139.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
140.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
141.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
142.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其他种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
143.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网及区块链网络。
144.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
145.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
146.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1