一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种任务处理方法、装置、设备及存储介质

2022-05-31 17:46:01 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,具体而言,涉及一种用于强化学习任务的任务处理方法、装置、设备及存储介质。


背景技术:

2.继工业化时代和信息化时代之后,人们已经完全步入了信息化时代,而随着计算机技术的不断发展,强化学习(reinforcement learning,rl)逐渐成为集群管理中不可或缺的工作方法,通过部署强化学习任务的模式,可以利用智能体与环境的交互训练得到能够辅助人类进行决策的模型。目前,一般采用决策智能(decision intelligence,di)引擎来处理强化学习任务,决策智能引擎是一种运行强化学习算法的基础框架,可以快速地处理强化学习任务。
3.目前,针对强化学习任务的处理,大多是搭建决策智能引擎,并通过在决策智能引擎中植入编排与管理系统(slurm)的方式,以对强化学习任务进行部署和管理,这就导致需要对决策智能引擎的底层代码进行修改和植入,对决策智能引擎有较大的代码入侵性,稳定性较差,并且不同强化学习任务之间易发生影响,导致决策智能引擎性能下降。


技术实现要素:

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.图1示出了本公开实施例所提供的一种任务管理系统的示意图;
104.图2示出了本公开实施例所提供的一种用于强化学习任务的任务处理方法的流程图;
105.图3示出了本公开实施例所提供的另一种用于强化学习任务的任务处理方法的流程图;
106.图4示出了本公开实施例所提供的一种用于强化学习任务的任务处理装置的示意图之一;
107.图5示出了本公开实施例所提供的一种用于强化学习任务的任务处理装置的示意图之二;
108.图6示出了本公开实施例所提供的一种用于强化学习任务的任务处理装置的示意图之三;
109.图7示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
110.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
111.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
112.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
113.经研究发现,针对强化学习任务的任务处理,大多是搭建决策智能引擎,并通过在决策智能引擎中植入编排与管理系统(slurm)的方式,以对强化学习任务进行部署和管理,然而,为了实现该方式,需要预先通过编程在决策智能引擎中加入对编排与管理系统的支持,即对决策智能引擎的底层代码进行修改和植入,这对决策智能引擎有较大的代码入侵性,稳定性较差,并且通过这种方式编排出的多个强化学习任务之间难以进行有效隔离,导致不同强化学习任务之间易发生影响,造成决策智能引擎性能下降。
114.基于上述研究,本公开提供了一种用于强化学习任务的任务处理方法,在接收到强化学习任务的情况下,基于所述强化学习任务的任务描述信息,确定用于处理所述强化学习任务所需的配置资源;基于所述配置资源,生成针对所述强化学习任务的第一容器;在所述第一容器中创建用于处理所述强化学习任务的任务处理引擎,所述任务处理引擎包括用于任务处理中进行任务统筹的第一组件;基于所述任务处理引擎处理所述强化学习任务。
115.这样,通过容器搭建任务处理引擎,将任务处理引擎置于容器中,依托于容器的单一性和隔离性,使得各任务使用的资源之间无干扰,保证任务处理的性能,而且对于任务处理引擎的维护和检测,以及功能的开发、增加和删除等,可以通过容器的配置等方面进行实现,在决策智能引擎之外即可完成,有效降低对于引擎底层代码的变动和入侵,降低决策智能引擎的负担,大大提高对于强化学习任务的管理以及处理过程中的运维、检测以及问题
的解决,有效提升任务处理的速度,加快任务处理效率,节省大量人力物力,使得任务处理稳定、高效、智能。
116.进一步的,可以对强化学习任务进行实时检测,并进行任务状态标记,针对强化学习任务,便于进行生命周期的管理和维护,对于任务处理中的异常情况可以做到快速、及时的发现,故障排查速度快,提升任务处理的安全性。
117.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
118.为便于对本实施例进行理解,首先对本公开实施例所公开的一种用于强化学习任务的任务处理方法进行详细介绍,本公开实施例所提供的用于强化学习任务的任务处理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该用于强化学习任务的任务处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
119.本技术实施例提供的技术方案,涉及决策智能的机器学习等技术,主要涉及强化学习技术。在对本技术技术方案进行介绍说明之前,先对本技术涉及的一些名词及术语进行解释说明。
120.决策智能(decision intelligence,di)是利用人类的知识并借助计算机通过人工智能方法来解决复杂的决策问题的决策,它融合了数据科学、社会科学以及管理科学。决策智能可以说是在人工智能(artificial intelligence,ai)基础上的多学科、多方向的扩展,使机器具有感知、推理与决策的功能。
121.强化学习(reinforcement learning,rl)属于机器学习的范畴,通常用于解决序列决策问题,主要包括环境和智能体两个组成成分,智能体根据环境的状态选择动作执行,环境根据智能体的动作转移到新的状态并反馈一个数值的奖励,智能体根据环境反馈的奖励不断优化策略。
122.针对强化学习任务的处理方面,包括三个重要的组件,分别是coordinator组件、collector组件和learner组件,coordinator组件是强化学习任务的核心组件,负责统筹强化学习任务的数据产生和训练,collector组件是强化学习任务的数据发生组件,负责探索环境并产生可用于任务训练的数据,learner组件是强化学习任务的数据训练组件,负责使用collector产生的数据训练强化学习模型。
123.此外,当learner申请的图形处理单元(gpu)资源大于1时,由于需要将多个gpu上的训练结果进行聚合,强化学习任务定义了aggregator组件来实现该功能。从功能上看,aggregator组件负责启动训练,但不会真实地加载数据进行训练,因此aggregator组件可以创建从属于aggregator组件的learner组件,用于进行数据训练,该从属于aggregator组件的learner组件被命名为ddp learner,用以区分单个gpu情况下的learner组件。当单个节点的gpu数目无法满足ddp learner组件的gpu需求时,需要切分为多个ddp learner组件,多个ddp learner组件的训练结果可以聚合到aggregator组件中。
124.可以理解,此时ddp learner组件与learner组件是进行相同强化学习任务训练的组件。
125.下面对本公开实施例提供的用于强化学习任务的任务处理方法加以说明。
126.请参阅图1,图1为本公开实施例提供的一种任务管理系统的示意图。为了辅助决策智能分析,处理强化学习任务,可以搭建用于实现对各强化学习任务有针对性地进行智能处理的任务管理系统。如图1中所示,任务管理系统可以依托于kubernetes容器编排系统进行搭建,所述任务管理系统包括任务校验子系统、任务控制子系统和任务服务子系统,所述任务管理系统可以与多个终端实现通信连接,用户可以使用台式电脑、笔记本电脑、平板电脑等终端向任务管理系统提交强化学习任务,任务管理系统可以针对强化学习任务进行任务处理,并且可以将在任务处理过程中的各个阶段的任务状态情况反馈给用户,并将任务处理的结果发送给用户,用户可以通过终端接收任务管理系统发送的信息。
127.在任务管理系统接收到强化学习任务的情况下,可以在该强化学习任务提交到集群之前,通过任务校验子系统对强化学习任务进行校验,任务校验子系统可以将通过校验的强化学习任务传输给任务控制子系统和任务服务子系统,任务控制子系统和任务服务子系统可以通过强化学习任务的任务描述信息解析得到配置资源,进而拉起容器,并在容器中创建coordinator组件,这里,为了确保各强化学习任务使用的资源之间无干扰,每个容器中只创建一个组件。基于配置资源,在需要创建collector组件和learner组件的情况下,控制coordinator组件向任务服务子系统发送创建请求,任务服务子系统在接收到创建请求的情况下,根据配置资源,可以从当前可用的至少一个资源节点中确定合适的资源节点,从而拉起容器,并分别在各容器中创建collector组件和learner组件。
128.此外,结合learner组件申请的gpu资源的数量,可以进一步确定是否需要创建aggregator组件和ddp learner组件,从而可以通过创建的组件搭建起任务处理引擎,并通过任务处理引擎处理强化学习任务。
129.这样,通过容器搭建任务处理引擎,将任务处理引擎置于容器中,依托于容器的单一性和隔离性,使得各任务使用的资源之间无干扰,保证任务处理的性能。
130.在强化学习任务按照处理的过程中,响应于组件发送的请求,任务服务子系统可以查询、新增或删除强化学习任务的部分组件,在个别组件出现无法访问的情况下,还可以控制任务服务子系统重新创建组件。
131.这样,对于任务处理引擎的维护和检测,以及功能的开发、增加和删除等,可以通过容器的配置等方面进行实现,在决策智能引擎之外即可完成,有效降低对于引擎底层代码的变动和入侵,降低决策智能引擎的负担。
132.需要说明的是,上述内容是以一个强化任务为例,在接收到多个任务的情况下,可以针对每个任务分别生成coordinator组件以及其他需要的组件。
133.请参阅图2,图2为本公开实施例提供的一种用于强化学习任务的任务处理方法的流程图。如图2中所示,本公开实施例提供的用于强化学习任务的任务处理方法包括:
134.s201:在接收到强化学习任务的情况下,基于所述强化学习任务的任务描述信息,确定用于处理所述强化学习任务所需的配置资源。
135.该步骤中,在确定接收到强化学习任务的情况下,可以同时对所述强化学习任务进行解析处理,以得到所述强化学习任务的任务描述信息,基于所述任务描述信息,可以确定用于处理所述强化学习任务所需的配置资源。
136.需要说明的是,所述强化学习任务可以是任意强化学习领域的任务,例如自动驾驶汽车领域、游戏领域、机器人领域中的任务等,在此并不做任何限定。
137.这里,可以理解,每个用户可以上传多个强化学习任务,即可以接收来自同一终端的多个任务,也可以接收来自多个终端的多个任务。
138.其中,所述任务描述信息可以包括所述强化学习任务的计算资源、存储资源、容器镜像、启动命令、环境变量等,也可以包括与所述强化学习任务自身相关的信息,例如任务要求,任务属性,任务所需数据类型,任务技术参数等。
139.其中,所述配置资源可以包括强化学习任务的计算资源和存储资源等。
140.示例性的,所述用户可以通过文件的形式上传强化学习任务,在接收到该文件的情况下,可以理解,此时即接收到强化学习任务,从而可以对该文件进行解析处理,这里,文件中可以记载所述强化学习任务的任务描述信息,从而可以得到用于处理所述强化学习任务所需的配置资源。
141.s202:基于所述配置资源,生成针对所述强化学习任务的第一容器。
142.该步骤中,在确定所述配置资源的情况下,可以基于所述配置资源,这里,可以理解,主要可以利用与所述强化学习任务相关的计算资源和存储资源等,从而可以生成针对所述强化学习任务的第一容器。
143.其中,在确定所述配置资源的情况下,需要确定当前可用的至少一个资源节点,以及各资源节点中当前可用的剩余资源,从而可以确定在哪个资源节点生成所述第一容器。
144.为了生成针对所述强化学习任务的第一容器,在一些可能的实施方式中,所述基于所述配置资源,生成针对所述强化学习任务的第一容器,包括:
145.获取当前可用的至少一个资源节点,并确定各资源节点中当前可用的剩余资源,其中,所述剩余资源包括所述资源节点中当前可用的图形处理单元的数量;
146.从至少一个资源节点中确定第一资源节点,其中,所述第一资源节点中的剩余资源满足处理所述强化学习任务所需的配置资源;
147.在所述第一资源节点中生成针对所述强化学习任务的第一容器。
148.该步骤中,可以先获取当前可用的至少一个资源节点,然后确定各资源节点中当前可用的剩余资源,这里,所述剩余资源包括所述资源节点中当前可用的图形处理单元的数量,从而基于所述强化学习任务所需的配置资源,从至少一个资源节点中确定第一资源节点,这里,所述第一资源节点中的剩余资源满足处理所述配置资源,进而在所述第一资源节点中生成针对所述强化学习任务的第一容器。
149.这里,需要说明的是,图1中所示的任务处理装置可以与多个终端通信连接,这里的每个所述资源节点设置在各个终端上,即所述任务处理装置检测每个终端当前可用的剩余资源,从而确定第一资源节点。
150.可以理解,用户用于提交强化学习任务的终端,不一定是用于处理该强化学习任务的终端。
151.这样,在当前可用的至少一个资源节点中确定剩余资源满足处理所述强化学习任务所需的配置资源的第一资源节点,从而在第一资源节点中生成针对强化学习任务的第一容器,使得该强化学习任务可以妥善利用第一资源节点中的剩余资源,减少资源浪费,提高资源的利用度。
152.s203:在所述第一容器中创建用于处理所述强化学习任务的任务处理引擎,所述任务处理引擎包括用于任务处理中进行任务统筹的第一组件。
153.该步骤中,在拉起所述第一容器的情况下,可以在所述第一容器中创建用于任务处理中进行任务统筹的第一组件,这里,所述第一组件即为上述的coordinator组件,coordinator组件是强化学习任务的核心组件,负责统筹强化学习任务的数据产生和训练,进一步的,在所述第一容器中通过所述第一组件可以搭建起用于处理所述强化学习任务的任务处理引擎。
154.进一步,在所述强化学习任务需要在所述第一资源节点进行处理的情况下,可以通过所述第一组件搭建起用于处理所述强化学习任务的任务处理引擎。
155.为了创建任务处理引擎,在一些可能的实施方式中,所述在所述第一容器中创建用于处理所述强化学习任务的任务处理引擎,包括:
156.基于所述任务描述信息指示的所述配置资源,在所述强化学习任务需要在所述第一资源节点进行处理的情况下,在所述第一容器中创建第一组件,以搭建用于处理所述强化学习任务的任务处理引擎。
157.该步骤中,可以基于所述任务描述信息指示的所述配置资源,在对所述配置资源进行分析后,确定所述强化学习任务需要在所述第一资源节点进行处理的情况下,可以在所述第一容器中创建第一组件,以搭建用于处理所述强化学习任务的任务处理引擎。
158.这样,在所述强化学习任务需要在所述第一资源节点进行处理的情况下,可以只拉起第一容器,并在第一容器中创建第一组件,无需创建其他组件,即可满足处理强化学习任务的需要,提高资源利用率和可用性,大大减少不必要的资源耗费,提升任务处理的效率。
159.s204:基于所述任务处理引擎处理所述强化学习任务。
160.该步骤中,在通过所述第一组件搭建起所述任务处理引擎的情况下,可以基于所述任务处理引擎,处理所述强化学习任务。
161.可选地,在所述任务描述信息指示所述强化学习任务为本地训练的情况下,可以只利用所述第一组件,即将所述第一组件作为相对于所述强化学习任务的本地组件,从而基于包括所述第一组件的所述任务处理引擎,实现处理所述强化学习任务。
162.为了实现处理所述强化学习任务,在一些可能的实施方式中,所述基于所述任务处理引擎处理所述强化学习任务,包括:
163.在所述强化学习任务的各任务环节需要在所述第一资源节点进行处理的情况下,控制所述第一组件运行任务处理逻辑,以处理所述强化学习任务。
164.该步骤中,在所述强化学习任务的各任务环节需要在所述第一资源节点进行处理的情况下,这里,此时所述第一资源节点中只创建了第一组件,因而可以控制所述第一组件运行任务处理逻辑,以处理所述强化学习任务。
165.可以理解,所述第一组件在任务处理中用于进行任务统筹,为了可以实现所述强化学习任务的处理,此时控制所述第一组件不再运行任务统筹逻辑,而是运行任务处理逻辑。
166.这样,控制用于任务处理中进行任务统筹的第一组件运行任务处理逻辑,即可实现对强化学习任务的处理,提高单一组件的利用度,进一步提升强化学习任务处理的灵活性。
167.本公开实施例提供的用于强化学习任务的任务处理方法、装置、设备及存储介质,
在接收到强化学习任务的情况下,基于所述强化学习任务的任务描述信息,确定用于处理所述强化学习任务所需的配置资源;基于所述配置资源,生成针对所述强化学习任务的第一容器;在所述第一容器中创建用于处理所述强化学习任务的任务处理引擎,所述任务处理引擎包括用于任务处理中进行任务统筹的第一组件;基于所述任务处理引擎处理所述强化学习任务。
168.这样,通过容器搭建任务处理引擎,将任务处理引擎置于容器中,依托于容器的单一性和隔离性,使得各任务使用的资源之间无干扰,保证任务处理的性能,而且对于任务处理引擎的维护和检测,以及功能的开发、增加和删除等,可以通过容器的配置等方面进行实现,在决策智能引擎之外即可完成,有效降低对于引擎底层代码的变动和入侵,降低决策智能引擎的负担,大大提高对于强化学习任务的管理以及处理过程中的运维、检测以及问题的解决,有效提升任务处理的速度,加快任务处理效率,节省大量人力物力,使得任务处理稳定、高效、智能。
169.请参阅图3,图3为本公开实施例提供的另一种用于强化学习任务的任务处理方法的流程图。如图3中所示,本公开实施例提供的用于强化学习任务的任务处理方法包括:
170.s301:在接收到强化学习任务的情况下,拦截所述强化学习任务。
171.该步骤中,为了保证进行处理的强化学习任务的准确性,减少后续测试和维护带来的工作量,可以在接收到强化学习任务的情况下,拦截所述强化学习任务,以便对其进行检测。
172.s302:基于预设的准入条件,对所述强化学习任务进行校验。
173.这里,在实际应用场景中,用户编写的强化学习任务可能出现字段不标准、混乱等情况,此时可以获取预设的准入条件,对所述强化学习任务进行校验。
174.其中,所述准入条件可以是例如针对语义、语法等方面的条件。
175.示例性的,可以检测所述强化学习任务中是否出现类型和内容不匹配、名称和类型不匹配、内容和属性不匹配的情况、是否有不符合编写语言属性的字段等。
176.s303:在确定所述强化学习任务满足所述准入条件的情况下,确定接收到所述强化学习任务。
177.该步骤中,经过校验,在强化学习任务满足所述准入条件的情况下,确定接收到所述强化学习任务,以进行后续针对强化学习任务的解析处理。
178.可选地,在校验得到所述强化学习任务满足所述准入条件的情况下,还可以获取任务描述信息中的参数,并基于所述准入条件对所述参数进行数值设定,从而保证后续解析用于处理所述强化学习任务所需的配置资源的可行性和准确性。
179.进一步的,在强化学习任务未满足所述准入条件的情况下,可以将校验结果反馈给用户,以便用户对上述强化学习任务进行相应的调整和修改。
180.这样,可以在对强化学习任务进行处理之前,先对所述强化学习任务进行校验,保证接收到的所述强化学习任务的准确性和合法性,减少后续任务处理过程中错误发生的可能性。
181.s304:在接收到强化学习任务的情况下,基于所述强化学习任务的任务描述信息,确定用于处理所述强化学习任务所需的配置资源。
182.s305:基于所述配置资源,生成针对所述强化学习任务的第一容器。
183.s306:在所述第一容器中创建用于处理所述强化学习任务的任务处理引擎,所述任务处理引擎包括用于任务处理中进行任务统筹的第一组件。
184.s307:基于所述任务处理引擎处理所述强化学习任务。
185.其中,步骤s304至步骤s307的描述可以参照步骤s201至步骤s204的描述,并且可以达到相同的技术效果和解决相同的技术问题,在此不做赘述。
186.接下来,将结合一些具体实施方式进一步对本实施例进行说明。
187.在所述强化学习任务的各任务环节需要在不同资源节点中处理的情况下,为了实现所述强化学习任务的处理,在一些可能的实施方式中,所述基于所述任务处理引擎处理所述强化学习任务,包括:
188.在所述强化学习任务的各任务环节需要在不同资源节点中处理的情况下,在接收到所述第一组件发送的组件创建请求后,基于所述配置资源指示的所述强化学习任务所需的计算资源和存储资源,分别从所述至少一个资源节点中除所述第一资源节点之外的其他资源节点中确定出满足所述强化学习任务所需的配置资源的至少一个第二资源节点和至少一个第三资源节点;
189.基于所述存储资源,在所述至少一个第二资源节点中生成至少一个第二容器,并在所述第二容器中创建第二组件;所述任务处理引擎包括创建的至少一个第二组件;
190.基于所述计算资源,在所述至少一个第三资源节点中生成至少一个第三容器,并在所述第三容器中创建第三组件;所述任务处理引擎包括创建的至少一个第三组件;
191.基于所述第一组件、所述至少一个第二组件和所述至少一个第三组件,处理所述强化学习任务。
192.该步骤中,在所述强化学习任务的各任务环节需要在不同资源节点中处理的情况下,此时,单单通过第一资源节点中的第一组件难以满足所述强化学习任务的需求,可以控制所述第一组件发送组件创建请求,在接收到所述第一组件发送的组件创建请求后,可以基于所述配置资源指示的所述强化学习任务所需的计算资源和存储资源,分别从所述至少一个资源节点中除所述第一资源节点之外的其他资源节点中确定出满足所述强化学习任务所需的配置资源的至少一个第二资源节点和至少一个第三资源节点,从而基于所述存储资源,在所述至少一个第二资源节点中生成至少一个第二容器,并在所述第二容器中创建第二组件;所述任务处理引擎包括创建的至少一个第二组件。
193.可以理解,在拉起所述第二容器的情况下,可以在所述第二容器中创建第二组件,这里,所述第二组件即为上述的collector组件,collector组件是强化学习任务的数据发生组件,负责探索环境并产生可用于任务训练的数据,此时,所述任务处理引擎包括创建的至少一个第二组件。
194.这里,第二组件用于产生可用于任务训练的数据,所以需要存储大量数据,因而需要大量的存储资源以及少量的计算资源,可以理解,对于每个节点来说,实际上是由实体设备搭建而成的,因此节点本身具有一定的计算资源,对于所述第二组件需要的计算资源来说是可以满足的,因此,在需要创建所述第二组件的情况下,只需要主要关注所述存储资源即可。
195.进一步的,基于所述计算资源,可以在所述至少一个第三资源节点中生成至少一个第三容器,并在所述第三容器中创建第三组件;所述任务处理引擎包括创建的至少一个
第三组件。
196.可以理解,在拉起所述第三容器的情况下,可以在所述第三容器中创建第三组件,这里,所述第三组件即为上述的learner组件,learner组件是强化学习任务的数据训练组件,负责使用collector产生的数据训练强化学习模型,此时,所述任务处理引擎包括创建的至少一个第三组件。
197.这里,第三组件用于训练数据,所以需要较强的计算性能,因而需要大量的计算资源以及少量的存储资源,可以理解,对于每个节点来说,实际上是由实体设备搭建而成的,因此节点本身具有一定的存储资源,对于所述第三组件需要的存储资源来说是可以满足的,因此,在需要创建所述第三组件的情况下,只需要主要关注所述计算资源即可。
198.然后,通过所述第一组件、所述至少一个第二组件和所述至少一个第三组件,可以搭建起用于处理所述强化学习任务的所述任务处理引擎,从而对所述强化学习任务进行处理。
199.这样,在强化学习任务的各任务环节需要在不同资源节点中处理的情况下,可以相应地创建适配的组件,以搭建任务处理引擎,从而实现强化学习任务的处理,提升任务处理的准确性和稳定性。
200.一些可能的实施方式中,所述在所述第二容器中创建第二组件,并在所述第三容器中创建第三组件之后,所述方法包括:
201.将每个所述第二组件的地址和端口,以及每个所述第三组件的地址和端口发送给所述第一组件。
202.这样,在创建第二组件以及第三组件的情况下,可以将第二组件的地址和端口以及第三组件的地址和端口发送给第一组件,便于后续在有调用需求的情况下,可以快速、便捷地通过地址和端口进行调用,有效提升任务处理的速度。
203.一些可能的实施方式中,所述方法包括:
204.在接收到所述第一组件发送的针对所述至少一个第二组件和/或所述至少一个第三组件的组件处理请求的情况下,针对所述至少一个第二组件和/或所述至少一个第三组件,执行与所述组件处理请求对应的处理,所述组件处理请求包括增加和/或删除组件。
205.这里,在实际应用场景中,可能会出现需要对组件进行调整的情况,此时,可以控制所述第一组件发送针对所述至少一个第二组件和/或所述至少一个第三组件的组件处理请求,这里,所述组件处理请求包括增加和/或删除组件,从而针对所述至少一个第二组件和/或所述至少一个第三组件,执行与所述组件处理请求对应的处理,即增加和/或删除所述第二组件和/或所述第三组件。
206.这样,在需要对第二组件和/或第三组件进行调整的情况下,可以基于第一组件发送的处理请求,执行与所述组件处理请求对应的处理,有效提高任务处理的适用性和灵活性。
207.一些可能的实施方式中,在需要生成的第三组件为强化学习组件的情况下,所述基于所述计算资源,在所述至少一个第三资源节点中生成至少一个第三容器,并在所述第三容器中创建第三组件;所述任务处理引擎包括创建的至少一个第三组件,包括:
208.确定每个所述第三资源节点中图形处理单元的可用数量;
209.基于所述配置资源指示的所述强化学习任务所需的计算资源,确定针对所述强化
学习任务所需的图形处理单元的使用数量;
210.若所述至少一个第三资源节点中存在图形处理单元的可用数量大于或者等于所述使用数量的目标资源节点,基于所述使用数量,在所述目标资源节点中生成至少两个第三容器;在所述至少两个第三容器中的任一第三容器中创建数据聚合管理组件,并在所述至少两个第三容器除所述任一第三容器外的其他第三容器中创建第三组件;
211.若所述至少一个第三资源节点中不存在图形处理单元的可用数量大于或者等于所述使用数量的目标资源节点,基于所述使用数量,在所述至少一个第三资源节点中生成至少两个第三容器;在所述至少两个第三容器中的任一第三容器中创建数据聚合管理组件,并在所述至少两个第三容器除所述任一第三容器外的其他第三容器中创建第三组件。
212.该步骤中,在实际应用场景中,所需第三组件的数量基于强化学习任务所需的图形处理单元的使用数量所确定,因此在创建所述第三组件之前,可以先确定每个所述第三资源节点中图形处理单元的可用数量,并且基于所述配置资源指示的所述强化学习任务所需的计算资源,确定针对所述强化学习任务所需的图形处理单元的使用数量,然后对每个所述第三资源节点中图形处理单元的可用数量和所述强化学习任务所需的图形处理单元的使用数量进行比较。若所述至少一个第三资源节点中存在图形处理单元的可用数量大于或者等于所述使用数量的目标资源节点,基于所述使用数量,在所述目标资源节点中生成至少两个第三容器,在所述至少两个第三容器中的任一第三容器中创建数据聚合管理组件,并在所述至少两个第三容器除所述任一第三容器外的其他第三容器中创建第三组件。
213.可以理解,在拉起所述第三容器的情况下,可以在所述第三容器中创建数据聚合管理组件,这里,所述数据聚合管理组件即为上述的aggregator组件,aggregator组件负责启动训练,但不会真实地加载数据进行训练,因此,可以在所述其他第三容器中创建第三组件。这里,所述第三组件为从属于aggregator组件的learner组件,命名为ddp learner。
214.进一步的,若所述至少一个第三资源节点中不存在图形处理单元的可用数量大于或者等于所述使用数量的目标资源节点,基于所述使用数量,在所述至少一个第三资源节点中生成至少两个第三容器,在所述至少两个第三容器中的任一第三容器中创建数据聚合管理组件,并在所述至少两个第三容器除所述任一第三容器外的其他第三容器中创建第三组件。
215.可以理解,为了减少资源浪费,提高资源的利用度,根据集群各个第三资源节点中存在图形处理单元的可用数量,可以使得所有ddp learner占用的图形处理单元数量尽量与所述第三资源节点中存在图形处理单元的可用数量一致。
216.这样,可以基于所述配置资源指示的所述强化学习任务所需的计算资源,确定针对所述强化学习任务所需的图形处理单元的使用数量,并结合至少两个第三资源节点中存在图形处理单元的可用数量,创建数据聚合管理组件和第三组件,使得该强化学习任务可以妥善利用第三资源节点中的可用资源,减少资源浪费,提高资源的利用度。
217.在处理强化学习任务的过程中,为了可以快速地反馈给用户处理情况,在一些可能的实施方式中,在所述基于所述任务处理引擎处理所述强化学习任务之后,所述方法包括:
218.若在处理所述强化学习任务的过程中发生异常,生成异常提示信息;
219.将所述异常提示信息推送给提交所述强化学习任务的用户。
220.该步骤中,在处理所述强化学习任务的过程中,如果发生异常情况,可以针对所述异常生成异常提示信息,并将所述异常提示信息推送给提交所述强化学习任务的用户。
221.其中,所述发生异常可以为在处理所述强化学习任务的过程中所有可能发生的异常情况,例如调用对象不存在、调用地址错误、调用端口不匹配等,在此并不做任何限定。
222.这样,针对处理所述强化学习任务的过程中发生异常的情况,可以及时反馈给相关用户,便于用户进行响应的调整和修改。
223.为了减少人工手动管理和维护强化学习任务的生命周期的情况,在一些可能的实施方式中,所述方法包括:
224.基于所述第一容器中所述第一组件的运行状态,对所述强化学习任务的处理进程进行任务状态标记。
225.该步骤中,可以获取于所述第一容器中所述第一组件的运行状态,基于所述第一组件的运行状态,可以对所述强化学习任务的处理进程进行任务状态标记。
226.这样,可以对强化学习任务进行实时检测,并进行任务状态标记,针对强化学习任务,便于进行生命周期的管理和维护。
227.一些可能的实施方式中,所述基于所述第一容器中所述第一组件的运行状态,对所述强化学习任务的处理进程进行任务状态标记,包括以下至少一种情况:
228.在所述第一组件被创建完毕的情况下,将所述强化学习任务标记为已创建状态;
229.在所述第一组件处于运行中的情况下,将所述强化学习任务标记为正在处理的状态;
230.在所述第一组件运行结束的情况下,将所述强化学习任务标记为已完成状态;
231.在所述第一组件运行的过程中,若发生异常的情况下,将所述强化学习任务标记为异常状态。
232.该步骤中,基于预先的阶段状态设定,在所述强化学习任务的处理进程达到所述阶段状态设定的情况下,可以对所述强化学习任务进行相应的任务状态标记。
233.这样,对于任务处理中的异常情况可以做到快速、及时的发现,故障排查速度快,提升任务处理的安全性。
234.本公开实施例提供的用于强化学习任务的任务处理方法,在接收到强化学习任务的情况下,基于所述强化学习任务的任务描述信息,确定用于处理所述强化学习任务所需的配置资源;基于所述配置资源,生成针对所述强化学习任务的第一容器;在所述第一容器中创建用于处理所述强化学习任务的任务处理引擎,所述任务处理引擎包括用于任务处理中进行任务统筹的第一组件;基于所述任务处理引擎处理所述强化学习任务。
235.这样,通过容器搭建任务处理引擎,将任务处理引擎置于容器中,依托于容器的单一性和隔离性,使得各任务使用的资源之间无干扰,保证任务处理的性能,而且对于任务处理引擎的维护和检测,以及功能的开发、增加和删除等,可以通过容器的配置等方面进行实现,在决策智能引擎之外即可完成,有效降低对于引擎底层代码的变动和入侵,降低决策智能引擎的负担,大大提高对于强化学习任务的管理以及处理过程中的运维、检测以及问题的解决,有效提升任务处理的速度,加快任务处理效率,节省大量人力物力,使得任务处理稳定、高效、智能。
236.进一步的,可以对强化学习任务进行实时检测,并进行任务状态标记,针对强化学
习任务,便于进行生命周期的管理和维护,对于任务处理中的异常情况可以做到快速、及时的发现,故障排查速度快,提升任务处理的安全性。
237.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
238.基于同一发明构思,本公开实施例中还提供了与用于强化学习任务的任务处理方法对应的用于强化学习任务的任务处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述用于强化学习任务的任务处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
239.请参阅图4、图5和图6,图4为本公开实施例提供的一种用于强化学习任务的任务处理装置的示意图之一,图5为本公开实施例提供的一种用于强化学习任务的任务处理装置的示意图之二,图6为本公开实施例提供的一种用于强化学习任务的任务处理装置的示意图之三。本公开实施例提供的任务处理装置,应用于上述的任务管理系统,所述任务处理装置可以与所述任务管理系统为不同名称下的相同装置,所述任务处理装置也可以是所述任务管理系统的一部分,所述任务处理装置中的模块与所述任务管理系统中对应功能的子系统可以耦合在一起,共同实现同一功能,如图4中所示,本公开实施例提供的用于强化学习任务的任务处理装置400包括:
240.任务接收模块410,用于在接收到强化学习任务的情况下,基于所述强化学习任务的任务描述信息,确定用于处理所述强化学习任务所需的配置资源。
241.容器生成模块420,用于基于所述配置资源,生成针对所述强化学习任务的第一容器。
242.引擎创建模块430,用于在所述第一容器中创建用于处理所述强化学习任务的任务处理引擎,所述任务处理引擎包括用于任务处理中进行任务统筹的第一组件。
243.任务处理模块440,用于基于所述任务处理引擎处理所述强化学习任务。
244.一种可选的实施方式中,所述容器生成模块420具体用于:
245.获取当前可用的至少一个资源节点,并确定各资源节点中当前可用的剩余资源,其中,所述剩余资源包括所述资源节点中当前可用的图形处理单元的数量;
246.从至少一个资源节点中确定第一资源节点,其中,所述第一资源节点中的剩余资源满足处理所述强化学习任务所需的配置资源;
247.在所述第一资源节点中生成针对所述强化学习任务的第一容器。
248.一种可选的实施方式中,所述引擎创建模块430具体用于:
249.基于所述任务描述信息指示的所述配置资源,在所述强化学习任务需要在所述第一资源节点进行处理的情况下,在所述第一容器中创建第一组件,以搭建用于处理所述强化学习任务的任务处理引擎。
250.一种可选的实施方式中,所述任务处理模块440具体用于:
251.在所述强化学习任务的各任务环节需要在所述第一资源节点进行处理的情况下,控制所述第一组件运行任务处理逻辑,以处理所述强化学习任务。
252.一种可选的实施方式中,所述任务处理模块440具体用于:
253.在所述强化学习任务的各任务环节需要在不同资源节点中处理的情况下,在接收
到所述第一组件发送的组件创建请求后,基于所述配置资源指示的所述强化学习任务所需的计算资源和存储资源,分别从所述至少一个资源节点中除所述第一资源节点之外的其他资源节点中确定出满足所述强化学习任务所需的配置资源的至少一个第二资源节点和至少一个第三资源节点;
254.基于所述存储资源,在所述至少一个第二资源节点中生成至少一个第二容器,并在所述第二容器中创建第二组件;所述任务处理引擎包括创建的至少一个第二组件;
255.基于所述计算资源,在所述至少一个第三资源节点中生成至少一个第三容器,并在所述第三容器中创建第三组件;所述任务处理引擎包括创建的至少一个第三组件;
256.基于所述第一组件、所述至少一个第二组件和所述至少一个第三组件,处理所述强化学习任务。
257.一种可选的实施方式中,所述任务处理模块440还用于:
258.将每个所述第二组件的地址和端口,以及每个所述第三组件的地址和端口发送给所述第一组件。
259.一种可选的实施方式中,所述任务处理模块440还用于:
260.在接收到所述第一组件发送的针对所述至少一个第二组件和/或所述至少一个第三组件的组件处理请求的情况下,针对所述至少一个第二组件和/或所述至少一个第三组件,执行与所述组件处理请求对应的处理,所述组件处理请求包括增加和/或删除组件。
261.一种可选的实施方式中,在需要生成的第三组件为强化学习组件的情况下,所述任务处理模块440在用于所述基于所述计算资源,在所述至少一个第三资源节点中生成至少一个第三容器,并在所述第三容器中创建第三组件;所述任务处理引擎包括创建的至少一个第三组件时,具体用于:
262.确定每个所述第三资源节点中图形处理单元的可用数量;
263.基于所述配置资源指示的所述强化学习任务所需的计算资源,确定针对所述强化学习任务所需的图形处理单元的使用数量;
264.若所述至少一个第三资源节点中存在图形处理单元的可用数量大于或者等于所述使用数量的目标资源节点,基于所述使用数量,在所述目标资源节点中生成至少两个第三容器;在所述至少两个第三容器中的任一第三容器中创建数据聚合管理组件,并在所述至少两个第三容器除所述任一第三容器外的其他第三容器中创建第三组件;
265.若所述至少一个第三资源节点中不存在图形处理单元的可用数量大于或者等于所述使用数量的目标资源节点,基于所述使用数量,在所述至少一个第三资源节点中生成至少两个第三容器;在所述至少两个第三容器中的任一第三容器中创建数据聚合管理组件,并在所述至少两个第三容器除所述任一第三容器外的其他第三容器中创建第三组件。
266.一种可选的实施方式中,如图5中所示,所述用于强化学习任务的任务处理装置400还包括任务校验模块450,所述任务校验模块450用于:
267.在接收到强化学习任务的情况下,拦截所述强化学习任务;
268.基于预设的准入条件,对所述强化学习任务进行校验;
269.在确定所述强化学习任务满足所述准入条件的情况下,确定接收到所述强化学习任务。
270.一种可选的实施方式中,如图6中所示,所述用于强化学习任务的任务处理装置
400还包括信息提示模块460和任务标记模块470,所述信息提示模块460用于:
271.若在处理所述强化学习任务的过程中发生异常,生成异常提示信息;
272.将所述异常提示信息推送给提交所述强化学习任务的用户。
273.所述任务标记模块470用于:
274.基于所述第一容器中所述第一组件的运行状态,对所述强化学习任务的处理进程进行任务状态标记。
275.一种可选的实施方式中,所述任务标记模块470在用于所述基于所述第一容器中所述第一组件的运行状态,对所述强化学习任务的处理进程进行任务状态标记时,具体用于:
276.在所述第一组件被创建完毕的情况下,将所述强化学习任务标记为已创建状态;
277.在所述第一组件处于运行中的情况下,将所述强化学习任务标记为正在处理的状态;
278.在所述第一组件运行结束的情况下,将所述强化学习任务标记为已完成状态;
279.在所述第一组件运行的过程中,若发生异常的情况下,将所述强化学习任务标记为异常状态。
280.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
281.本公开实施例提供的一种用于强化学习任务的任务处理装置,在接收到强化学习任务的情况下,基于所述强化学习任务的任务描述信息,确定用于处理所述强化学习任务所需的配置资源;基于所述配置资源,生成针对所述强化学习任务的第一容器;在所述第一容器中创建用于处理所述强化学习任务的任务处理引擎,所述任务处理引擎包括用于任务处理中进行任务统筹的第一组件;基于所述任务处理引擎处理所述强化学习任务。
282.这样,通过容器搭建任务处理引擎,将任务处理引擎置于容器中,依托于容器的单一性和隔离性,使得各任务使用的资源之间无干扰,保证任务处理的性能,而且对于任务处理引擎的维护和检测,以及功能的开发、增加和删除等,可以通过容器的配置等方面进行实现,在决策智能引擎之外即可完成,有效降低对于引擎底层代码的变动和入侵,降低决策智能引擎的负担,大大提高对于强化学习任务的管理以及处理过程中的运维、检测以及问题的解决,有效提升任务处理的速度,加快任务处理效率,节省大量人力物力,使得任务处理稳定、高效、智能。
283.进一步的,可以对强化学习任务进行实时检测,并进行任务状态标记,针对强化学习任务,便于进行生命周期的管理和维护,对于任务处理中的异常情况可以做到快速、及时的发现,故障排查速度快,提升任务处理的安全性。
284.对应于图2和图3中的用于强化学习任务的任务处理方法,本公开实施例还提供了一种电子设备700,如图7所示,为本公开实施例提供的电子设备700结构示意图,包括:
285.处理器710、存储器720、和总线730;存储器720用于存储执行指令,包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器710中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器710通过内存721与外部存储器722进行数据交换,当所述电子设备700运行时,所述处理器710与所述存储器720之间通过总线730通信,使得所述处理器710可以执行上述的用于强化学习任务的任务处理方法的步骤。
286.可以理解的是,本技术实施例示意的结构并不构成对电子设备700的具体限定。在本技术另一些实施例中,电子设备700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
287.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的用于强化学习任务的任务处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
288.本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,所述计算机指令被处理器执行时可以执行上述方法实施例中所述的用于强化学习任务的任务处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
289.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
290.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
291.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
292.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
293.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
294.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公
开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献