CN116450355A - 一种多集群模型训练方法、装置、设备及介质 - Google Patents
一种多集群模型训练方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116450355A CN116450355A CN202310435025.3A CN202310435025A CN116450355A CN 116450355 A CN116450355 A CN 116450355A CN 202310435025 A CN202310435025 A CN 202310435025A CN 116450355 A CN116450355 A CN 116450355A
- Authority
- CN
- China
- Prior art keywords
- model training
- clusters
- cluster
- task
- data
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及集群管理和模型训练技术领域,提供了一种多集群模型训练方法、装置、设备及介质,方法包括:获取模型训练数据集、多个候选集群的资源信息;创建多个模型训练任务,将各模型训练任务的资源需求信息与多个候选集群的资源信息进行匹配,以将匹配的候选集群作为对应模型训练任务的目标集群;将各模型训练任务分配至对应的目标集群,调度各目标集群的内部资源以创建容器,并在容器中根据模型训练数据集执行各模型训练任务。本申请中通过任务分配和各集群独立调度资源,低耦合的将多个集群有机的组织在一起以执行模型训练任务,解决了单集群在业务繁多时的资源短缺问题,为模型训练提供足够的资源和存储空间。
Description
技术领域
本申请涉及集群管理和模型训练技术领域,具体涉及一种多集群模型训练方法、装置、设备及介质。
背景技术
虚拟化技术的进步和云计算的发展,为模型训练平台的建设提供了新的技术基础。海量的数据存储在云端,依托云端计算资源和算力资源进行算法开发和模型训练能最大限度地发挥资源作用,减少数据传输时间消耗,提升模型训练速度和迭代速度。
训练平台的建设往往是分阶段和分批次建设,随着时间的推移、技术的进步,往往会出现不同资源规格和型号的硬件资源,同时也可能出现多机房多集群的情况,因此训练平台无法很好的兼容资源规格和机房集群的差异性,无法最大限度的有效利用资源,将会随着业务产生集群资源不足的问题。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种多集群模型训练方法、装置、设备及介质,用于解决现有技术中随着业务产生集群资源不足的问题。
为实现上述目的及其他相关目的,本申请提供一种多集群模型训练方法,所述方法包括:
获取模型训练数据集、多个候选集群的资源信息;
创建多个模型训练任务,将各所述模型训练任务的资源需求信息与所述多个候选集群的资源信息进行匹配,以将匹配的候选集群作为对应模型训练任务的目标集群;
将各所述模型训练任务分配至对应的目标集群,调度各所述目标集群的内部资源以创建容器,并在所述容器中根据所述模型训练数据集执行各所述模型训练任务。
于本申请的一实施例中,所述获取模型训练数据集、多个候选集群的资源信息之前,还包括:
获取模型训练原始数据;
根据预设的数据检索要求,对所述模型训练原始数据中的结构化数据进行检索,得到模型训练样本数据;
根据预设的比例,对所述模型训练样本数据进行抽样,得到所述模型训练数据集和模型评估数据集,其中,所述模型评估数据集用于对训练后的模型进行评估。
于本申请的一实施例中,所述模型训练任务的资源需求信息包括底层架构依赖、数据存储需求、算力需求、缓存速度需求,所述候选集群的资源信息包括底层架构、数据存储能力、算力需求、数据缓存速度,所述将各所述模型训练任务的资源需求信息与所述多个候选集群的资源信息进行匹配,以将匹配的候选集群作为对应模型训练任务的目标集群,包括:
调用所述多个候选集群中底层架构与各所述模型训练任务的底层架构依赖匹配的集群,得到多个第一中间集群;
调用所述多个第一中间集群中数据存储能力与各所述模型训练任务的数据存储需求匹配的集群,得到多个第二中间集群;
调用所述多个第二中间集群中任务不饱和且满足各所述模型训练任务的算力需求的集群,得到多个第三中间集群;
调用所述多个第三中间集群中数据缓存速度满足所述各所述模型训练任务的缓存速度需求的集群,得到所述目标集群。
于本申请的一实施例中,所述在所述容器中根据所述模型训练数据集执行各所述模型训练任务,包括:
通过所述目标集群中的镜像仓库,在所述容器中调用所述模型训练数据集以执行各所述模型训练任务,并在模型训练完成后根据所述模型评估数据集评估模型的泛化能力,得到泛化能力最强的模型。
于本申请的一实施例中,所述在所述容器中调用所述模型训练数据集以执行各所述模型训练任务之后,还包括:
采集执行各所述模型训练任务的过程数据和结果数据,根据所述过程数据和结果数据生成任务执行日志;
采集各所述目标集群执行所述模型训练任务时的CPU利用率、GPU利用率和内存占用率,并根据所述CPU利用率、GPU利用率和内存占用率调整训练中的模型的参数。
于本申请的一实施例中,所述调度各所述目标集群的内部资源以创建容器,包括:
获取各所述模型训练任务对应的预设的优先级信息,若所述模型训练任务的执行等待时间超出预设的等待时间阈值,则将所述模型训练任务的优先级提前;
根据所述优先级信息,依次调用预先配置的容器编排工具,使所述容器编排工具分配所述集群的CPU、GPU、内存和存储空间,得到与各所述模型训练任务对应的容器。
于本申请的一实施例中,在所述容器中根据所述模型训练数据集执行各所述模型训练任务之后,还包括:
若执行完模型训练任务的容器的空闲时间超出预设的空闲时间阈值,则释放所述容器对应的CPU、GPU、内存和存储空间。
于本申请的一实施例中,还提供了一种多集群模型训练装置,所述装置包括:
数据获取模块,用于获取模型训练数据集、多个候选集群的资源信息;
任务管理模块,用于创建多个模型训练任务,将各所述模型训练任务的资源需求信息与所述多个候选集群的资源信息进行匹配,以将匹配的候选集群作为对应模型训练任务的目标集群;
调度模块,用于将各所述模型训练任务分配至对应的目标集群,调度各所述目标集群的内部资源以创建容器,并在所述容器中根据所述模型训练数据集执行各所述模型训练任务。
于本申请的一实施例中,还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的多集群模型训练方法。
于本申请的一实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行如上所述的多集群模型训练方法。
本发明的有益效果:
首先获取模型训练数据集、多个候选集群的资源信息;然后创建多个模型训练任务,将各所述模型训练任务的资源需求信息与所述多个候选集群的资源信息进行匹配,以将匹配的候选集群作为对应模型训练任务的目标集群;最后将各所述模型训练任务分配至对应的目标集群,调度各所述目标集群的内部资源以创建容器,并在所述容器中根据所述模型训练数据集执行各所述模型训练任务。本申请中,通过任务分配和各集群独立调度资源,低耦合的将多个集群有机的组织在一起以执行模型训练任务,解决了单集群在业务繁多时的资源短缺问题,为模型训练提供足够的资源和存储空间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的多集群模型训练方法的实施环境示意图;
图2是本申请的一示例性实施例示出的多集群模型训练方法的流程示意图;
图3是本申请的一示例性实施例示出的多集群模型训练装置的框图;
图4示出了适于本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
首先需要说明的是,模型训练平台的建设往往是分阶段和分批次建设,随着时间的推移、技术的进步,往往会出现不同资源规格和型号的硬件资源,同时也可能出现多机房多集群的情况,训练平台需要很好的兼容资源规格和机房集群的差异性,最大限度的有效利用资源,发挥最大价值,解决业务增长带来的资源不足的问题。
现有技术中,多基于k8s(kubernetes,一种容器编排系统)进行多集群管理,中国专利《CN114942826A》公开了一种跨网络多集群系统及其访问方法及云计算设备,该专利所述主要是通过代理客户端实现被代理服务器与中枢集群的控制面的长连接,通过长连接将跨集群的服务器虚拟化到同一个集群中统一由中枢集群进行管理。该方案依赖长连接,对集群之间网络稳定性要求较高,且不同集群之间资源的差异,增加了中枢集群控制面的复杂度,对资源和任务的调度其提出了更高的要求,任务的分配容易出现不合理的情形。中国专利《CN111782370A》公开了一种kubernetes多集群管理系统、方法、终端及存储介质,主要是由客户端和服务端组成的系统,服务端负责将任务拆分为有向无环图的任务并维护各任务的状态,客户端接收来自k8s集群的任务并执行任务,服务端和客户端采用gRPC(RemoteProcedure Call,远程过程调用)的通信方式,该方案主要描述一种任务拆分方案以及通用场景下的任务执行方法,对算法开发和模型训练场景的资源调度和任务分配场景没有涉及。
以下对本申请中的各技术名词进行说明:
集群:cluster,就是一组计算机,它们作为一个整体向用户提供一组网络资源,这些单个的计算机系统就是集群的节点(node)。集群具有了以下关键特性:可扩展性,集群的性能不限于单一的服务实体,新的服务实体可以动态的加入到集群,从而增强集群的性能;高可用性,当一台节点服务器发生故障的时候,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管,消除单点故障对于增强数据可用性、可达性和可靠性是非常重要的;负载均衡,负载均衡能把任务比较均匀的分布到集群环境下的计算和网络资源,以便提高数据吞吐量;错误恢复,如果集群中的某一台服务器由于故障或者维护需要而无法使用,资源和应用程序将转移到可用的集群节点上。这种由于某个节点中的资源不能工作,另一个可用节点中的资源能够透明的接管并继续完成任务的过程叫做错误恢复。
容器:Container,在Kubernetes上运行的程序被打包成Linux容器。容器是一个被广泛接受的标准,因此已经有许多预先构建的映像可以部署在Kubernetes上。容器化允许创建自足式的Linux执行环境。任何程序和它的所有依赖项都可以打包成一个文件,然后在网络上共享。任何人都可以下载该容器并在其基础设施上部署它,所需的设置非常少。
镜像仓库:存放容器镜像的场所。
k8s:Kubernetes,为容器服务而生的一个可移植容器的编排管理工具,也是一个微服务框架。
结构化数据:是高度组织和整齐格式化的数据,结构化数据也被成为定量数据,是能够用数据或统一的结构加以表示的信息,如数字、符号。在项目中,保存和管理这些的数据一般为关系数据库,当使用结构化查询语言或SQL(Structured Query Language,具有数据操纵和数据定义等多种功能的数据库语言)时,计算机程序很容易搜索这些术语。
并行文件存储:并行文件系统中,文件数据被切分并放置到多个存储设备中(各个被切分的数据如何放置,由并行文件系统通过算法来控制,可以基于元数据服务或类似一致性哈希的方式实现),系统使用全局名称空间来进行数据访问。并行文件系统的客户端可以同时使用多个IO路径将数据读/写到多个存储设备。
Pod:K8S中,调度的最小的单位,一个Pod中可以运行一个或者多个容器。在一个集群中,K8S会为每个Pod都分配一个集群内唯一的IP地址。因为K8S要求底层网络支持集群内的任意节点之间的两个Pod能够直接通信。这些容器共享当前Pod的文件系统和网络。
图1是本申请的一示例性实施例示出的多集群模型训练方法的实施环境示意图。
参照图1所示,实施环境中可以包括模型训练管理系统和多个集群,模型训练管理系统创建模型训练任务并将模型训练任务分配至多个集群中,每个集群调度各自的计算资源、算力资源等,以实现模型的训练。
模型训练管理系统的功能可包括:数据管理、任务管理、模型训练、模型评估、告警管理、模型编译、日志指标管理、镜像管理、资源管理、关系数据存储和对象存储。每个集群可包括:调度模块、k8s虚拟化、计算资源、算力资源、网络资源、镜像仓库、并行文件存储和关系数据存储。
其中,模型训练管理系统整体依赖k8s的资源管理能力,并行文件存储对本地存放的数据基于最近最少使用(LRU)和版本的淘汰方式进行数据移除以释放存储空间供新的任务数据存放,用于加速模型训练时的数据读取效率;数据管理模块负责处理数据的接入和数据检索;调度模块,负责接受具体任务,调度本集群的算力和存储等资源,创建容器执行具体的任务并保存执行结果,输出任务状态数据;日志和指标采集管理负责采集每个集群的相关数据,存储于公共的存储介质,方便业务管理模块查询和可视化展示;任务管理模块具备各集群的资源的拓扑感知能力,将不同的任务类型以及任务的不同资源需求同各集群的资源进行匹配,选择最佳的集群发送任务,各集群的任务负责具体的任务执行;对象存储用于存储所有的任务相关的非关系型数据,当执行具体任务时,如模型训练,数据从对象存储通过网络同步到具体集群的并行文件存储,用于具体任务读取。
以上部分介绍了应用本申请技术方案的示例性实施环境的内容,接下来继续介绍本申请的多集群模型训练方法。
为解决现有技术中随着业务产生集群资源不足的问题,本申请的实施例分别提出一种多集群模型训练方法、一种多集群模型训练装置、一种电子设备、一种计算机可读存储介质以及一种计算机程序产品,以下将对这些实施例进行详细描述。
请参阅图2,图2是本申请的一示例性实施例示出的多集群模型训练方法的流程示意图,该方法可以应用于图1所示的实施环境中。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
如图2所示,在一示例性的实施例中,多集群模型训练方法至少包括步骤S210至步骤S230,详细介绍如下:
在步骤S210中,获取模型训练数据集、多个候选集群的资源信息。
示例性的,模型训练管理系统获取用于模型训练的模型训练数据集,并采集与其联系的多个集群的资源信息,本申请实施例中的资源信息可例如为:计算资源、算力资源、网络资源、存储资源、数据缓存资源。
在步骤S220中,创建多个模型训练任务,将各模型训练任务的资源需求信息与多个候选集群的资源信息进行匹配,以将匹配的候选集群作为对应模型训练任务的目标集群。
示例性的,通过各集群的资源的拓扑感知能力,将不同的任务类型以及任务的不同资源需求同各集群的资源进行匹配,以选择最佳的集群发送任务,各集群的任务负责具体的任务执行。
在步骤S230中,将各模型训练任务分配至对应的目标集群,调度各目标集群的内部资源以创建容器,并在容器中根据模型训练数据集执行各模型训练任务。
示例性的,模型训练通过镜像集成的方式,包括主流算法框架(MxNet,Pytorch,Tensorflow等)的模型训练,通过单机多卡和多机多卡的分布式训练,并且在训练过程中可对容器状态进行查看和对训练参数进行动态调整。
由上述步骤S210至S230可知,本实施例提出的方案,通过任务分配和各集群独立调度资源,低耦合的将多个集群有机的组织在一起以执行模型训练任务,解决了单集群在业务繁多时的资源短缺问题,为模型训练提供足够的资源和存储空间。
在本申请的一实施例中,获取模型训练数据集、多个候选集群的资源信息之前,还包括:
获取模型训练原始数据;
根据预设的数据检索要求,对所述模型训练原始数据中的结构化数据进行检索,得到模型训练样本数据;
根据预设的比例,对所述模型训练样本数据进行抽样,得到所述模型训练数据集和模型评估数据集,其中,所述模型评估数据集用于对训练后的模型进行评估。
示例性的,通过模型训练管理系统中的数据管理模块对原始数据进行结构化数据检索,以得到模型训练数据集和模型评估数据集。数据管理模块负责数据的接入、版本和有效性管理,具备非结构化和结构化数据的检索能力,能够生成训练、评估等任务的数据集,支持将数据集按比例抽样成训练集、验证集和测试集。
在本申请的一实施例中,将各所述模型训练任务的资源需求信息与所述多个候选集群的资源信息进行匹配,以将匹配的候选集群作为对应模型训练任务的目标集群,包括:
调用所述多个候选集群中底层架构与各所述模型训练任务的底层架构依赖匹配的集群,得到多个第一中间集群;
调用所述多个第一中间集群中数据存储能力与各所述模型训练任务的数据存储需求匹配的集群,得到多个第二中间集群;
调用所述多个第二中间集群中任务不饱和且满足各所述模型训练任务的算力需求的集群,得到多个第三中间集群;
调用所述多个第三中间集群中数据缓存速度满足所述各所述模型训练任务的缓存速度需求的集群,得到所述目标集群。
需要说明的是,所述模型训练任务的资源需求信息包括底层架构依赖、数据存储需求、算力需求、缓存速度需求,所述候选集群的资源信息包括底层架构、数据存储能力、算力需求、数据缓存速度。
示例性的,根据集群算力资源情况、任务饱和度情况以及并行文件存储的数据集缓存情况对模型训练任务进行调度,以确定与各模型训练任务对应的目标集群,在对任务进行调度时还支持异构计算资源的调度。
在本申请的一实施例中,在所述容器中根据所述模型训练数据集执行各所述模型训练任务,包括:
通过所述目标集群中的镜像仓库,在所述容器中调用所述模型训练数据集以执行各所述模型训练任务,并在模型训练完成后根据所述模型评估数据集评估模型的泛化能力,得到泛化能力最强的模型。
示例性的,每个集群具备各自的镜像仓库,通过镜像仓库以减少镜像传输的时间,同时各镜像中心会定期同步各自差异的镜像。在容器中通过执行模型训练任务完成模型的训练后,利用不同的数据检测模型的泛化能力,用于选择出最合适的模型,然后将该最合适的模型在适配的编译机上编译,直接转化为特定芯片支持的可执行文件类型。
在本申请的一实施例中,在所述容器中调用所述模型训练数据集以执行各所述模型训练任务之后,还包括:
采集执行各所述模型训练任务的过程数据和结果数据,根据所述过程数据和结果数据生成任务执行日志;
采集各所述目标集群执行所述模型训练任务时的CPU利用率、GPU利用率和内存占用率,并根据所述CPU利用率、GPU利用率和内存占用率调整训练中的模型的参数。
示例性的,各个集群基于Daemonset(DaemonSet是一个确保全部或者某些节点上必须运行一个Pod的工作负载资源)或Sidecar(Sidecar是一种将应用功能从应用本身剥离出来作为单独进程的方式)等方式将各模型训练任务的过程数据和结果数据采集以生成日志并将日志存储于公共的日志存储介质,供查询和展示。CPU(Central Processing Unit,中央处理器)利用率、GPU(Graphic Process Unit,图形处理器)利用率和内存占用率等集群指标数据通过接口输出给Prometheus(一款基于时序数据库的开源监控告警系统)周期性地采集,并对上述指标数据进行可视化展示。在对上述指标数据进行可视化展示时,通过POD维度的指标展示,算法工程师可以实时查看任务运行的状态,并根据CPU利用率、GPU利用率和内存占用率在训练过程中进行参数的调整。
在本申请的一实施例中,调度各所述目标集群的内部资源以创建容器,包括:
获取各所述模型训练任务对应的预设的优先级信息,若所述模型训练任务的执行等待时间超出预设的等待时间阈值,则将所述模型训练任务的优先级提前;
根据所述优先级信息,依次调用预先配置的容器编排工具,使所述容器编排工具分配所述集群的CPU、GPU、内存和存储空间,得到与各所述模型训练任务对应的容器。
示例性的,任务管理模块的任务分配,负责集群内部的资源分配和任务调度。调度模块通过基于优先级的非抢占式任务调度,同时等待时间越长的任务,优先级权重会变高,防止低优先级的任务出现“饿死”的情况。调度服务调用k8s的API(ApplicationProgrammingInterface,应用程序编程接口)用以创建容器POD,分配CPU、GPU、内存和存储空间以创建容器,并设定相关配置以启动任务执行。当任务执行结束时,会保存相关结果并反馈任务执行状态。
在本申请的一实施例中,在所述容器中根据所述模型训练数据集执行各所述模型训练任务之后,还包括:
若执行完模型训练任务的容器的空闲时间超出预设的空闲时间阈值,则释放所述容器对应的CPU、GPU、内存和存储空间。
示例性的,调度服务结合并行文件存储,采用最近最少使用原则(LRU)进行淘汰释放存储空间,调度服务会定期检测文件在并行文件存储的停留时间,超过空闲时间阈值文件会被释放。当并行文件存储空间占用达到总存储容量的60%时也会启动文件(以数据集为单位)淘汰机制。并行文件存储采用全闪存或混合闪存为介质,用于存放训练过程或模型相关过程中的数据。任务涉及的数据如果不存在当前集群的并行存储中,文件会从管理系统的对象存储同步到并行存储中,通过文件协议挂载到GPU节点,并挂载到任务容器POD中,用以加速文件数据的读取。
图3是本申请的一示例性实施例示出的多集群模型训练装置的框图。该装置可以应用于图1所示的实施环境。该装置也可以适用于其它的示例性实施环境,并具体配置在其它设备中,本实施例不对该装置所适用的实施环境进行限制。
如图3所示,该示例性的多集群模型训练装置包括:
数据获取模块301,用于获取模型训练数据集、多个候选集群的资源信息;
任务管理模块302,用于创建多个模型训练任务,将各所述模型训练任务的资源需求信息与所述多个候选集群的资源信息进行匹配,以将匹配的候选集群作为对应模型训练任务的目标集群;
调度模块303,用于将各所述模型训练任务分配至对应的目标集群,调度各所述目标集群的内部资源以创建容器,并在所述容器中根据所述模型训练数据集执行各所述模型训练任务。
在该示例性的多集群模型训练装置中,通过任务分配和各集群独立调度资源,低耦合的将多个集群有机的组织在一起以执行模型训练任务,解决了单集群在业务繁多时的资源短缺问题,为模型训练提供足够的资源和存储空间。
需要说明的是,上述实施例所提供的多集群模型训练装置与上述实施例所提供的多集群模型训练方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的多集群模型训练装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的多集群模型训练方法。
图4示出了适于本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图4示出的电子设备的计算机系统400仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统400包括中央处理单元(Central Processing Unit,CPU)401,其可以根据存储在只读存储器(Read-Only Memory,ROM)402中的程序或者从储存部分408加载到随机访问存储器(Random Access Memory,RAM)403中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 403中,还存储有系统操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(Input/Output,I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分407;包括硬盘等的储存部分408;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入储存部分408。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机工具程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过工具的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如前所述的多集群模型训练方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的多集群模型训练方法。
上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种多集群模型训练方法,其特征在于,所述方法包括:
获取模型训练数据集、多个候选集群的资源信息;
创建多个模型训练任务,将各所述模型训练任务的资源需求信息与所述多个候选集群的资源信息进行匹配,以将匹配的候选集群作为对应模型训练任务的目标集群;
将各所述模型训练任务分配至对应的目标集群,调度各所述目标集群的内部资源以创建容器,并在所述容器中根据所述模型训练数据集执行各所述模型训练任务。
2.根据权利要求1所述的多集群模型训练方法,其特征在于,所述获取模型训练数据集、多个候选集群的资源信息之前,还包括:
获取模型训练原始数据;
根据预设的数据检索要求,对所述模型训练原始数据中的结构化数据进行检索,得到模型训练样本数据;
根据预设的比例,对所述模型训练样本数据进行抽样,得到所述模型训练数据集和模型评估数据集,其中,所述模型评估数据集用于对训练后的模型进行评估。
3.根据权利要求1所述的多集群模型训练方法,其特征在于,所述模型训练任务的资源需求信息包括底层架构依赖、数据存储需求、算力需求、缓存速度需求,所述候选集群的资源信息包括底层架构、数据存储能力、算力需求、数据缓存速度,所述将各所述模型训练任务的资源需求信息与所述多个候选集群的资源信息进行匹配,以将匹配的候选集群作为对应模型训练任务的目标集群,包括:
调用所述多个候选集群中底层架构与各所述模型训练任务的底层架构依赖匹配的集群,得到多个第一中间集群;
调用所述多个第一中间集群中数据存储能力与各所述模型训练任务的数据存储需求匹配的集群,得到多个第二中间集群;
调用所述多个第二中间集群中任务不饱和且满足各所述模型训练任务的算力需求的集群,得到多个第三中间集群;
调用所述多个第三中间集群中数据缓存速度满足所述各所述模型训练任务的缓存速度需求的集群,得到所述目标集群。
4.根据权利要求2所述的多集群模型训练方法,其特征在于,所述在所述容器中根据所述模型训练数据集执行各所述模型训练任务,包括:
通过所述目标集群中的镜像仓库,在所述容器中调用所述模型训练数据集以执行各所述模型训练任务,并在模型训练完成后根据所述模型评估数据集评估模型的泛化能力,得到泛化能力最强的模型。
5.根据权利要求4所述的多集群模型训练方法,其特征在于,所述在所述容器中调用所述模型训练数据集以执行各所述模型训练任务之后,还包括:
采集执行各所述模型训练任务的过程数据和结果数据,根据所述过程数据和结果数据生成任务执行日志;
采集各所述目标集群执行所述模型训练任务时的CPU利用率、GPU利用率和内存占用率,并根据所述CPU利用率、GPU利用率和内存占用率调整训练中的模型的参数。
6.根据权利要求1所述的多集群模型训练方法,其特征在于,所述调度各所述目标集群的内部资源以创建容器,包括:
获取各所述模型训练任务对应的预设的优先级信息,若所述模型训练任务的执行等待时间超出预设的等待时间阈值,则将所述模型训练任务的优先级提前;
根据所述优先级信息,依次调用预先配置的容器编排工具,使所述容器编排工具分配所述集群的CPU、GPU、内存和存储空间,得到与各所述模型训练任务对应的容器。
7.根据权利要求6所述的多集群模型训练方法,其特征在于,在所述容器中根据所述模型训练数据集执行各所述模型训练任务之后,还包括:
若执行完模型训练任务的容器的空闲时间超出预设的空闲时间阈值,则释放所述容器对应的CPU、GPU、内存和存储空间。
8.一种多集群模型训练装置,其特征在于,所述装置包括:
数据获取模块,用于获取模型训练数据集、多个候选集群的资源信息;
任务管理模块,用于创建多个模型训练任务,将各所述模型训练任务的资源需求信息与所述多个候选集群的资源信息进行匹配,以将匹配的候选集群作为对应模型训练任务的目标集群;
调度模块,用于将各所述模型训练任务分配至对应的目标集群,调度各所述目标集群的内部资源以创建容器,并在所述容器中根据所述模型训练数据集执行各所述模型训练任务。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至7中任一项所述的多集群模型训练方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行如权利要求1至7中任一项所述的多集群模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310435025.3A CN116450355A (zh) | 2023-04-21 | 2023-04-21 | 一种多集群模型训练方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310435025.3A CN116450355A (zh) | 2023-04-21 | 2023-04-21 | 一种多集群模型训练方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116450355A true CN116450355A (zh) | 2023-07-18 |
Family
ID=87133414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310435025.3A Pending CN116450355A (zh) | 2023-04-21 | 2023-04-21 | 一种多集群模型训练方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450355A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194991A (zh) * | 2023-11-03 | 2023-12-08 | 四川并济科技有限公司 | 基于gpu集群的高维数据推荐系统及方法 |
CN117726002A (zh) * | 2023-12-12 | 2024-03-19 | 暗物质(北京)智能科技有限公司 | 一种模型生产方法、装置、电子设备及存储介质 |
CN117891618A (zh) * | 2024-03-15 | 2024-04-16 | 杭州宇泛智能科技有限公司 | 人工智能模型训练平台的资源任务处理方法及装置 |
CN118095494A (zh) * | 2024-03-28 | 2024-05-28 | 暗物智能科技(广州)有限公司 | 一种模型训练方法、装置、计算机设备及可读存储介质 |
-
2023
- 2023-04-21 CN CN202310435025.3A patent/CN116450355A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194991A (zh) * | 2023-11-03 | 2023-12-08 | 四川并济科技有限公司 | 基于gpu集群的高维数据推荐系统及方法 |
CN117194991B (zh) * | 2023-11-03 | 2024-02-13 | 四川并济科技有限公司 | 基于gpu集群的高维数据推荐系统及方法 |
CN117726002A (zh) * | 2023-12-12 | 2024-03-19 | 暗物质(北京)智能科技有限公司 | 一种模型生产方法、装置、电子设备及存储介质 |
CN117891618A (zh) * | 2024-03-15 | 2024-04-16 | 杭州宇泛智能科技有限公司 | 人工智能模型训练平台的资源任务处理方法及装置 |
CN117891618B (zh) * | 2024-03-15 | 2024-05-24 | 杭州宇泛智能科技有限公司 | 人工智能模型训练平台的资源任务处理方法及装置 |
CN118095494A (zh) * | 2024-03-28 | 2024-05-28 | 暗物智能科技(广州)有限公司 | 一种模型训练方法、装置、计算机设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10402424B1 (en) | Dynamic tree determination for data processing | |
CN116450355A (zh) | 一种多集群模型训练方法、装置、设备及介质 | |
US9996593B1 (en) | Parallel processing framework | |
Ju et al. | iGraph: an incremental data processing system for dynamic graph | |
CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN108920153A (zh) | 一种基于负载预测的Docker容器动态调度方法 | |
CN102880503A (zh) | 数据分析系统及数据分析方法 | |
CN110166507B (zh) | 多资源调度方法和装置 | |
CN105786603B (zh) | 一种基于分布式的高并发业务处理系统及方法 | |
US20170228422A1 (en) | Flexible task scheduler for multiple parallel processing of database data | |
CN112306719B (zh) | 一种任务调度方法与装置 | |
CN112395736A (zh) | 一种分布交互仿真系统的并行仿真作业调度方法 | |
WO2019117767A1 (en) | Method, function manager and arrangement for handling function calls | |
CN115033616A (zh) | 一种基于多轮采样的数据筛查规则验证方法及其装置 | |
Liu et al. | KubFBS: A fine‐grained and balance‐aware scheduling system for deep learning tasks based on kubernetes | |
CN103634374A (zh) | 一种并发访问请求的处理方法及装置 | |
CN113760638A (zh) | 一种基于kubernetes集群的日志服务方法和装置 | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
CN110347654B (zh) | 一种上线集群特性的方法和装置 | |
CN113672671A (zh) | 一种实现数据加工的方法和装置 | |
CN111104212A (zh) | 一种调度任务执行方法、装置、电子设备及存储介质 | |
CN112231093A (zh) | 基于代码模板和协程池的数据采集方法、系统及电子设备 | |
CN111522654A (zh) | 分布式爬虫的调度处理方法、装置及设备 | |
CN113703976B (zh) | 一种fpga资源分配方法、装置、设备及可读存储介质 | |
US20230418681A1 (en) | Intelligent layer derived deployment of containers |
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 |