CN117829313A - 模型训练方法、系统、计算机设备和存储介质 - Google Patents
模型训练方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117829313A CN117829313A CN202410005668.9A CN202410005668A CN117829313A CN 117829313 A CN117829313 A CN 117829313A CN 202410005668 A CN202410005668 A CN 202410005668A CN 117829313 A CN117829313 A CN 117829313A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- sub
- actual
- task
- 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 362
- 238000000034 method Methods 0.000 title claims abstract description 156
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 238000011161 development Methods 0.000 claims abstract description 109
- 238000012795 verification Methods 0.000 claims abstract description 77
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims description 83
- 230000002776 aggregation Effects 0.000 claims description 34
- 238000004220 aggregation Methods 0.000 claims description 34
- 238000009826 distribution Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 52
- 238000013473 artificial intelligence Methods 0.000 description 18
- 238000013135 deep learning Methods 0.000 description 18
- 238000005530 etching Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 11
- 238000005457 optimization Methods 0.000 description 10
- 238000013523 data management Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 241000282326 Felis catus Species 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 230000008021 deposition Effects 0.000 description 4
- 238000000151 deposition Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000001259 photo etching Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004138 cluster model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供一种模型训练方法、系统、计算机设备和存储介质,属于模型训练技术领域。本公开的模型训练方法包括根据目标任务的属性信息和当前系统状态,得到预测资源占用信息;若检测出存在前一次训练输出的实际训练结果,获取待训练模型的前一次训练输出的实际训练结果,并得到实际资源占用信息;若预测资源占用信息与实际资源占用信息不匹配,根据比对结果,生成第一资源调度方案;对任务参数进行处理,得到任务参数组合;各个开发平台分别按照第二资源调度方案,调用计算资源将任务参数组合作为子模型的训练数据进行并行训练,得到各个子模型的输出结果;将各个子模型的输出结果聚合得到实际训练结果,进行验证,直至实际训练结果验证通过。
Description
技术领域
本公开属于模型训练技术领域,具体涉及一种模型训练方法、系统、计算机设备和存储介质。
背景技术
随着人工智能(AI)、深度学习和并行计算系统的快速发展,大规模并行神经网络模型训练的需求日益显著。在大规模并行训练中,资源调度是一项关键任务,它负责分配和管理计算资源以提高系统的整体性能。
传统的资源调度方法通常是基于集中式的,所有的数据和计算资源都需要集中到一个平台进行处理和训练。然而,这种方式存在一些固有的限制:首先,集中式训练需要大量的计算资源和存储空间,这对硬件设备提出了很高的要求。其次,当数据量非常大时,集中式训练可能会导致处理速度降低,效率不高。最后,所有的数据都需要集中到一个平台进行集中式训练,因此集中式训练可能存在数据隐私和安全问题,使得数据容易被攻击和窃取。
发明内容
本公开旨在至少解决现有技术中存在的技术问题之一,提供一种模型训练方法、系统、计算机设备和存储介质。
第一方面,解决本公开技术问题所采用的技术方案是一种模型训练方法,应用于模型训练系统,所述模型训练系统包括任务管理平台和联邦集群,所述联邦集群包括多个开发平台,每个开发平台部署有对应的子模型,各个子模型构成目标任务对应的待训练模型;模型训练方法包括:
所述任务管理平台根据获取到的目标任务的属性信息和当前系统状态,预测训练所述目标任务的待训练模型所需的资源占用情况,得到预测资源占用信息;
在检测出存储有所述待训练模型的前一次训练输出的实际训练结果的情况下,获取所述待训练模型的前一次训练输出的实际训练结果,并得到所述实际训练结果指示的、训练所述待训练模型过程的实际资源占用信息;
在所述预测资源占用信息与所述实际训练结果所指示的所述实际资源占用信息不匹配的情况下,根据所述预测资源占用信息与所述实际资源占用信息的比对结果,生成当前次训练所述待训练模型的第一资源调度方案;
对获取到的各个子模型的任务参数进行处理,得到各个子模型的任务参数组合,将各个子模型的任务参数组合分发至对应所述开发平台;
各个所述开发平台分别按照所述第一资源调度方案指示的对应子模型的第二资源调度方案,调用计算资源,将各自对应的所述任务参数组合作为对应子模型的训练数据进行并行训练,得到各个子模型的输出结果,并将各个子模型的输出结果发送至任务管理平台;
所述任务管理平台将各个子模型的输出结果聚合得到实际训练结果,并进行验证,并在验证不合格的情况下,返回执行获取所述待训练模型的前一次训练输出的实际训练结果的步骤,并调整所述任务参数,直至所述实际训练结果验证通过为止。
在一些实施例中,所述根据所述预测资源占用信息与所述实际资源占用信息的比对结果,生成当前次训练所述待训练模型的第一资源调度方案,包括:
在所述比对结果指示所述实际资源占用信息中的计算资源超过所述预测资源占用信息中的计算资源的第一设定值的情况下,调整当前次所述待训练模型训练过程的计算资源大于前一次所述待训练模型训练过程的计算资源,生成所述第一资源调度方案。
在一些实施例中,所述根据所述预测资源占用信息与所述实际资源占用信息的比对结果,调整当前次所述待训练模型训练过程的资源调度方案,生成第一资源调度方案,包括:
在所述比对结果指示所述实际资源占用信息中的网络带宽超过所述预测资源占用信息中的网络带宽的第二设定值的情况下,调整当前次所述待训练模型训练过程的网络带宽大于前一次所述待训练模型训练过程的网络带宽,生成所述第一资源调度方案。
在一些实施例中,所述模型训练方法还包括:
在所述预测资源占用信息与所述实际训练结果所指示的所述实际资源占用信息匹配的情况下,根据所述预测资源占用信息生成第一资源调度方案。
在一些实施例中,所述模型训练方法还包括:
在检测出不存在所述待训练模型的前一次训练输出的实际训练结果的情况下,根据所述预测资源占用信息生成第一资源调度方案。
在一些实施例中,在所述根据所述预测资源占用信息与所述实际资源占用信息的比对结果,生成当前次训练所述待训练模型的第一资源调度方案之后,还包括:
所述任务管理平台对所述第一资源调度方案进行处理,得到各个子模型的第三资源调度方案,并将各个子模型的第三资源调度方案分发至对应所述开发平台;
各个所述开发平台分别按照各自对应的所述第三资源调方案,调用计算资源,将各自对应的所述任务参数组合作为对应子模型的训练数据进行并行训练,得到各个子模型的输出结果,并将各个子模型的输出结果发送至任务管理平台。
在一些实施例中,在迭代训练过程中,所述实际训练结果验证不合格的情况下,所述模型训练方法还包括:
所述任务管理平台根据对所述实际训练结果进行验证的验证结果,对各个子模型的结构信息进行调整,确定调整后的各个子模型的结构信息,将各个子模型的结构信息分发至对应所述开发平台;
各个所述开发平台根据调整后的各个子模型的结构信息,重新部署子模型,得到更新后的子模型,以基于所述更新后的子模型进行模型训练。
在一些实施例中,所述根据对所述实际训练结果进行验证的验证结果,对各个子模型的结构信息进行调整,确定调整后的各个子模型的结构信息,包括:
根据所述验证结果所指示的验证未通过的原因为多个所述子模型中的目标子模型上的目标权重不合理,对所述目标子模型上的目标权重的原始值进行调整,确定调整后的所述目标权重的调整值。
在一些实施例中,所述根据对所述实际训练结果进行验证的验证结果,对各个子模型的结构信息进行调整,确定调整后的各个子模型的结构信息,包括:
根据所述验证结果所指示的验证未通过的原因为多个所述子模型中的目标子模型的网络架构不合理,对所述目标子模型的原始网络架构进行调整,确定调整后的所述目标子模型的网络架构。
在一些实施例中,所述将各个子模型的结构信息分发至对应所述开发平台,包括:
对各个子模型的结构信息进行加密,将各个子模型加密后的结构信息发至对应所述开发平台。
在一些实施例中,所述将各个子模型的任务参数组合分发至对应所述开发平台,包括:
对各个子模型的任务参数组合进行加密,将各个子模型加密后的任务参数组合发至对应所述开发平台。
第二方面,本公开实施例还提供了一种模型训练系统,包括任务管理平台和联邦集群,所述联邦集群包括多个开发平台,每个开发平台部署有对应的子模型,各个子模型构成目标任务对应的待训练模型;所述任务管理平台包括预测模块、方案生成模块、参数聚合模块、模型分发模块和聚合验证模块;
所述预测模块,被配置为根据获取到的目标任务的属性信息和当前系统状态,预测训练所述目标任务的待训练模型所需的资源占用情况,得到预测资源占用信息;
所述方案生成模块,被配置为在检测出存储有所述待训练模型的前一次训练输出的实际训练结果的情况下,获取所述待训练模型的前一次训练输出的实际训练结果,并得到所述实际训练结果指示的、训练所述待训练模型过程的实际资源占用信息;在所述预测资源占用信息与所述实际训练结果所指示的所述实际资源占用信息不匹配的情况下,根据所述预测资源占用信息与所述实际资源占用信息的比对结果,生成当前次训练所述待训练模型的第一资源调度方案;
所述参数聚合模块,被配置为对获取到的各个子模型的任务参数进行处理,得到各个子模型的任务参数组合,并将各个子模型的任务参数组合发送至所述模型分发模块;以及,响应于接收到验证结果,调整任务参数;
所述模型分发模块,被配置为将各个子模型的任务参数组合分发至对应所述开发平台;
各个所述开发平台,分别被配置为按照所述第一资源调度方案指示的对应子模型的第二资源调度方案,调用计算资源,将各自对应的所述任务参数组合作为对应子模型的训练数据进行并行训练,得到各个子模型的输出结果,并将各个子模型的输出结果发送至所述聚合验证模块;
所述聚合验证模块,被配置为将子模型的训练结果聚合形成所述实际训练结果,并进行验证,并在验证不合格的情况下,向所述参数聚合模块发送验证结果,直至所述实际训练结果验证通过为止。
第三方面,本公开实施例还提供了一种计算机设备,其中,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面中任一项所述的模型训练方法的步骤。
第四方面,本公开实施例还提供了一种计算机非瞬态可读存储介质,其中,该计算机非瞬态可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面中任一项所述的模型训练方法的步骤。
附图说明
图1为本公开实施例提供的模型训练方法的流程图;
图2为本公开实施例提供的模型训练方法的具体实施流程图;
图3为本公开实施例提供的模型训练系统的示意图;
图4为本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
在本公开中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在相关技术中,联邦学习作为一种分布式机器学习方法,旨在解决模型训练的效率问题,它允许多个参与方在保持数据隐私的前提下,联合训练一个共享的模型。然而,相关的联邦学习系统主要集中在如何在多个设备上部署子模型实现联合训练的过程,并没有考虑在实际训练过程中各种计算资源如何有效的调度和分配,因此在联邦学习的基础上,进一步提高大规模模型高效并行训练效率的需求往往难以实现。
另外,在深度学习领域,模型并行训练旨在解决单个模型太大无法在一台机器的内存中完全存放的问题。在模型并行训练过程中,神经网络模型被分割为各个子模型,部署在不同的硬件资源上运行,最后在必要时同步结果。然而,这种并行训练的方式在调度和管理各个分布式子模型时可能会遇到困难。
另外,数据并行训练相对于模型并行训练,是另一种并行化策略,它涉及将训练集切分成几个较小的子集,并将这些子集分配到不同的处理器或机器进行并行处理。每个处理器使用其所分配的数据子集训练模型的副本,然后所有处理器的结果会被聚合起来以更新模型。尽管数据并行可以在一定程度上提高训练速度,但各个处理器之间的有效通信和同步较为困难。处理器之间通信困难的原因包括:1)数据分布和同步:每个处理器处理数据的一个子集,这意味着为了获得整个模型的更新,需要将这些处理器的结果有效地聚合。这需要高效的通信机制来确保所有处理器的结果能被及时且正确地合并。2)网络延迟和带宽限制:在分布式系统中,处理器可能分布在不同的物理位置。这会导致网络延迟和带宽限制,影响处理器间的通信效率。3)资源管理和负载平衡:确保所有处理器都有效工作且不会因为某些处理器的延迟而闲置,是另一项挑战。这需要精确的资源管理和负载平衡策略。
另外,分布式深度学习:随着深度学习模型和训练数据集的规模日益增大,分布式深度学习成为了一种有效的解决方案。分布式深度学习利用多台机器的计算和存储资源,将大规模的深度学习任务分解为一系列可在单个或多个计算节点上处理的子任务。然而,如何有效地进行任务分解和资源调度,以及如何在分布式环境中保证模型训练的稳定性和效率,仍然是当前研究的重点。
鉴于此,本公开实施例提供了一种模型训练方法,其实质上消除了由于相关技术的限制和缺陷而导致的问题中的一个或多个。
为了便于理解本公开实施例,首先对本公开实施例中涉及到的特殊名词进行详细说明。
联邦学习(Federated Learning):是一种机器学习框架,其中多个参与者联合训练一个模型,但每个参与者的数据在本地保持隐私。
深度学习(Deep Learning):一种人工智能(AI)技术,它模拟人类的神经网络来解析和学习数据。
并行系统(Parallel Systems):由多个处理器组成的系统,这些处理器可以同时处理多个不同的任务。
资源调度(Resource Scheduling):在并行和分布式计算系统中,资源调度是指如何有效地分配和管理计算资源以提高系统的整体性能。
AI开发平台(AIDevelopment Platform):提供用于构建,训练,和部署AI模型的软件和硬件资源的环境。
联邦集群(Federated Clusters):本公开中是指B1、B4、B11、B9等AI开发平台所组成的并行处理网络,每一个开发平台都有对应的服务器和计算资源。
网络信道(Network Channel):本公开中指的是连接任务管理后台与各联邦集群的通信路径,负责传输子模型及其参数。
服务器(Server):在公开中服务器是指为AI开发平台提供计算资源的硬件设备。
计算资源(Computational Resources):用于执行深度学习或者机器学习任务的硬件或者软件资源,包括但不限于CPU,GPU,内存等。
第一方面,本公开实施例还提供了一种模型训练方法,其执行主体为模型训练系统主要包括任务管理平台和联邦集群。联邦集群包括多个开发平台,每个开发平台部署有对应的子模型,各个子模型构成目标任务对应的待训练模型。
其中,任务管理平台和开发平台是通过硬件支撑的软件,该硬件可以理解为具有一定计算能力的计算机设备。
示例性的,开发平台可以是部署在不同现地的AI开发平台,例如B1、B4、B11、B9等AI开发平台。同时,现地组织的AI开发平台,会在功能上进行剪裁,如部分现地只需要用到开发平台的数据标注和模型训练的功能;同时也会做针对性的开发,如B9开发平台是以工业平台的形式进行交付,主要功能也与产线相关,但计算资源和平台整体架构与AI开发平台相同。
图1为本公开实施例提供的模型训练方法的流程图,如图1所示,包括步骤S11~S17。
S11、任务管理平台根据获取到的目标任务的属性信息和当前系统状态,预测训练目标任务的待训练模型所需的资源占用情况,得到预测资源占用信息。
目标任务可以是预先建立的、需要通过深度学习来统计分析以实现某一目标需求的任务。例如大型医院希望通过神经网络中的深度学习来分析患者的病历的任务;又或者,大型工厂希望通过神经网络中的深度学习来统计分析产线的不良原因或者制造数据等等;又或者,气候变化预测任务;又或者,自动驾驶场景下的路况分析任务;又或者,语音识别任务等等;
目标任务的属性信息主要包括目标任务的特性,体现在目标任务的数据大小和任务复杂性方面,例如生产线上各个工序(沉积、光刻、刻蚀等)的参数的大小和参数的复杂程度。
当前系统是指用于训练待训练模型的系统,由多个不同开发平台上的处理器组成的并行系统,这些处理器可以同时进行子模型的并行训练。当前系统状态是指当前系统的计算资源使用情况和网络状况。其中,计算资源使用情况例如包括联邦集群中各个开发平台的CPU、GPU使用率,内存使用量;网络状况例如包括联邦集群中各个开发平台的网络带宽的使用情况和响应延迟等。
需要说明的是,如果在每个屏幕生产完成之前得到训练完成的大模型(也即待训练模型),那么整个待训练模型的训练开始直至完成的过程必须非常迅速。如果此时模型训练系统的计算资源有限,那么后续训练过程就可能需要损失部分关键参数的预测,或者降低预测的频率。因此,需要根据当前系统状态预测训练目标任务的待训练模型所需的资源占用情况,以提高大模型训练效率。
本步骤中目标任务的属性信息和当前系统状态通常可以以结构化数据的形式表示,例如JSON、XML等形式表示,从而方便数据交互。
启动预测任务,根据目标任务的特性和当前系统的资源状况,对后续训练待训练模型所需的资源占用情况进行预测,以得到预测资源占用信息。示例性的,预测过程可以采用但不限于线性回归、神经网络、随机森林等算法进行资源占用信息的预测。
预测资源占用信息用于表征后续训练待训练模型可能需要的计算资源、网络带宽等等的一个可能性。
需要说明的是,联邦集群输出的待训练模型的实际训练结果,将存储至任务管理平台。任务管理平台判断内部是否存储有待训练模型的前一次训练输出的实际训练结果;如果有,则顺序执行步骤S12;否则,执行下述的S210。
S12、任务管理平台在存储有待训练模型的前一次训练输出的实际训练结果的情况下,获取待训练模型的前一次训练输出的实际训练结果,并得到实际训练结果指示的、训练待训练模型过程的实际资源占用信息。
实际训练结果包括各个子模型的任务参数、性能指标、用于训练待训练模型的实际资源占用信息。实际资源占用信息区别于预测资源占用信息,不是预测结果,而是实际结果。实际资源占用信息用于表征训练待训练模型过程中实际调用的计算资源。
本步骤获取的是前一次训练输出的实际训练结果,也就是前一次训练待训练模型过程中实际调用的资源占用情况。
任务管理平台判断预测资源占用信息与实际训练结果所指示的实际资源占用信息是否匹配;如果不匹配,则顺序执行步骤S13;如果匹配,则执行下述的S210。
S13、任务管理平台在预测资源占用信息与实际训练结果所指示的实际资源占用信息不匹配的情况下,根据预测资源占用信息与实际资源占用信息的比对结果,生成当前次训练待训练模型的第一资源调度方案。
比对结果包括表示实际资源占用信息中的哪一项信息与预测资源占用信息的偏差较大,从而根据比对结果针对性的生成当前次训练待训练模型的第一资源调度方案。
第一资源调度方案包括各个子模型训练所需的计算资源、网络带宽等等。因此,将第一资源调度方案解析,得到各个子模型分别对应的第二资源调度方案,分发至对应的开发平台。
S14、任务管理平台对获取到的各个子模型的任务参数进行处理,得到各个子模型的任务参数组合,将各个子模型的任务参数组合分发至对应开发平台。
对各个子模型的任务参数进行处理,具体可以是优化和聚合来自各个子模型的任务参数,例如可以采用梯度下降、随机梯度下降等优化算法,对各个子模型的任务参数进行优化和聚合,确保各个子模型的任务参数能够有效地合并,得到各个子模型的最佳任务参数的组合,也即任务参数组合。
需要说明的是,在分布式训练过程中,每个节点(或开发平台中的服务器)独立地训练子模型,使用其所分配的最佳任务参数的组合。本步骤S14进行参数聚合过程,主要是分布式训练过程中分散的子模型的训练结果整合起来,也即任务参数的更新,确保各个子模型的任务参数能够有效地合并,以便能在全局范围内更新和改进大模型。
优化和聚合来自各个子模型的任务参数主要过程包括:数据获取、优化算法应用和参数同步。其中,数据获取具体包括:历史阶段从开发平台收集到有各个子模型训练输出的子模型的任务参数,该任务参数例如包括权重、偏差等。可以直接从数据管理模块中获取对应的任务参数。在目标任务为统计分析生产线上各个工序的质量的情况下,各个子模型的任务参数包括历史收集的不同工序(沉积、光刻、刻蚀等)的参数,如温度、压力、时间等参数,和/或,前一次训练过程输出的子模型的任务参数。优化算法应用具体包括:应用优化算法(如梯度下降、随机梯度下降)对收集到的任务参数进行处理。此过程旨在通过找到最优的参数值来最小化损失函数。参数同步具体包括:经过优化的任务参数在所有的训练开发平台中同步更新。这确保了每个开发平台都使用相同的、最新的任务参数组合继续训练。
另外,有效的参数聚合还需要高效的网络通信,以最小化从各节点传输参数更新所需的时间。各个子模型所部署的开发平台通过各自的网络信道与任务管理平台通信连接。任务管理平台通过各个网络信道,将各个子模型的任务参数组合同步分发至对应的开发平台上进行并行训练,这样可以显著提高训练速度。
网络信道需要预先设置和优化传输数据时的网络带宽、延迟、数据安全性以及可能传输错误情况下的一系列解决方案。网络信道同样需要不定期维护和调整。通过网络信道传输数据,可以有效解决处理器之间有效通信和数据同步困难的问题。
另外,本公开利用并行计算来加快处理和优化参数聚合的速度。另外,考虑到网络不稳定或开发平台故障的情况,本公开任务管理平台还设置有容错机制,确保参数聚合的鲁棒性。
在实际应用中,本步骤S14可以通过高级的深度学习框架(如TensorFlow或PyTorch)实现,这些框架提供了分布式训练和参数聚合的内置支持。
S15、各个开发平台分别按照第一资源调度方案指示的对应子模型的第二资源调度方案,调用计算资源,将各自对应的任务参数组合作为对应子模型的训练数据进行并行训练,得到各个子模型的输出结果,并将各个子模型的输出结果发送至任务管理平台。
以多个开发平台中的一个开发平台为例,开发平台接收到子模型的第二资源调子方案,按照该第二资源调方案调用计算资源,执行子模型训练的过程。
示例性的,以子模型为预测刻蚀工序表现的模型为例,子模型的输入为任务参数组合,也即刻蚀的温度、刻蚀压力、刻蚀时间等参数,执行子模型的训练过程,输出子模型预测出的刻蚀工序表现,例如在任务参数组合这样的条件下,刻蚀工序表现良好或存在较大误差等。
子模型的输出结果包括子模型的参数、性能指标、用于训练子模型的资源占用情况。
其中,子模型的参数可能包括任务参数和结构参数,其中任务参数例如温度、压力或时间;结构参数例如某一特征的权重等等。性能指标表示与目标任务相关的性能结果,例如刻蚀工序表现、产线的不良原因、制造产品的合格率、气候的预测结果及其置信度(或者说准确性)、路况分析结果及其置信度、语音识别结果及其置信度等。
同理,其他的开发平台同样并行执行上述过程,均得到各自子模型的输出结果。
本公开通过第一资源调度方案指示的对应子模型的第二资源调度方案,动态分配更多或更少的计算资源用于进行子模型训练,实现了对模型训练系统的计算资源的动态调度和优化,从而确保模型训练系统的训练效率和稳定性。
S16、任务管理平台最终将各个子模型的输出结果聚合得到实际训练结果,并进行验证。
S17、任务管理平台判断验证是否合格,且在验证不合格的情况下,返回执行S12,并调整任务参数,直至实际训练结果验证通过为止。
验证过程主要是验证实际训练结果中的性能指标是否存在较大偏差,如果存在较大偏差,说明模型还未收敛,需要调整任务参数后继续训练;如果偏差较小,说明模型收敛,结束迭代训练过程。
需要说明的是,对于一个子模型来讲,每次迭代训练过程中,输入的任务参数组合都不同。也就是说,每次迭代训练过程中,都需要调整任务参数,那么对该任务参数进行处理后得到的任务参数组合就不同。
调整任务参数的策略可以是根据验证结果指示的某一性能表现不佳,着重调整该性能对应的任务参数。例如,刻蚀工序的输出结果的损失值较大,或者置信度较低,那么对应调整刻蚀工序的任务参数,以期待在下一次训练过程中改善性能表现。这里通过验证结果进行实时调整和优化,可以确保待训练模型的稳定性和精度,提升待训练模型的性能。
示例性的,OLED显示屏的生产过程需要极高的精度和质量控制。生产线的任何微小偏差都可能导致显示效果的缺陷。OLED屏幕制备过程涉及多个精密工序,如沉积、光刻、刻蚀等工序。每个工序的任务参数(如温度、压力、时间等)都必须精确控制。可以将模型训练完成时最终优化后的任务参数组合反馈至实际生产线上,用于调整实际沉积、光刻、刻蚀等工序,通过模型训练过程实时分析和监控OLED屏幕的制备过程,并及时调整任务参数,确保了整个生产过程不仅在模型训练阶段进行优化,还在实际生产阶段进行优化。
本公开实施例在多个AI开发平台上进行联邦学习,结合优化后的第一资源调度方案,统一调度和管理计算资源,从而协调各个AI开发平台的计算资源,能够在算力有限的条件下有效且合理地进行资源调度,节省了模型训练的计算资源,提高了模型训练的并行性能和效率。另外,任务管理平台还对各个子模型的任务参数进行优化和聚合,提高了模型的整体性能,同时统一分发各个子模型的任务参数组合,以实现高效并行训练,确保模型训练的稳定性和精度。另外,本公开采用联邦集群,在联邦学习的框架下,各AI开发平台的数据不需要移动或共享,实现在不暴露任务参数的情况下进行训练,从而保护了数据的隐私。另外,由于本公开基于分布式的联邦学习,因此可以根据目标任务的需求和系统资源状况,灵活地增加或减少AI开发平台,提高了系统的扩展性。
与此同时,本公开实施例上述步骤S11~S17,分别经过预测资源占用、统计实际资源占用、生成资源调度方案、任务参数的处理与分发、并行训练与结果聚合等过程,这种并行训练的方式优化了对各个分布式子模型的调度和管理。
在一些实施例中,承接上述S11,可以参见图2所示的步骤S22和S210。任务管理平台判断出内部不存在待训练模型的前一次训练输出的实际训练结果,在检测出不存在待训练模型的前一次训练输出的实际训练结果的情况下,根据预测资源占用信息生成第一资源调度方案。
预测资源占用信息用于表征后续训练待训练模型可能需要的计算资源、网络带宽等等的一个可能性。因此,预测资源占用信息中包含训练待训练模型可能需要的计算资源和网络带宽,按照预测资源占用信息中指示的待训练模型可能需要的计算资源和网络带宽,生成第一资源调度方案。
又或者,在内部不存在待训练模型的前一次训练输出的实际训练结果的情况下,将预设资源占用信息作为第一资源调度方案。其中,预设资源占用信息可以是基于与目标任务相同类型的任务,在训练过程中的一个较为合理的资源占用信息。
在一些实施例中,承接上述S12,可以参见图2所示的步骤S24和S210。任务管理平台判断出预测资源占用信息与实际训练结果所指示的实际资源占用信息匹配,在预测资源占用信息与实际训练结果所指示的实际资源占用信息匹配的情况下,根据预测资源占用信息生成第一资源调度方案。
具体地,可以按照预测资源占用信息中指示的待训练模型可能需要的计算资源和网络带宽,生成第一资源调度方案。
图2为本公开实施例提供的模型训练方法的具体实施流程图,如图2所示,包括步骤S21~S210。
S21、任务管理平台根据获取到的目标任务的属性信息和当前系统状态,预测训练目标任务的待训练模型所需的资源占用情况,得到预测资源占用信息。
详细说明参见步骤S11,重复部分不再赘述。
S22、任务管理平台判断内部是否存储有待训练模型的前一次训练输出的实际训练结果;如果有,则顺序执行步骤S23;否则,执行下述的S210。
S23、任务管理平台获取待训练模型的前一次训练输出的实际训练结果,并得到实际训练结果指示的、训练待训练模型过程的实际资源占用信息。
详细说明参见步骤S12,重复部分不再赘述。
S24、任务管理平台判断预测资源占用信息与实际训练结果所指示的实际资源占用信息是否匹配;如果不匹配,则顺序执行步骤S25;如果匹配,则执行下述的S210。
S25、任务管理平台根据预测资源占用信息与实际资源占用信息的比对结果,生成当前次训练待训练模型的第一资源调度方案。
详细说明参见步骤S13,重复部分不再赘述。
S26、任务管理平台对获取到的各个子模型的任务参数进行处理,得到各个子模型的任务参数组合,将各个子模型的任务参数组合分发至对应开发平台。
详细说明参见步骤S14,重复部分不再赘述。
S27、各个开发平台分别按照第一资源调度方案指示的对应子模型的第二资源调度方案,调用计算资源,将各自对应的任务参数组合作为对应子模型的训练数据进行并行训练,得到各个子模型的输出结果,并将各个子模型的输出结果发送至任务管理平台。
详细说明参见步骤S15,重复部分不再赘述。
S28、任务管理平台最终将各个子模型的输出结果聚合得到实际训练结果,并进行验证。
详细说明参见步骤S16,重复部分不再赘述。
S29、任务管理平台判断验证是否合格,且在验证不合格的情况下,返回执行S22,并调整任务参数,直至实际训练结果验证通过为止。若合格,则结束任务。
S210、根据预测资源占用信息生成第一资源调度方案。
在一些实施例中,针对S13,比对结果用于表征实际资源占用信息与预测资源占用信息不匹配的实际原因,二者可能存在的不匹配的原因包括但不仅限于:计算资源偏差较大,网络带宽偏差较大,实际传感器的精度偏差较大,传感器的响应时间偏差较大等等。
可选地,在比对结果指示实际资源占用信息中的计算资源超过预测资源占用信息中的计算资源的第一设定值的情况下,调整当前次待训练模型训练过程的计算资源大于前一次待训练模型训练过程的计算资源,生成第一资源调度方案。
也就是说,当前次待训练模型的第一资源调度方案中指示的计算资源的资源量要大于前一次待训练模型的第一资源调度方案中指示的计算资源的资源量。
可选地,在比对结果指示实际资源占用信息中的网络带宽超过预测资源占用信息中的网络带宽的第二设定值的情况下,调整当前次待训练模型训练过程的网络带宽大于前一次待训练模型训练过程的网络带宽,生成第一资源调度方案。
也就是说,当前次待训练模型的第一资源调度方案中指示的网络带宽要大于前一次待训练模型的第一资源调度方案中指示的网络带宽。
在一些实施例中,本公开不仅能够对任务参数进行优化和聚合,还可以对资源调度方案进行优化处理,具体还包括在生成当前次训练待训练模型的第一资源调度方案之后,对第一资源调度方案进行处理,得到各个子模型的第三资源调度方案,并将各个子模型的第三资源调度方案分发至对应开发平台。
其中,第一资源调度方案为训练整个待训练模型的资源调度方案,任务管理平台根据实际联邦集群中各个开发平台的资源状况,以及子模型的训练量,例如利用线性回归、神经网络、随机森林等算法,重新规划部署各个子模型的资源调度方案,统筹合理的规划出各个子模型的计算资源,生成各个子模型对应的第三资源调度方案,并发送至对应的开发平台。
之后,各个开发平台分别按照各自对应的第三资源调方案,调用计算资源,将各自对应的任务参数组合作为对应子模型的训练数据进行并行训练,得到各个子模型的输出结果,并将各个子模型的输出结果发送至任务管理平台。
在一些实施例中,造成实际训练结果验证不合格的原因可能有多种,而不同原因下迭代训练的过程不同。例如步骤S17指出的直接调整任务参数,进行迭代训练。又或者,本实施例指出的对各个子模型的结构信息进行调整,进行迭代训练。
具体地,在迭代训练过程中,实际训练结果验证未通过的情况下,还可以任务管理平台根据对实际训练结果进行验证的验证结果,对各个子模型的结构信息进行调整,确定调整后的各个子模型的结构信息,将各个子模型的结构信息分发至对应开发平台;各个开发平台根据调整后的各个子模型的结构信息,重新部署子模型,得到更新后的子模型,以基于更新后的子模型进行模型训练。
子模型的结构信息包括子模型的网络架构和子模型在某些特定特征下的权重设置。
可选地,可以根据验证结果所指示的验证未通过的原因为多个子模型中的目标子模型上的目标权重不合理,对目标子模型上的目标权重的原始值进行调整,确定调整后的目标权重的调整值。以目标任务为图像识别任务为例,联邦集群中部署多个子模型,每个子模型负责识别不同种类的对象,其中目标子模型负责识别猫的特征,但在训练过程中,验证结果指示识别猫的耳朵形状或尾巴长度等特征这一性能低于预期。在这种情况下,可以确定导致验证不合格的原因在于目标子模型在识别猫的特定特征上的权重设置不合理,因此可以对目标子模型上的目标权重(也即表示识别猫的特定特征上的权重)的原始值进行调整,确定调整后的目标权重的调整值。
如果仅通过调整权重设置仍然不能满足验证合格条件的情况下,可以选择更深入地调整子模型的网络架构的方式解决问题。
可选地,可以根据验证结果所指示的验证未通过的原因为多个子模型中的目标子模型的网络架构不合理,对目标子模型的原始网络架构进行调整,确定调整后的目标子模型的网络架构。延续上例,如果目标子模型是一个浅层神经网络,无法捕捉到猫的特定特征的复杂特性,在这种情况下,可以确定导致验证不合格的原因在于目标子模型网络架构不合格,因此可以对目标子模型的原始网络架构进行调整,例如引入新的网络层(如卷积神经网络CNN),从而更有效地处理图像数据。
本实施例通过对子模型的网络架构和/或权重设置进行调整,可以显著提升子模型的性能,从而使得联邦集群中多个子模型在目标任务上的表现更加精确和鲁棒。整个过程充分体现了任务管理平台的灵活性和强大的功能,在子模型性能低于预期时,可以通过多种方式进行优化和提升。
在一些实施例中,针对步骤S14,可以直接将各个子模型的任务参数组合分发至对应开发平台。又或者,还可以先对任务参数组合进行加密,再分发。具体地,对各个子模型的任务参数组合进行加密,将各个子模型加密后的任务参数组合发至对应开发平台,以确保在训练模型的过程中,用户的数据不会被泄露,充分保护用户隐私。
本实施例所采用的加密技术可以包括但不仅限于差分隐私技术或同态加密技术等。通过使用同态加密技术和联邦集群在分布式训练过程中对数据进行加密处理,从而在不暴露用户隐私数据的情况下进行训练。
其中,差分隐私技术可以通过添加噪声来确保任务参数在在聚合过程中的匿名性。经过同态加密后的任务参数组合,在分发至开发平台后,开发平台允许直接对加密后的任务参数组合进行处理,而无需解密。
在一些实施例中,可以直接将对各个子模型的结构信息分发至对应开发平台。又或者,还可以先对各个子模型的结构信息进行加密,再分发。具体地,对各个子模型的任务参数组合进行加密,将各个子模型加密后的结构信息发至对应开发平台,以确保在训练子模型的过程中,子模型优化后的结构信息不会被泄露,充分保护敏感数据。
其中,差分隐私技术可以通过添加噪声来确保结构信息在在聚合过程中的匿名性。经过同态加密后的结构信息,在分发至开发平台后,开发平台允许直接对加密后的结构信息进行处理,而无需解密。
本公开通过对分发至开发平台的数据进行加密,确保处于传输过程中的数据在各个阶段的隐私安全。通过适当的隐私保护技术,使得模型训练系统可以在不泄露敏感信息的情况下,充分利用接收到的数据进行深度学习训练。这增强了模型训练系统的安全性和可信度。
本公开上述实施例及其结合,最终能够提供一种灵活、高效、安全的联邦集群模型训练方法,结合优化后的资源调度方案,可以有效地调度和管理各个AI开发平台的计算资源,提高模型训练的并行性能和效率,以满足不同目标任务场景下的深度学习训练需求。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
第二方面,本公开实施例中还提供了与模型训练方法对应的模型训练系统,由于本公开实施例中的装置解决问题的原理与本公开实施例上述模型训练方法相似,因此模型训练系统的具体实施可以参见上述第一方面中关于模型训练方法的具体实施例,重复之处不再赘述。
图3为本公开实施例提供的模型训练系统的示意图,如图3所示,模型训练系统包括任务管理平台31和联邦集群32,联邦集群32包括多个开发平台321,每个开发平台321部署有对应的子模型,各个子模型构成目标任务对应的待训练模型;任务管理平台31包括预测模块311、方案生成模块312、参数聚合模块313、模型分发模块314和聚合验证模块315。
预测模块311,被配置为根据获取到的目标任务的属性信息和当前系统状态,预测训练目标任务的待训练模型所需的资源占用情况,得到预测资源占用信息。
需要说明的是,本公开实施例中的预测模块311被配置为执行上述模型训练方法中的步骤S11,重复部分不再赘述。
方案生成模块312,被配置为在检测出存储有待训练模型的前一次训练输出的实际训练结果的情况下,获取待训练模型的前一次训练输出的实际训练结果,并得到实际训练结果指示的、训练待训练模型过程的实际资源占用信息;在预测资源占用信息与实际训练结果所指示的实际资源占用信息不匹配的情况下,根据预测资源占用信息与实际资源占用信息的比对结果,生成当前次训练待训练模型的第一资源调度方案。
需要说明的是,本公开实施例中的方案生成模块312被配置为执行上述模型训练方法中的步骤S12和S13,重复部分不再赘述。
参数聚合模块313,被配置为对获取到的各个子模型的任务参数进行处理,得到各个子模型的任务参数组合,并将各个子模型的任务参数组合发送至模型分发部署模块314;以及,响应于接收到验证结果,调整任务参数。
需要说明的是,本公开实施例中的参数聚合模块313被配置为执行上述模型训练方法中的步骤S14中的确定各个子模型的任务参数组合的步骤,以及执行上述步骤S17中在验证不合格的情况下调整任务参数的步骤,重复部分不再赘述。
模型分发部署模块314,被配置为将各个子模型的任务参数组合分发至对应开发平台321。
各个开发平台321,分别被配置为按照第一资源调度方案指示的对应子模型的第二资源调度方案,调用计算资源,将各自对应的任务参数组合作为对应子模型的训练数据进行并行训练,得到各个子模型的输出结果,并将各个子模型的输出结果发送至聚合验证模块315。
需要说明的是,本公开实施例中的各个开发平台321被配置为执行上述模型训练方法中的步骤S15,重复部分不再赘述。
聚合验证模块315,被配置为将子模型的训练结果聚合形成实际训练结果,并进行验证,并在验证不合格的情况下,向参数聚合模块313发送验证结果,直至实际训练结果验证通过为止。
需要说明的是,本公开实施例中的聚合验证模块315被配置为执行上述模型训练方法中的步骤S16和S17中的判断验证是否合格,且在验证不合格的情况下,返回执行S12的步骤,重复部分不再赘述。
本公开实施例在多个AI开发平台321上进行联邦学习,结合优化后的第一资源调度方案,统一调度和管理计算资源,从而协调各个AI开发平台321的计算资源,能够在算力有限的条件下有效且合理地进行资源调度,节省了模型训练的计算资源,提高了模型训练的并行性能和效率。另外,参数聚合模块313对各个子模型的任务参数进行优化和聚合,提高了模型的整体性能,同时模型分发部署模块314统一分发各个子模型的任务参数组合,以实现高效并行训练,确保模型训练的稳定性和精度。另外,本公开采用联邦集群32,在联邦学习的框架下,各AI开发平台321的数据不需要移动或共享,实现在不暴露任务参数的情况下进行训练,从而保护了数据的隐私。另外,由于本公开基于分布式的联邦学习,因此可以根据目标任务的需求和系统资源状况,灵活地增加或减少AI开发平台321,提高了系统的扩展性。
在一些实施例中,方案生成模块312根据预测资源占用信息与实际资源占用信息的比对结果,生成当前次训练待训练模型的第一资源调度方案,具体包括在比对结果指示实际资源占用信息中的计算资源超过预测资源占用信息中的计算资源的第一设定值的情况下,调整当前次待训练模型训练过程的计算资源大于前一次待训练模型训练过程的计算资源,生成第一资源调度方案。
在一些实施例中,方案生成模块312根据预测资源占用信息与实际资源占用信息的比对结果,生成当前次训练待训练模型的第一资源调度方案,具体包括在比对结果指示实际资源占用信息中的网络带宽超过预测资源占用信息中的网络带宽的第二设定值的情况下,调整当前次待训练模型训练过程的网络带宽大于前一次待训练模型训练过程的网络带宽,生成第一资源调度方案。
在一些实施例中,方案生成模块312还被配置为在预测资源占用信息与实际训练结果所指示的实际资源占用信息匹配的情况下,根据预测资源占用信息生成第一资源调度方案。
需要说明的是,本公开实施例中的方案生成模块312还被配置为执行上述模型训练方法中的步骤S24和S210,重复部分不再赘述。
在一些实施例中,方案生成模块312还被配置为在检测出不存在待训练模型的前一次训练输出的实际训练结果的情况下,根据预测资源占用信息生成第一资源调度方案。
需要说明的是,本公开实施例中的方案生成模块312还被配置为执行上述模型训练方法中的步骤S22和S210,重复部分不再赘述。
在一些实施例中,参数聚合模块313还被配置为对第一资源调度方案进行处理,得到各个子模型的第三资源调度方案。
模型分发部署模块314还被配置为并将各个子模型的第三资源调度方案分发至对应开发平台321。
各个开发平台321分别被配置为按照各自对应的第三资源调方案,调用计算资源,将各自对应的任务参数组合作为对应子模型的训练数据进行并行训练,得到各个子模型的输出结果,并将各个子模型的输出结果发送至聚合验证模块315。
在一些实施例中,任务管理平台31还包括模型更新模块316。模型更新模块316被配置为根据对实际训练结果进行验证的验证结果,对各个子模型的结构信息进行调整,确定调整后的各个子模型的结构信息,将各个子模型的结构信息通过模型分发部署模块314分发至对应开发平台321;各个开发平台321分别还被配置为根据调整后的各个子模型的结构信息,重新部署子模型,得到更新后的子模型,以基于更新后的子模型进行模型训练。
在一些实施例中,模型更新模块316具体被配置为根据验证结果所指示的验证未通过的原因为多个子模型中的目标子模型上的目标权重不合理,对目标子模型上的目标权重的原始值进行调整,确定调整后的目标权重的调整值。
在一些实施例中,模型更新模块316具体被配置为根据验证结果所指示的验证未通过的原因为多个子模型中的目标子模型的网络架构不合理,对目标子模型的原始网络架构进行调整,确定调整后的目标子模型的网络架构。
上述模型更新模块316通过对子模型的网络架构和/或权重设置进行调整,可以显著提升子模型的性能,从而使得联邦集群32中多个子模型在目标任务上的表现更加精确和鲁棒。整个过程充分体现了模型更新模块316的灵活性和强大的功能,在子模型性能低于预期时,可以通过多种方式进行优化和提升。
在一些实施例中,模型分发部署模块314具体被配置为对各个子模型的结构信息进行加密,将各个子模型加密后的结构信息发至对应开发平台321,确保了结构信息在各个阶段的隐私安全。通过适当的隐私保护技术,它使得模型训练系统可以在不泄露敏感信息的情况下,充分利用任务参数进行深度学习训练,增强了模型训练系统的可信度和安全性。
在一些实施例中,模型分发部署模块314具体被配置为对各个子模型的任务参数组合进行加密,将各个子模型加密后的任务参数组合发至对应开发平台321,确保了任务参数组合在各个阶段的隐私安全。通过适当的隐私保护技术,它使得模型训练系统可以在不泄露敏感信息的情况下,充分利用任务参数进行深度学习训练,增强了模型训练系统的可信度和安全性。
在一些实施例中,模型训练系统包括数据管理模块。该数据管理模块可以集成在任务管理平台31中,也可以集成在联邦集群32所在的分布式环境中,主要确保数据管理模块可以被开发平台321访问即可。
任务管理平台31还包括数据管理模块。数据管理模块被配置为负责管理和处理所有开发平台321的数据,包括但不限于数据的收集、清洗、预处理以及分布式存储。
数据收集组件被配置为从不同来源收集任务参数;数据清洗组件被配置为读取任务参数进行清洗和格式化,消除任务参数中的噪音和异常值,并将清洗后的任务参数再次写入数据收集组件;数据预处理组件读取清洗后的任务参数,并对清洗后的任务参数进行预处理,例如归一化和编码等过程,并将预处理后的任务参数再次写入数据收集组件,以供后续参数聚合模块313读取。分布存储组件用于分布式存储不同开发平台321输出的子模型的输出结果,可供数据访问和安全组件的访问;数据访问和安全组件被配置为响应于用户访问指令,解析用户是否具备访问权限,在确定该用户具备访问权限的情况下,读取输出结果发送给用户。
可以将数据管理模块理解为一个特殊的数据库,不仅负责存储数据,还负责数据的处理和优化。
数据管理模块存储的数据包括训练集、验证集、元数据和模型数据。其中,训练集包括用于训练模型的训练样本和标签,可供模型分发部署模块314调用。验证集包括用于验证模型的验证样本和标签,可供聚合验证模块315调用,以验证模型的有效性和准确性。元数据例如包括数据的来源、特征描述等信息。元数据是描述数据的数据,它为训练集和验证集提供了背景信息和数据相关关系,可以用来改善数据处理和分析过程。例如,元数据可以描述数据是如何收集的、包含哪些特征、特征的类型(如分类或连续)、以及其他可能对模型训练和验证有用的信息。模型数据例如包括子模型的参数和子模型的网络架构等信息,可供模型分发部署模块314调用。
本实施例中数据管理模块负责数据的收集、清洗、预处理、存储,并确保了数据的可用性和安全性。其与其他模块的交互确保了整个深度学习训练需求在不同场景下的灵活、高效和安全。
本公开通过设计并实现了预测模块311和方案生成模块312的功能,不仅实现了对待训练模型所需的资源占用情况的实时预测,更是在每一次训练过程完成后,立即进行模型性能的验证,以及更细致的性能分析,提高了模型调优的效率。这种实时并且动态的资源占用情况的预测,以及第一资源调度方案的生成,能够准确地反映模型的运行状态,以及资源使用情况。
另外,传统的参数聚合方法,往往固定不变,无法根据模型性能和任务需求进行调整。而本公开通过参数聚合模块313,实现了根据子模型的性能和训练结果动态调整参数的聚合策略,这极大提高了系统的灵活性和效率,能够有效应对各种不同的任务需求。
另外,本公开通过在联邦学习环境中实现分布式并行训练和调度,提高了模型训练的效率,同时也提高了资源的利用率。这是通过模型分发部署模块314和联邦集群32的有效结合实现的。这种设计,与传统的集中式调度或者单一的分布式调度方法相比,可以更好地利用各个开发平台321的计算资源,提高模型训练系统的整体性能。
另外,本公开通过生成各个子模型的资源调度方案,既兼顾了待训练模型的全局优化,又能考虑到各个本地开发平台321的优化需求。这种调度策略,与传统的单一视角(只考虑全局或者只考虑本地)的调度策略相比,可以更加高效地利用系统资源,同时也能提高模型训练系统的鲁棒性。
另外,本公开在设计和实现过程中,始终将任务管理平台31和联邦集群32之间传输的数据作为隐私数据进行加密保护,通过联邦学习的方式,隐私数据可以在本地进行处理和训练,无需传输到中心服务器,有效保护了用户的数据隐私。
第三方面,本公开实施例还提供了一种计算机设备,图4为本公开实施例提供的一种计算机设备的结构示意图。如图4所示,本公开实施例提供一种计算机设备包括:一个或多个处理器401、存储器402、一个或多个I/O接口403。存储器402上存储有一个或多个程序,当该一个或多个程序被该一个或多个处理器执行,使得该一个或多个处理器实现如上述实施例中任一的模型训练方法;一个或多个I/O接口403连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
其中,处理器401为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器402为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)403连接在处理器401与存储器402间,能实现处理器401与存储器402的信息交互,其包括但不限于数据总线(Bus)等。
在一些实施例中,处理器401、存储器402和I/O接口403通过总线404相互连接,进而与计算设备的其它组件连接。
根据本公开的实施例,还提供一种计算机非瞬态可读存储介质。该计算机非瞬态可读存储介质上存储有计算机程序,其中,该程序被处理器执行时实现如上述实施例中任一的模型训练方法中的步骤。
特别地,根据本公开实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(Central Processing Unit,CPU)执行时,执行本公开的系统中限定的上述功能。
需要说明的是,本公开所示的计算机非瞬态可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read-OnlyMemory,EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-OnlyMemory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机非瞬态可读存储介质,该计算机非瞬态可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机非瞬态可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个相连的方框实际上可以表示基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
可以理解的是,以上实施方式仅仅是为了说明本公开的原理而采用的示例性实施方式,然而本公开并不局限于此。对于本领域内的普通技术人员而言,在不脱离本公开的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本公开的保护范围。
Claims (14)
1.一种模型训练方法,应用于模型训练系统,所述模型训练系统包括任务管理平台和联邦集群,所述联邦集群包括多个开发平台,每个开发平台部署有对应的子模型,各个子模型构成目标任务对应的待训练模型;其中,模型训练方法包括:
所述任务管理平台根据获取到的目标任务的属性信息和当前系统状态,预测训练所述目标任务的待训练模型所需的资源占用情况,得到预测资源占用信息;
在检测出存储有所述待训练模型的前一次训练输出的实际训练结果的情况下,获取所述待训练模型的前一次训练输出的实际训练结果,并得到所述实际训练结果指示的、训练所述待训练模型过程的实际资源占用信息;
在所述预测资源占用信息与所述实际训练结果所指示的所述实际资源占用信息不匹配的情况下,根据所述预测资源占用信息与所述实际资源占用信息的比对结果,生成当前次训练所述待训练模型的第一资源调度方案;
对获取到的各个子模型的任务参数进行处理,得到各个子模型的任务参数组合,将各个子模型的任务参数组合分发至对应所述开发平台;
各个所述开发平台分别按照所述第一资源调度方案指示的对应子模型的第二资源调度方案,调用计算资源,将各自对应的所述任务参数组合作为对应子模型的训练数据进行并行训练,得到各个子模型的输出结果,并将各个子模型的输出结果发送至任务管理平台;
所述任务管理平台将各个子模型的输出结果聚合得到实际训练结果,并进行验证,并在验证不合格的情况下,返回执行获取所述待训练模型的前一次训练输出的实际训练结果的步骤,并调整所述任务参数,直至所述实际训练结果验证通过为止。
2.根据权利要求1所述的模型训练方法,其中,所述根据所述预测资源占用信息与所述实际资源占用信息的比对结果,生成当前次训练所述待训练模型的第一资源调度方案,包括:
在所述比对结果指示所述实际资源占用信息中的计算资源超过所述预测资源占用信息中的计算资源的第一设定值的情况下,调整当前次所述待训练模型训练过程的计算资源大于前一次所述待训练模型训练过程的计算资源,生成所述第一资源调度方案。
3.根据权利要求1所述的模型训练方法,其中,所述根据所述预测资源占用信息与所述实际资源占用信息的比对结果,调整当前次所述待训练模型训练过程的资源调度方案,生成第一资源调度方案,包括:
在所述比对结果指示所述实际资源占用信息中的网络带宽超过所述预测资源占用信息中的网络带宽的第二设定值的情况下,调整当前次所述待训练模型训练过程的网络带宽大于前一次所述待训练模型训练过程的网络带宽,生成所述第一资源调度方案。
4.根据权利要求1所述的模型训练方法,其中,所述模型训练方法还包括:
在所述预测资源占用信息与所述实际训练结果所指示的所述实际资源占用信息匹配的情况下,根据所述预测资源占用信息生成第一资源调度方案。
5.根据权利要求1所述的模型训练方法,其中,所述模型训练方法还包括:
在检测出不存在所述待训练模型的前一次训练输出的实际训练结果的情况下,根据所述预测资源占用信息生成第一资源调度方案。
6.根据权利要求1所述的模型训练方法,其中,在所述根据所述预测资源占用信息与所述实际资源占用信息的比对结果,生成当前次训练所述待训练模型的第一资源调度方案之后,还包括:
所述任务管理平台对所述第一资源调度方案进行处理,得到各个子模型的第三资源调度方案,并将各个子模型的第三资源调度方案分发至对应所述开发平台;
各个所述开发平台分别按照各自对应的所述第三资源调方案,调用计算资源,将各自对应的所述任务参数组合作为对应子模型的训练数据进行并行训练,得到各个子模型的输出结果,并将各个子模型的输出结果发送至任务管理平台。
7.根据权利要求1所述的模型训练方法,其中,在迭代训练过程中,所述实际训练结果验证不合格的情况下,所述模型训练方法还包括:
所述任务管理平台根据对所述实际训练结果进行验证的验证结果,对各个子模型的结构信息进行调整,确定调整后的各个子模型的结构信息,将各个子模型的结构信息分发至对应所述开发平台;
各个所述开发平台根据调整后的各个子模型的结构信息,重新部署子模型,得到更新后的子模型,以基于所述更新后的子模型进行模型训练。
8.根据权利要求7所述的模型训练方法,其中,所述根据对所述实际训练结果进行验证的验证结果,对各个子模型的结构信息进行调整,确定调整后的各个子模型的结构信息,包括:
根据所述验证结果所指示的验证未通过的原因为多个所述子模型中的目标子模型上的目标权重不合理,对所述目标子模型上的目标权重的原始值进行调整,确定调整后的所述目标权重的调整值。
9.根据权利要求7所述的模型训练方法,其中,所述根据对所述实际训练结果进行验证的验证结果,对各个子模型的结构信息进行调整,确定调整后的各个子模型的结构信息,包括:
根据所述验证结果所指示的验证未通过的原因为多个所述子模型中的目标子模型的网络架构不合理,对所述目标子模型的原始网络架构进行调整,确定调整后的所述目标子模型的网络架构。
10.根据权利要求7所述的模型训练方法,其中,所述将各个子模型的结构信息分发至对应所述开发平台,包括:
对各个子模型的结构信息进行加密,将各个子模型加密后的结构信息发至对应所述开发平台。
11.根据权利要求1所述的模型训练方法,其中,所述将各个子模型的任务参数组合分发至对应所述开发平台,包括:
对各个子模型的任务参数组合进行加密,将各个子模型加密后的任务参数组合发至对应所述开发平台。
12.一种模型训练系统,其包括任务管理平台和联邦集群,所述联邦集群包括多个开发平台,每个开发平台部署有对应的子模型,各个子模型构成目标任务对应的待训练模型;所述任务管理平台包括预测模块、方案生成模块、参数聚合模块、模型分发模块和聚合验证模块;
所述预测模块,被配置为根据获取到的目标任务的属性信息和当前系统状态,预测训练所述目标任务的待训练模型所需的资源占用情况,得到预测资源占用信息;
所述方案生成模块,被配置为在检测出存储有所述待训练模型的前一次训练输出的实际训练结果的情况下,获取所述待训练模型的前一次训练输出的实际训练结果,并得到所述实际训练结果指示的、训练所述待训练模型过程的实际资源占用信息;在所述预测资源占用信息与所述实际训练结果所指示的所述实际资源占用信息不匹配的情况下,根据所述预测资源占用信息与所述实际资源占用信息的比对结果,生成当前次训练所述待训练模型的第一资源调度方案;
所述参数聚合模块,被配置为对获取到的各个子模型的任务参数进行处理,得到各个子模型的任务参数组合,并将各个子模型的任务参数组合发送至所述模型分发模块;以及,响应于接收到验证结果,调整任务参数;
所述模型分发模块,被配置为将各个子模型的任务参数组合分发至对应所述开发平台;
各个所述开发平台,分别被配置为按照所述第一资源调度方案指示的对应子模型的第二资源调度方案,调用计算资源,将各自对应的所述任务参数组合作为对应子模型的训练数据进行并行训练,得到各个子模型的输出结果,并将各个子模型的输出结果发送至所述聚合验证模块;
所述聚合验证模块,被配置为将子模型的训练结果聚合形成所述实际训练结果,并进行验证,并在验证不合格的情况下,向所述参数聚合模块发送验证结果,直至所述实际训练结果验证通过为止。
13.一种计算机设备,其中,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至11中任一项所述的模型训练方法的步骤。
14.一种计算机非瞬态可读存储介质,其中,该计算机非瞬态可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至11中任一项所述的模型训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410005668.9A CN117829313A (zh) | 2024-01-02 | 2024-01-02 | 模型训练方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410005668.9A CN117829313A (zh) | 2024-01-02 | 2024-01-02 | 模型训练方法、系统、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117829313A true CN117829313A (zh) | 2024-04-05 |
Family
ID=90518795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410005668.9A Pending CN117829313A (zh) | 2024-01-02 | 2024-01-02 | 模型训练方法、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117829313A (zh) |
-
2024
- 2024-01-02 CN CN202410005668.9A patent/CN117829313A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427681B (zh) | 边缘计算中基于资源监控的实时任务匹配调度系统和方法 | |
Shi et al. | MG-WFBP: Efficient data communication for distributed synchronous SGD algorithms | |
CN114065283A (zh) | 一种轻量级可循环再生的区块链存储方法及装置 | |
CN115051926A (zh) | 一种数字孪生架构、模型评价体系以及模型运行方法 | |
CN107690616A (zh) | 受限的存储器环境中的流式传输联接 | |
US20200004591A1 (en) | Self-managed intelligent elastic cloud stack | |
WO2017172206A1 (en) | Structured machine learning framework | |
CN106130960B (zh) | 盗号行为的判断系统、负载调度方法和装置 | |
Huang et al. | Enabling DNN acceleration with data and model parallelization over ubiquitous end devices | |
CN113505520A (zh) | 用于支持异构联邦学习的方法、装置和系统 | |
CN108270805A (zh) | 用于数据处理的资源分配方法及装置 | |
Wang et al. | Online computation performance analysis for distributed machine learning pipelines in fog manufacturing | |
Chen et al. | REMR: A reliability evaluation method for dynamic edge computing network under time constraint | |
Sanchez-Gallegos et al. | On the building of efficient self-adaptable health data science services by using dynamic patterns | |
Dogani et al. | Proactive auto-scaling technique for web applications in container-based edge computing using federated learning model | |
CN114822863B (zh) | 基于联邦学习系统的医疗数据分析方法、设备和存储介质 | |
CN117829313A (zh) | 模型训练方法、系统、计算机设备和存储介质 | |
Tuli et al. | Optimizing the performance of fog computing environments using ai and co-simulation | |
CN106502842A (zh) | 数据恢复方法及系统 | |
Guo et al. | Tree learning: Towards promoting coordination in scalable multi-client training acceleration | |
Chen et al. | Resmap: Exploiting sparse residual feature map for accelerating cross-edge video analytics | |
Tang et al. | To cloud or not to cloud: an on-line scheduler for dynamic privacy-protection of deep learning workload on edge devices | |
Yu et al. | A two steps method of resources utilization predication for large Hadoop data center | |
Tang et al. | Edge Intelligence with Distributed Processing of DNNs: A Survey. | |
CN114640602A (zh) | 网络设备、数据传输方法、装置、系统及可读存储介质 |
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 |