CN115543534A - 训练任务的管理方法、装置、电子设备及存储介质 - Google Patents
训练任务的管理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115543534A CN115543534A CN202211203943.5A CN202211203943A CN115543534A CN 115543534 A CN115543534 A CN 115543534A CN 202211203943 A CN202211203943 A CN 202211203943A CN 115543534 A CN115543534 A CN 115543534A
- Authority
- CN
- China
- Prior art keywords
- task
- target
- training
- container
- attribute information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 293
- 238000007726 management method Methods 0.000 title abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000013135 deep learning Methods 0.000 claims description 55
- 230000004044 response Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 11
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种训练任务的管理方法、装置、电子设备及存储介质,其中,该方法包括:响应于任务创建指令,展示任务创建界面,任务创建界面包含用于创建目标训练任务的多个任务配置选项;响应于针对多个任务配置选项的选填操作,获取目标训练任务的任务属性信息以及获取资源属性信息;资源属性信息包括执行目标训练任务所需要的目标资源池,资源池用于指示执行目标训练任务所对应的目标数据设备集群中的一组目标数据设备;在虚拟资源池中创建第一任务对象以存储任务属性信息以及资源属性信息;第一任务对象用于指示目标数据设备集群中的目标数据设备执行目标训练任务的训练操作。本公开实施例,可以提升训练任务在多集群下的部署效率和准确度。
Description
技术领域
本公开涉及人工智能技术领域,具体而言,涉及一种训练任务的管理方法、训练任务的管理装置、电子设备及计算机可读存储介质。
背景技术
随着人工智能的飞速发展,基于数据进行训练得到的深度学习模型(算法模型)在多个领域得到应用,例如常见的机器翻译、语义挖掘、图像识别、人脸识别、语音识别等领域。
目前,在进行算法模型的训练时,为了提升训练任务的训练效率,通常采用分布式的方式来进行任务训练,也即,通过多台主机的资源来共同辅助训练一个训练任务。然而,面对分布式训练,如何实现任务的有效部署,是业界一直追求的目标。
发明内容
本公开实施例至少提供一种训练任务的管理方法、训练任务的管理装置、电子设备及计算机可读存储介质。
本公开实施例提供了一种训练任务的管理方法,包括:
响应于任务创建指令,展示任务创建界面,所述任务创建界面包含用于创建目标训练任务的多个任务配置选项;
响应于针对所述多个任务配置选项的选填操作,获取所述目标训练任务的任务属性信息以及获取资源属性信息;其中,所述资源属性信息包括执行所述目标训练任务所需要的目标资源池,所述资源池用于指示执行所述目标训练任务所对应的目标数据设备集群中的一组目标数据设备;
响应于训练任务启动指令,确定与所述目标资源池对应的虚拟资源池,并在所述虚拟资源池中创建第一任务对象以存储所述任务属性信息以及所述资源属性信息;所述第一任务对象用于指示所述目标数据设备集群中的目标数据设备执行所述目标训练任务的训练操作。
本公开实施例中,能够为用户展示任务创建界面,且在用户选填任务创建界面中多个任务配置选项后,即可以获取到目标训练任务的任务属性信息以及获取资源属性信息,进而可以确定执行该目标训练任务所对应的目标数据设备集群中的一组目标数据设备,再通过创建任务对象的方式指示所述目标数据设备集群中的目标数据设备执行所述目标训练任务的训练操作即可,如此,不仅实现了目标训练任务在目标数据设备上的部署,还在方便用户创建训练任务的同时提升了任务部署的效率和准确率。
在一种可能的实施方式中,所述任务创建界面包含资源池选择配置项,所述获取资源属性信息,包括:
获取目标用户的身份信息,并基于目标用户的身份信息确定与所述目标用户关联的至少一个资源池;
响应于所述目标用户针对所述资源池选择配置项的选择操作,从所述至少一个资源池中确定所述目标资源池。
本公开实施例中,根据用户的身份信息确定与目标用户关联的至少一个资源池,并基于用户的选择从所述至少一个资源池中确定所述目标资源池,如此,可以保证用户提交的目标训练任务会在该用户关联的资源池上执行,有利于实现资源池的有效利用。
在一种可能的实施方式中,所述任务创建界面包含容器资源类型配置项,所述资源属性信息还包括资源类型,所述获取所述资源属性信息包括:
基于目标用户针对所述容器资源类型配置项填写确定操作,从所述目标资源池中确定执行所述目标训练任务所需要的资源类型;其中,所述资源类型包括中央处理器资源、图形处理器资源以及内存资源中的至少一种。
这样,根据用户的填写操作确定执行所述目标训练任务所需要的资源类型,可以提升资源类型和目标训练任务的匹配度。
在一种可能的实施方式中,所述任务属性信息至少包括:所述目标训练任务的名称、执行所述目标训练任务所需要的框架相关信息、执行所述目标训练任务所需要的镜像文件以及所述目标训练任务的启动命令。
本公开实施例中,由于任务属性信息包含以上多种,进而可以进一步确定目标训练任务的相关信息,有利于提升后续目标训练任务的执行效率。
在一种可能的实施方式中,通过以下方式获取所述目标训练任务的框架相关信息:
确定目标用户是否选择开启信息传递接口MPI以及确定所确定的深度学习框架;
基于是否开启所述MPI以及所确定的深度学习框架,确定所述目标训练任务所使用容器的容器角色。
本公开实施例中,根据是否选择开启信息传递接口MPI以及确定所确定的深度学习框架来确定容器角色信息,可以方便用户选择,减少了用户输入的复杂度,为用户创建目标训练任务提供了便利。
在一种可能的实施方式中,所述基于是否开启所述MPI以及所确定的深度学习框架,确定所述目标训练任务所使用容器的容器角色,包括:
响应于开启所述MPI,基于所述目标用户选择PyTorch深度学习框架和TensorFlow深度学习框架其中任一,确定所述容器的容器角色为启动节点Launcher和工作节点worker;或者,
响应于不开启所述MPI,基于不同的深度学习框架与不同的分布式架构的组合确定所述容器的容器角色。
在一种可能的实施方式中,所述基于不同的深度学习框架与不同的分布式架构的组合确定所述容器的容器角色,包括:
在所述目标用户所确定的深度学习框架为TensorFlow框架且所选择的分布式架构为参数服务器架构的情况下,确定所述容器的容器角色为参数服务器节点和工作节点;或者,
在所述目标用户所确定的深度学习框架为TensorFlow框架且选择的分布式架构为All Reduce分布式架构的情况下,确定所述容器的容器角色为工作节点;或者,
在所述目标用户所确定的深度学习框架为PyTorch框架且选择的分布式架构为All Reduce分布式架构的情况下,确定所述容器的容器角色为主节点和工作节点。
本公开实施例中,在用户创建目标训练任务时,通过任务创建界面清楚定义了深度学习框架、分布式架构和容器角色之间关系,进而可以方便用户决策。
在一种可能的实施方式中,所述方法还包括:
响应于针对所述目标训练任务的状态查询指令,展示所述目标训练任务的执行状态。
本公开实施例中,还可以响应于针对所述目标训练任务的状态查询指令,展示所述目标训练任务的执行状态,如此,可以使得用户清楚的了解任务的状态。
本公开实施例还提供一种训练任务的管理方法,包括:
响应于监听到目标虚拟资源池中存在第一任务对象,从所述目标虚拟资源池中获取所述第一任务对象,并将所述第一任务对象转换成目标数据设备集群能够识别的第二任务对象;其中,所述第一任务对象用于指示所述目标数据设备集群中的一组目标数据设备执行所述目标训练任务的训练操作;
响应于创建所述第二任务对象,基于所述目标训练任务的任务属性信息以及获取资源属性信息,创建执行所述目标训练任务所使用的至少一个目标容器;所述任务属性信息以及获取资源属性信息通过响应于任务创建界面的各个任务配置选项的选填操作而生成;
通过目标数据设备集群中的调度器将所述至少一个目标容器调度至所述一组目标数据设备上运行,以执行所述目标训练任务的训练操作。
本公开实施例中,目标数据设备集群在监听到目标虚拟资源池中存在第一任务对象后,会将第一任务对象进行转换以将相应的容器创建出来,然后通过调度器将创建出来的至少一个目标容器调度至对应的数据设备上运行,而该数据设备是由用户创建目标训练任务时选择确定的,因此,可以保证目标训练任务在指定的数据设备上运行,提升了目标训练任务部署的准确率,实现了对目标任务的有效管理。此外,通过调度器的调度还可以提升了目标训练任务的执行效率。
本公开实施例还提供一种训练任务的管理装置,包括:
界面展示模块,用于响应于任务创建指令,展示任务创建界面,所述任务创建界面包含用于创建目标训练任务的多个任务配置选项;
信息获取模块,用于响应于针对所述多个任务配置选项的选填操作,获取所述目标训练任务的任务属性信息以及获取资源属性信息;其中,所述资源属性信息包括执行所述目标训练任务所需要的目标资源池,所述资源池用于指示执行所述目标训练任务所对应的目标数据设备集群中的一组目标数据设备;
对象创建模块,用于响应于训练任务启动指令,确定与所述目标资源池对应的虚拟资源池,并在所述虚拟资源池中创建第一任务对象以存储所述任务属性信息以及所述资源属性信息;所述第一任务对象用于指示所述目标数据设备集群中的目标数据设备执行所述目标训练任务的训练操作。
在一种可能的实施方式中,所述任务创建界面包含资源池选择配置项,所述信息获取模块具体用于:
获取目标用户的身份信息,并基于目标用户的身份信息确定与所述目标用户关联的至少一个资源池;
响应于所述目标用户针对所述资源池选择配置项的选择操作,从所述至少一个资源池中确定所述目标资源池。
在一种可能的实施方式中,所述任务创建界面包含容器资源类型配置项,所述资源属性信息还包括资源类型,所述信息获取模块具体用于:
基于目标用户针对所述容器资源类型配置项填写确定操作,从所述目标资源池中确定执行所述目标训练任务所需要的资源类型;其中,所述资源类型包括中央处理器资源、图形处理器资源以及内存资源中的至少一种。
在一种可能的实施方式中,所述任务属性信息至少包括:所述目标训练任务的名称、执行所述目标训练任务所需要的框架相关信息、执行所述目标训练任务所需要的镜像文件以及所述目标训练任务的启动命令。
在一种可能的实施方式中,所述信息获取模块具体用于:
确定目标用户是否选择开启信息传递接口MPI以及确定所确定的深度学习框架;
基于是否开启所述MPI以及所确定的深度学习框架,确定所述目标训练任务所使用容器的容器角色。
在一种可能的实施方式中,所述信息获取模块具体用于:
响应于开启所述MPI,基于所述目标用户选择PyTorch深度学习框架和TensorFlow深度学习框架其中任一,确定所述容器的容器角色为启动节点Launcher和工作节点worker;或者,
响应于不开启所述MPI,基于不同的深度学习框架与不同的分布式架构的组合确定所述容器的容器角色。
在一种可能的实施方式中,所述信息获取模块具体用于:
在所述目标用户所确定的深度学习框架为TensorFlow框架且所选择的分布式架构为参数服务器架构的情况下,确定所述容器的容器角色为参数服务器节点和工作节点;或者,
在所述目标用户所确定的深度学习框架为TensorFlow框架且选择的分布式架构为All Reduce分布式架构的情况下,确定所述容器的容器角色为工作节点;或者,
在所述目标用户所确定的深度学习框架为PyTorch框架且选择的分布式架构为All Reduce分布式架构的情况下,确定所述容器的容器角色为主节点和工作节点。
在一种可能的实施方式中,所述界面展示模块还用于:
响应于针对所述目标训练任务的状态查询指令,展示所述目标训练任务的执行状态。
本公开实施例还提供一种训练任务的管理装置,包括:
对象转换模块,用于响应于监听到目标虚拟资源池中存在第一任务对象,从所述目标虚拟资源池中获取所述第一任务对象,并将所述第一任务对象转换成目标数据设备集群能够识别的第二任务对象;其中,所述第一任务对象用于指示所述目标数据设备集群中的一组目标数据设备执行所述目标训练任务的训练操作;
容器创建模块,用于响应于创建所述第二任务对象,基于所述目标训练任务的任务属性信息以及获取资源属性信息,创建执行所述目标训练任务所使用的至少一个目标容器;所述任务属性信息以及获取资源属性信息通过响应于任务创建界面的各个任务配置选项的选填操作而生成;
容器调度模块,用于通过目标数据设备集群中的调度器将所述至少一个目标容器调度至所述一组目标数据设备上运行,以执行所述目标训练任务的训练操作。
本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述任一种可能的实施方式中所述的训练任务的管理方法。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一种可能的实施方式中所述的训练任务的管理方法。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种训练任务的管理方法的实施环境示意图;
图2示出了本公开实施例所提供的一种训练任务的管理方法的流程图;
图3示出了本公开实施例所提供的一种任务创建界面的示意图;
图4示出了本公开实施例所提供的一种确定目标训练任务的框架相关信息的方法流程图;
图5示出了本公开实施例所提供的不同深度学习框架下的容器角色的示意图;
图6示出了本公开实施例所提供的另一种训练任务的管理方法的流程图;
图7示出了本公开实施例所提供的一种多个目标数据设备集群的分布示意图;
图8示出了本公开实施例所提供的一种训练任务的管理装置的结构示意图;
图9示出了本公开实施例所提供的另一种训练任务的管理装置的结构示意图;
图10示出了本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
随着人工智能的飞速发展,基于数据进行训练得到的深度学习模型(算法模型)在多个领域得到应用,例如常见的机器翻译、语义挖掘、图像识别、人脸识别、语音识别等领域。
经研究发现,深度学习模型的训练过程一般是在计算机集群上利用大量的训练样本对模型进行训练,该训练过程需要占用大量的运算资源,如图形处理器(GraphicsProcessing Unit,GPU),且随着应用场景的多元化,传统的依靠单机进行模型训练的过程已经无法满足需求。因此,为了提升训练任务的训练效率,分布式训练应运而生,也即可以通过多台主机的资源来共同辅助训练一个训练任务,然而,该方法虽然可以提升训练效率,但训练任务的部署以及训练进程的管理,成为了亟待解决的问题。
针对上述问题,本公开实施例提供了一种训练任务的管理方法,可以响应于任务创建指令,展示任务创建界面,所述任务创建界面包含用于创建目标训练任务的多个任务配置选项;接着能够响应于针对所述多个任务配置选项的选填操作,获取所述目标训练任务的任务属性信息以及获取资源属性信息;其中,所述资源属性信息包括执行所述目标训练任务所需要的目标资源池,所述资源池用于指示执行所述目标训练任务所对应的目标数据设备集群中的一组目标数据设备;然后响应于训练任务启动指令,确定与所述目标资源池对应的虚拟资源池,并在所述虚拟资源池中创建第一任务对象以存储所述任务属性信息以及所述资源属性信息;所述第一任务对象用于指示所述目标数据设备集群中的目标数据设备执行所述目标训练任务的训练操作。
本公开实施例中,能够为用户展示任务创建界面,且在用户选填任务创建界面中多个任务配置选项后,即可以获取到目标训练任务的任务属性信息以及获取资源属性信息,进而可以确定执行该目标训练任务所对应的目标数据设备集群中的一组目标数据设备,再通过创建任务对象的方式指示所述目标数据设备集群中的目标数据设备执行所述目标训练任务的训练操作即可,如此,不仅实现了目标训练任务在目标数据设备上的部署,还在方便用户创建训练任务的同时提升了任务部署的效率和准确率。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种训练任务的管理方法的执行主体进行介绍,如图1所示,本公开实施例所提供的训练任务的管理方法的执行主体一般为具有一定计算能力的电子设备,该电子设备包括终端设备300或者服务器100。也即,该训练任务的管理方法可应用于服务器100中,或者可应用于终端设备300中,或者可应用于由终端设备300和服务器100所组成的实施环境中。此外,该训练任务的管理方法还可以是运行于终端设备300或服务器100中的软体,例如具有训练任务的管理功能的应用程序等。
其中,终端设备300可以为移动设备、用户终端、终端、车载设备、计算设备及可穿戴设备等。服务器100可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器。在一些可能的实现方式中,该训练任务的管理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
在一些实施例中,服务器100和终端设备300之间可以通过网络200进行通信。其中,该网络200可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
下面结合图2对本公开实施例提供的一种训练任务的管理方法进行详细说明。参见图2所示,为本公开实施例提供的一种训练任务的管理方法的流程图,所述方法包括步骤S101~S103:
S101,响应于任务创建指令,展示任务创建界面,所述任务创建界面包含用于创建目标训练任务的多个任务配置选项。
示例性地,任务创建指令可以响应于“任务创建”的图标被触发而生成。例如,在目标用户通过终端设备登录训练任务的管理系统后,可以在终端设备上展示“任务创建”的图标,然后响应于针对“任务创建”的图标的触发操作,即可生成任务创建指令。
其中,当终端设备为触控设备时,触发操作包括但不限于单击操作、双击操作、长按操作及滑动操作等;当终端设备配置有鼠标和键盘时,例如,终端设备为台式电脑、笔记本电脑时,触发操作还可以是目标用户通过鼠标或者键盘输入的触发操作,本申请实施例对此不进行具体限制。
应当理解的是,其他实施例中,任务创建指令的生成方式还可以是其他方式,比如,针对其他图标(如+号图标)的触发操作,还可以是目标用户输入的语音指令(如“创建新任务”),此处不做限定,只要能生成任务创建指令即可。
参见图3所示,在接收到任务创建指令后,即可通过终端设备展示相应的任务创建界面,该任务创建界面中包含用于创建目标训练任务的多个任务配置选项,具体地,可以包含资源池选择配置项、任务名称配置项、信息传递接口(Message Passing Interface,MPI)选择配置项、框架选择配置项、镜像使用配置项、挂载存储配置项、分布式架构选择配置项、容器数量配置项、容器角色配置项、容器资源类型配置项、启动命令配置项等。
需要说明的是,图3中任务创建界面中所示的各个任务配置选项仅仅是示例,其他实施例中,任务创建界面中可包含数量更多或者更少的任务配置选项,具体可以根据实际需求而设定,此处不做限定。
在展示出任务创建界面后,目标用户可以针对每个任务配置选项进行选填操作,比如,可以在任务名称配置项中填写目标训练任务的名称,可以通过资源池选择配置项选择目标训练任务所需要的资源池等,其中,关于每个任务配置选项的作用将在后文进行详细阐述。
S102,响应于针对所述多个任务配置选项的选填操作,获取所述目标训练任务的任务属性信息以及获取资源属性信息;其中,所述资源属性信息包括执行所述目标训练任务所需要的目标资源池,所述资源池用于指示执行所述目标训练任务所对应的目标数据设备集群中的一组目标数据设备。
请再次参阅图3,在目标用户针对各个任务配置选项进行选填操作后,即可获取到目标训练任务的任务属性信息以及获取资源属性信息。其中,所述资源属性信息包括执行所述目标训练任务所需要的目标资源池,所述资源池用于指示执行所述目标训练任务所对应的目标数据设备集群中的一组目标数据设备。
示例性地,为了方便对目标用户的资源池进行管理,目标用户可以在创建任务之前购买相应的资源池,进而可以为目标用户配置相应的资源池。本申请实施例中,由于针对的是分布式训练,因此,为目标用户配置的资源池可能涉及到不同的数据设备集群以及不同数据设备集群中的不同数据设备,因此,为了避免执行时发生分配错误,可以预先将不同的数据设备与不同的资源池进行关联,如此,在确定相应的资源池后,即可确定执行目标训练任务的数据设备,方便目标训练任务的部署。
在一些实施方式中,在获取资源属性信息时,可以先获取目标用户的身份信息,并基于目标用户的身份信息确定与所述目标用户关联的至少一个资源池;然后响应于所述目标用户针对所述资源池选择配置项的选择操作,从所述至少一个资源池中确定所述目标资源池。比如,若通过目标用户的身份信息确定该目标用户购买了三个资源池,分别为1号资源池、2号资源池以及3号资源池,此时,则可以在资源池选择配置项为目标用户提供该三个资源池的选项,用户只需从该三个资源池中选择一个即可,若目标用户选择的是1号资源池,则可以确定目标资源池为1号资源池,当然,也可以确定与1号资源池关联的一组目标数据设备。
可选地,所述资源属性信息还包括资源类型,在选择了资源池后,目标用户还可以通过容器资源类型配置项确定执行该目标任务所需要的具体资源类型,其中,所述资源类型包括中央处理器(Central Processing Unit,CPU)资源、图形处理器(GraphicProcessing Unit,GPU)资源以及内存资源中的至少一种。示例性地,目标用户可以根据实际需求在容器资源类型配置项填入具体所需要的资源类型,比如CPU或者GPU等,如此,即可以获取到资源属性信息中的资源类型。
示例性地,任务属性信息包括所述目标训练任务的名称、执行所述目标训练任务所需要的框架相关信息、执行所述目标训练任务所需要的镜像文件以及所述目标训练任务的启动命令。可选地,所述任务属性信息还包括执行所述目标训练任务所需要的训练样本数据等。
示例性地,如图3所示,目标用户可以通过任务创建界面中的任务名称配置项来为目标训练任务配置相应的名称,其中,名称的相应规则可以根据实际需求而设定,比如,名称可以包含文字、数字、字母或者符号(如点号、下划线等),还可以限制名称开头的书写规范(如以大小写字母或者文字开头),还可以限定名称的长度(如包括2-128个字符)。在目标用户输入相应的名称后即可获取到目标训练任务的名称,比如,XX分类训练任务。
目标用户还可以通过任务创建界面中的挂在存储配置项来为目标训练任务挂载相应的训练样本数据。可选地,可以预先获取用于训练目标训练任务的训练样本数据(如大量图像样本),并将该训练样本数据存储到相应的目标存储空间,如此,目标用户在预先购买了存储资源的情况下,可以将存有训练样本数据的目标存储空间挂在至当前训练任务,并挂载相应的存储路径即可,如此,在执行目标训练任务时即可以通过该挂载的存储路径获取到目标存储空间内的训练样本数据。当然,除了挂载训练样本数据的存储,还可以挂载其他需要的文件存储、如镜像文件存储、模型文件存储等,此处不做限定。
目标用户还可以通过任务创建界面的镜像使用配置项来配置执行所述目标训练任务所需要的镜像文件。本实施方式中,可以为目标用户提供基础镜像文件与样例镜像文件两种,其中,样例镜像文件是指能够实现特定功能的镜像文件。其他实施例中,还可以用户自定义镜像文件,也即,用户可以根据实际需求自定义镜像文件。
可选地,镜像文件具有镜像参数,镜像参数可以包括镜像文件的镜像名和镜像版本标识等等。其中,镜像文件是一种文件存储形式,包括运行容器所需的数据,可以用来创建新的容器。容器是由镜像创建的运行实例。另外,针对样例镜像文件创建的容器支持不同的业务类型可以具有不同的版本标识,比如,不同的业务类型可以是图片的分类模型训练和图片的目标检测模型的训练。
可选地,还可以通过任务创建界面中的启动命令配置项来为目标训练任务添加启动命令,该启动命令用于指示后端目标数据设备如何执行目标训练任务,在一种实施方式中,可以为各个训练框架启动命令范例一共用户参考,如此,可以提升目标用户确定启动命令的效率。
下面对执行所述目标训练任务所需要的框架相关信息进行详细说明,在一些实施例中,框架相关信息包括深度学习框架、分布式架构、MPI、容器数量以及容器角色等信息。
参见图4所示,为本公开实施例提供的一种确定目标训练任务的框架相关信息的方法流程图,该确定目标训练任务的框架相关信息的方法包括以下S1021~S1022:
S1021,确定目标用户是否选择开启MPI以及确定所确定的深度学习框架。
示例性地,参见图3所示,可以通过MPI选择配项确定是否开启MPI,具体地,若“不使用MPI”被所述目标用户选择,则确定不开启MPI;若“使用MPI”被所述目标用户选择,则确定开启MPI。
其中,MPI是一种被广泛采用的消息传递标。与OpenMP并行程序不同,MPI是一种基于消息传递的并行编程技术。消息传递接口是一种编程接口标准,而不是一种具体的编程语言。
可选地,目标用户还可以通过框架选择配置项来选择本次目标训练任务所使用的深度学习框架。本实施方式中,提供PyTorch和TensorFlow两种框架供选择供用户选择。此外,镜像文件也是与深度学习框架也是对应的,也即,不同的深度学习框架对应的镜像文件也不同,在目标用户选择相应的深度学习框架后,会提供与选择的深度学习框架对应的镜像文件供用户选择。
S1022,基于是否开启所述MPI以及所确定的深度学习框架,确定所述目标训练任务所使用容器的容器角色。
示例性地,还可以通过容器数量配置项来设置本次训练需要使用的容器的数量,也即,可以响应于针对所述容器数量配置项的填写操作,获取容器数量,如图3所示,本次训练需要使用的容器数量为2个。
参见图5所示,在目标用户选择开启MPI的情况下,不论选择PyTorch深度学习框架,还是选择TensorFlow深度学习框架,容器角色可以为启动节点(Launcher)和工作节点(worker)。在目标用户选择不开启MPI的情况下,则需要根据所确定的深度学习框架以及分布式架构确定本次训练所使用容器的容器角色。
具体地,在所述目标用户所确定的深度学习框架为TensorFlow框架且所选择的分布式架构为参数服务器架构(Parameter Server,PS)的情况下,确定所述容器的容器角色为参数服务器节点PS和Worker;在所述目标用户所确定的深度学习框架为TensorFlow框架且选择的分布式架构为All Reduce(全规约)分布式架构的情况下,确定所述容器的容器角色为Worker;在所述目标用户所确定的深度学习框架为PyTorch框架且选择的分布式架构为All Reduce分布式架构的情况下,确定所述容器的容器角色为主节点(Master)和Worker。需要说明的是,若采用单机训练,不论选择哪种深度学习框架,容器角色都为worker。
S103,响应于训练任务启动指令,确定与所述目标资源池对应的虚拟资源池,并在所述虚拟资源池中创建第一任务对象以存储所述任务属性信息以及所述资源属性信息;所述第一任务对象用于指示所述目标数据设备集群中的目标数据设备执行所述目标训练任务的训练操作。
请再次参见图3,在任务创建界面中所示的各个任务配置选项填写完成后,目标用户可以触发“开始训练”图标,进而可以生成训练任务启动指令。如此,在一些实施例中,可以响应于训练任务启动指令,确定与所述目标资源池对应的虚拟资源池,并在所述虚拟资源池中创建第一任务对象以存储所述任务属性信息以及所述资源属性信息。其中,所述第一任务对象用于指示所述目标数据设备集群中的目标数据设备执行所述目标训练任务的训练操作。也即,目标数据设备集群中的agent监听到其对应的虚拟资源池中有第一任务对象后,在agent控制器中将对应的第一任务对象转换为数据设备集群可识别的第二任务对象,进而目标数据设备集群可以基于该第二任务对象执行目标训练任务的训练操作。
其中,目标训练任务的训练操作包括控制模型开始运行、将训练样本数据输入模型,并根据模型的输出结果调整模型参数等等。另外,关于目标数据设备集群如何执行目标训练任务的过程将在后文进行详细阐述。
在一些实施例中,为了方便目标用户了解所创建的目标训练任务的状态,在创建目标训练任务后,还可以响应于针对所述目标训练任务的状态查询指令,展示所述目标训练任务的执行状态。其中,所述目标训练任务的执行状态包括创建中、运行中、完成或者失败等状态,如此,可以使目标用户了解目标训练任务的生命周期。此外,对于已经创建的训练任务,用户可以进行查看详情、查看日志、停止、重启、删除等操作,还可以复制某一个任务的配置信息并重新提交一个配置完全一样的任务。
本公开实施例中,能够为用户展示任务创建界面,且在用户选填任务创建界面中多个任务配置选项后,即可以获取到目标训练任务的任务属性信息以及获取资源属性信息,进而可以确定执行该目标训练任务所对应的目标数据设备集群中的一组目标数据设备,再通过创建任务对象的方式指示所述目标数据设备集群中的目标数据设备执行所述目标训练任务的训练操作即可,如此,不仅实现了目标训练任务在目标数据设备上的部署,还在方便用户创建训练任务的同时提升了任务部署的效率和准确率。
下面从数据设备集群的角度对目标训练任务的管理进行详细说明,也即,在一些实施例中,还一共另一种训练任务的管理方法,参见图6所示,该方法包括以下S601~S603:
S601,响应于监听到目标虚拟资源池中存在第一任务对象,从所述目标虚拟资源池中获取所述第一任务对象,并将所述第一任务对象转换成目标数据设备集群能够识别的第二任务对象;其中,所述第一任务对象用于指示所述目标数据设备集群中的一组目标数据设备执行所述目标训练任务的训练操作。
参见图7所示,由于分布式训练会对应多个目标数据设备集群400,也即,前端提交的目标训练任务需要在多个数据设备集群中选择一个目标设备集群来执行。因此,目标资源池、目标虚拟资源池和目标数据设备集群应存在预设的对应关系,在用户购买相应的资源池后,与该资源池对应的虚拟资源池以及数据设备集群也会确定,例如,若目标用户选择1号资源池,则对应1号目标设备集群中的1-3号数据设备,若目标用户选择2号资源池,则对应1号目标设备集群中的4-7号数据设备,若目标用户选择3号资源池,则对应2号目标设备集群中的1-4号数据设备等。
因此,在目标用户选择目标资源池后,与该目标资源池对应的目标数据设备集群会收到相应的指令,进而会对与其对应的目标虚拟资源池进行监听,在目标数据设备集群中的agent监听到对应的目标虚拟资源池中有第一任务对象后,会从所述目标虚拟资源池中获取所述第一任务对象,并在agent控制器中将第一任务对象转换为数据设备集群可识别的第二任务对象。
S602,响应于创建所述第二任务对象,基于所述目标训练任务的任务属性信息以及获取资源属性信息,创建执行所述目标训练任务所使用的至少一个目标容器;所述任务属性信息以及获取资源属性信息通过响应于任务创建界面的各个任务配置选项的选填操作而生成。
示例性地,在目标数据设备集群中的控制器监听到第二任务对象创建后会将相应的容器创建出来,容器中会填写目标训练任务的名称、镜像文件、目标资源池、启动命令、挂载存储等信息。
其中,关于任务属性信息以及获取资源属性信息参见前述实施例,在此不再赘述。
S603,通过目标数据设备集群中的调度器将所述至少一个目标容器调度至所述一组目标数据设备上运行,以执行所述目标训练任务的训练操作。
示例性地,在容器创建出来之后经由目标数据设备集群调度器统一进行调度,会保证创建出来的至少一个目标容器在指定的数据设备中运行,且所占用的资源会根据预先分配的而实现。
本公开实施例中,目标数据设备集群在监听到目标虚拟资源池中存在第一任务对象后,会将第一任务对象进行转换以将相应的容器创建出来,然后通过调度器将创建出来的至少一个目标容器调度至对应的数据设备上运行,而该数据设备是由用户创建目标训练任务时选择确定的,因此,可以保证目标训练任务在指定的数据设备上运行,提升了目标训练任务部署的准确率,实现了对目标任务的有效管理。此外,通过调度器的调度还可以提升了目标训练任务的执行效率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与训练任务的管理方法对应的训练任务的管理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述训练任务的管理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图8所示,为本公开实施例提供的一种训练任务的管理装置的结构示意图,所述装置800包括:
界面展示模块801,用于响应于任务创建指令,展示任务创建界面,所述任务创建界面包含用于创建目标训练任务的多个任务配置选项;
信息获取模块802,用于响应于针对所述多个任务配置选项的选填操作,获取所述目标训练任务的任务属性信息以及获取资源属性信息;其中,所述资源属性信息包括执行所述目标训练任务所需要的目标资源池,所述资源池用于指示执行所述目标训练任务所对应的目标数据设备集群中的一组目标数据设备;
对象创建模块803,用于响应于训练任务启动指令,确定与所述目标资源池对应的虚拟资源池,并在所述虚拟资源池中创建第一任务对象以存储所述任务属性信息以及所述资源属性信息;所述第一任务对象用于指示所述目标数据设备集群中的目标数据设备执行所述目标训练任务的训练操作。
在一种可能的实施方式中,所述任务创建界面包含资源池选择配置项,所述信息获取模块802具体用于:
获取目标用户的身份信息,并基于目标用户的身份信息确定与所述目标用户关联的至少一个资源池;
响应于所述目标用户针对所述资源池选择配置项的选择操作,从所述至少一个资源池中确定所述目标资源池。
在一种可能的实施方式中,所述任务创建界面包含容器资源类型配置项,所述资源属性信息还包括资源类型,所述信息获取模块802具体用于:
基于目标用户针对所述容器资源类型配置项填写确定操作,从所述目标资源池中确定执行所述目标训练任务所需要的资源类型;其中,所述资源类型包括中央处理器资源、图形处理器资源以及内存资源中的至少一种。
在一种可能的实施方式中,所述任务属性信息至少包括:所述目标训练任务的名称、执行所述目标训练任务所需要的框架相关信息、执行所述目标训练任务所需要的镜像文件以及所述目标训练任务的启动命令。
在一种可能的实施方式中,所述信息获取模块802具体用于:
确定目标用户是否选择开启信息传递接口MPI以及确定所确定的深度学习框架;
基于是否开启所述MPI以及所确定的深度学习框架,确定所述目标训练任务所使用容器的容器角色。
在一种可能的实施方式中,所述信息获取模块802具体用于:
响应于开启所述MPI,基于所述目标用户选择PyTorch深度学习框架和TensorFlow深度学习框架其中任一,确定所述容器的容器角色为启动节点Launcher和工作节点worker;或者,
响应于不开启所述MPI,基于不同的深度学习框架与不同的分布式架构的组合确定所述容器的容器角色。
在一种可能的实施方式中,所述信息获取模块802具体用于:
在所述目标用户所确定的深度学习框架为TensorFlow框架且所选择的分布式架构为参数服务器架构的情况下,确定所述容器的容器角色为参数服务器节点和工作节点;或者,
在所述目标用户所确定的深度学习框架为TensorFlow框架且选择的分布式架构为All Reduce分布式架构的情况下,确定所述容器的容器角色为工作节点;或者,
在所述目标用户所确定的深度学习框架为PyTorch框架且选择的分布式架构为All Reduce分布式架构的情况下,确定所述容器的容器角色为主节点和工作节点。
在一种可能的实施方式中,所述界面展示模块803还用于:
响应于针对所述目标训练任务的状态查询指令,展示所述目标训练任务的执行状态。
参照图9所示,为本公开实施例提供的另一种训练任务的管理装置的结构示意图,所述装置900包括:
对象转换模块901,用于响应于监听到目标虚拟资源池中存在第一任务对象,从所述目标虚拟资源池中获取所述第一任务对象,并将所述第一任务对象转换成目标数据设备集群能够识别的第二任务对象;其中,所述第一任务对象用于指示所述目标数据设备集群中的一组目标数据设备执行所述目标训练任务的训练操作;
容器创建模块902,用于响应于创建所述第二任务对象,基于所述目标训练任务的任务属性信息以及获取资源属性信息,创建执行所述目标训练任务所使用的至少一个目标容器;所述任务属性信息以及获取资源属性信息通过响应于任务创建界面的各个任务配置选项的选填操作而生成;
容器调度模块903,用于通过目标数据设备集群中的调度器将所述至少一个目标容器调度至所述一组目标数据设备上运行,以执行所述目标训练任务的训练操作。
基于同一技术构思,本申请实施例还提供了一种电子设备。参照图10所示,为本申请实施例所提供的一种电子设备1000的结构示意图,包括处理器1010、存储器1020和总线1030。其中,存储器1020用于存储执行指令,包括存储器1021和外部存储器1022;这里的存储器1021也称内存储器,用于暂时存放处理器1010中的运算数据,以及与硬盘等外部存储器1022交换的数据,处理器1010通过存储器1021与外部存储器1022进行数据交换。
本申请实施例中,存储器1020具体用于存储执行本申请方案的应用程序代码,并由处理器1010来控制执行。也即,当电子设备1000运行时,处理器1010与存储器1020之间通过总线1030通信,使得处理器1010执行存储器1020中存储的应用程序代码,进而执行前述任一实施例中所揭示的方法。
其中,存储器1020可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器1010可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备1000的具体限定。在本申请另一些实施例中,电子设备1000可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的训练任务的管理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的训练任务的管理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (13)
1.一种训练任务的管理方法,其特征在于,包括:
响应于任务创建指令,展示任务创建界面,所述任务创建界面包含用于创建目标训练任务的多个任务配置选项;
响应于针对所述多个任务配置选项的选填操作,获取所述目标训练任务的任务属性信息以及获取资源属性信息;其中,所述资源属性信息包括执行所述目标训练任务所需要的目标资源池,所述资源池用于指示执行所述目标训练任务所对应的目标数据设备集群中的一组目标数据设备;
响应于训练任务启动指令,确定与所述目标资源池对应的虚拟资源池,并在所述虚拟资源池中创建第一任务对象以存储所述任务属性信息以及所述资源属性信息;所述第一任务对象用于指示所述目标数据设备集群中的目标数据设备执行所述目标训练任务的训练操作。
2.根据权利要求1所述的方法,其特征在于,所述任务创建界面包含资源池选择配置项,所述获取资源属性信息,包括:
获取目标用户的身份信息,并基于目标用户的身份信息确定与所述目标用户关联的至少一个资源池;
响应于所述目标用户针对所述资源池选择配置项的选择操作,从所述至少一个资源池中确定所述目标资源池。
3.根据权利要求1所述的方法,其特征在于,所述任务创建界面包含容器资源类型配置项,所述资源属性信息还包括资源类型,所述获取所述资源属性信息包括:
基于目标用户针对所述容器资源类型配置项填写确定操作,从所述目标资源池中确定执行所述目标训练任务所需要的资源类型;其中,所述资源类型包括中央处理器资源、图形处理器资源以及内存资源中的至少一种。
4.根据权利要求1所述的方法,其特征在于,所述任务属性信息至少包括:所述目标训练任务的名称、执行所述目标训练任务所需要的框架相关信息、执行所述目标训练任务所需要的镜像文件以及所述目标训练任务的启动命令。
5.根据权利要求4所述的方法,其特征在于,通过以下方式获取所述目标训练任务的框架相关信息:
确定目标用户是否选择开启信息传递接口MPI以及确定所确定的深度学习框架;
基于是否开启所述MPI以及所确定的深度学习框架,确定所述目标训练任务所使用容器的容器角色。
6.根据权利要求5所述的方法,其特征在于,所述基于是否开启所述MPI以及所确定的深度学习框架,确定所述目标训练任务所使用容器的容器角色,包括:
响应于开启所述MPI,基于所述目标用户选择PyTorch深度学习框架和TensorFlow深度学习框架其中任一,确定所述容器的容器角色为启动节点Launcher和工作节点worker;或者,
响应于不开启所述MPI,基于不同的深度学习框架与不同的分布式架构的组合确定所述容器的容器角色。
7.根据权利要求6所述的方法,其特征在于,所述基于不同的深度学习框架与不同的分布式架构的组合确定所述容器的容器角色,包括:
在所述目标用户所确定的深度学习框架为TensorFlow框架且所选择的分布式架构为参数服务器架构的情况下,确定所述容器的容器角色为参数服务器节点和工作节点;或者,
在所述目标用户所确定的深度学习框架为TensorFlow框架且选择的分布式架构为AllReduce分布式架构的情况下,确定所述容器的容器角色为工作节点;或者,
在所述目标用户所确定的深度学习框架为PyTorch框架且选择的分布式架构为AllReduce分布式架构的情况下,确定所述容器的容器角色为主节点和工作节点。
8.根据权利要求1-7任一所述的方法,其特征在于,所述方法还包括:
响应于针对所述目标训练任务的状态查询指令,展示所述目标训练任务的执行状态。
9.一种训练任务的管理方法,其特征在于,包括:
响应于监听到目标虚拟资源池中存在第一任务对象,从所述目标虚拟资源池中获取所述第一任务对象,并将所述第一任务对象转换成目标数据设备集群能够识别的第二任务对象;其中,所述第一任务对象用于指示所述目标数据设备集群中的一组目标数据设备执行所述目标训练任务的训练操作;
响应于创建所述第二任务对象,基于所述目标训练任务的任务属性信息以及获取资源属性信息,创建执行所述目标训练任务所使用的至少一个目标容器;所述任务属性信息以及获取资源属性信息通过响应于任务创建界面的各个任务配置选项的选填操作而生成;
通过所述目标数据设备集群中的调度器将所述至少一个目标容器调度至所述一组目标数据设备上运行,以执行所述目标训练任务的训练操作。
10.一种训练任务的管理装置,其特征在于,包括:
界面展示模块,用于响应于任务创建指令,展示任务创建界面,所述任务创建界面包含用于创建目标训练任务的多个任务配置选项;
信息获取模块,用于响应于针对所述多个任务配置选项的选填操作,获取所述目标训练任务的任务属性信息以及获取资源属性信息;其中,所述资源属性信息包括执行所述目标训练任务所需要的目标资源池,所述资源池用于指示执行所述目标训练任务所对应的目标数据设备集群中的一组目标数据设备;
对象创建模块,用于响应于训练任务启动指令,确定与所述目标资源池对应的虚拟资源池,并在所述虚拟资源池中创建第一任务对象以存储所述任务属性信息以及所述资源属性信息;所述第一任务对象用于指示所述目标数据设备集群中的目标数据设备执行所述目标训练任务的训练操作。
11.一种训练任务的管理装置,其特征在于,包括:
对象转换模块,用于响应于监听到目标虚拟资源池中存在第一任务对象,从所述目标虚拟资源池中获取所述第一任务对象,并将所述第一任务对象转换成目标数据设备集群能够识别的第二任务对象;其中,所述第一任务对象用于指示所述目标数据设备集群中的一组目标数据设备执行所述目标训练任务的训练操作;
容器创建模块,用于响应于创建所述第二任务对象,基于所述目标训练任务的任务属性信息以及获取资源属性信息,创建执行所述目标训练任务所使用的至少一个目标容器;所述任务属性信息以及获取资源属性信息通过响应于任务创建界面的各个任务配置选项的选填操作而生成;
容器调度模块,用于通过目标数据设备集群中的调度器将所述至少一个目标容器调度至所述一组目标数据设备上运行,以执行所述目标训练任务的训练操作。
12.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至9任意一项所述的训练任务的管理方法。
13.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至9任意一项所述的训练任务的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211203943.5A CN115543534A (zh) | 2022-09-29 | 2022-09-29 | 训练任务的管理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211203943.5A CN115543534A (zh) | 2022-09-29 | 2022-09-29 | 训练任务的管理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115543534A true CN115543534A (zh) | 2022-12-30 |
Family
ID=84731630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211203943.5A Pending CN115543534A (zh) | 2022-09-29 | 2022-09-29 | 训练任务的管理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115543534A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149360A (zh) * | 2023-10-30 | 2023-12-01 | 天津市天河计算机技术有限公司 | 远程实训方法、设备和存储介质 |
-
2022
- 2022-09-29 CN CN202211203943.5A patent/CN115543534A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149360A (zh) * | 2023-10-30 | 2023-12-01 | 天津市天河计算机技术有限公司 | 远程实训方法、设备和存储介质 |
CN117149360B (zh) * | 2023-10-30 | 2024-01-12 | 天津市天河计算机技术有限公司 | 远程实训方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210081725A1 (en) | Method, apparatus, server, and user terminal for constructing data processing model | |
EP3285170B1 (en) | Application profiling job management system, program, and method | |
US20230035451A1 (en) | Resource usage prediction for deep learning model | |
US11329870B2 (en) | Utilizing machine learning to reduce cloud instances in a cloud computing environment | |
US9977655B2 (en) | System and method for automatic extraction of software design from requirements | |
CN113282795B (zh) | 数据结构图生成及更新方法、装置、电子设备及存储介质 | |
CN111966361B (zh) | 用于确定待部署模型的方法、装置、设备及其存储介质 | |
CN114840322B (zh) | 任务调度方法及装置、电子设备和存储 | |
CN110706147B (zh) | 图像处理的环境确定方法、装置、电子设备和存储介质 | |
CN112925587A (zh) | 用于初始化应用的方法和装置 | |
CN108664314B (zh) | 大数据处理流程模块化管理方法及装置 | |
CN111783952A (zh) | 配置方法、装置、系统、电子设备以及存储介质 | |
EP2769302B1 (en) | Use of dynamic profiles for creating and using a distributed computing environment | |
CN111782181A (zh) | 代码生成方法、装置、电子设备以及存储介质 | |
CN115543534A (zh) | 训练任务的管理方法、装置、电子设备及存储介质 | |
CN111767059B (zh) | 深度学习模型的部署方法、装置、电子设备和存储介质 | |
CN112328225A (zh) | 一种页面运行方法及其运行系统 | |
CN112905931B (zh) | 页面信息的展示方法、装置、电子设备及存储介质 | |
CN114298313A (zh) | 一种人工智能计算机视觉推理方法 | |
CN113691403A (zh) | 拓扑节点配置方法、相关装置及计算机程序产品 | |
CN113703852B (zh) | 服务器的带外管理方法、装置、电子设备及可读存储介质 | |
CN114637564B (zh) | 数据可视化方法、装置、电子设备及存储介质 | |
CN115762515B (zh) | 用于语音识别的神经网络的处理和应用方法、装置及设备 | |
US12009994B2 (en) | Utilizing machine learning to reduce cloud instances in a cloud computing environment | |
Rivera-Cerón et al. | GLG: Visual Language for the Development of Parallel Programs in Cuda |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |