CN117251276B - 一种面向协作学习平台的灵活调度方法及装置 - Google Patents

一种面向协作学习平台的灵活调度方法及装置 Download PDF

Info

Publication number
CN117251276B
CN117251276B CN202311545748.5A CN202311545748A CN117251276B CN 117251276 B CN117251276 B CN 117251276B CN 202311545748 A CN202311545748 A CN 202311545748A CN 117251276 B CN117251276 B CN 117251276B
Authority
CN
China
Prior art keywords
training
collaborative
task
computing device
terminal computing
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.)
Active
Application number
CN202311545748.5A
Other languages
English (en)
Other versions
CN117251276A (zh
Inventor
徐恪
李奥
赵乙
刘欣睿
苏家兴
谭崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN202311545748.5A priority Critical patent/CN117251276B/zh
Publication of CN117251276A publication Critical patent/CN117251276A/zh
Application granted granted Critical
Publication of CN117251276B publication Critical patent/CN117251276B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

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)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种面向协作学习平台的灵活调度方法及装置,本发明涉及下一代互联网技术领域,该方法,包括获取可用的控制节点和终端计算设备的基本信息;获取初始化后的待训练的协作学习任务队列中的训练任务;基于基本信息得到对应训练任务的所需的训练资源和训练数据;每个终端计算设备利用本地训练数据对初始化的全局模型进行训练得到各自的本地模型,并通过控制节点对完成本地训练后的本地模型进行分组参数聚合得到聚合后的全局模型,以将聚合后的全局模型的模型参数下发给所有终端计算设备进行协作训练下一轮次的模型训练。本发明实现了对大量终端计算设备的分层管理,并充分利用空闲的计算资源,保证了协作学习任务高效地完成。

Description

一种面向协作学习平台的灵活调度方法及装置
技术领域
本发明涉及下一代互联网技术领域,特别是一种面向协作学习平台的灵活调度方法及装置。
背景技术
近年来,随着数据规模的不断增长和应用场景的不断扩展,传统的单机机器学习算法在处理大规模数据集、复杂任务和多方协作等方面存在着许多挑战。为了应对这些挑战,协作学习逐渐崭露头角并迅速发展,在下一代互联网、网络空间安全、医疗保健、金融、物联网和自动驾驶等领域得到了广泛应用。同时,相关研究和产业界也逐渐关注和投入到协作学习的研究和开发中。
协作学习有着巨大的发展潜力和研究价值,但是个人或小型团队在部署和测试协作学习的各种算法过程中可能会存在一些困难和挑战。一方面,参与者可能使用不同的硬件设备、操作系统和拥有不同的数据分布,这样的环境异构性成为部署协作学习的挑战。另一方面,参与者之间需要进行频繁的通信和数据传输,需要考虑网络带宽、延迟和稳定性,这可能影响到通信效率和模型更新的同步性。
通过构建统一的协作学习平台,能够一定程度上解决这些问题,由平台负责多个计算设备的通信和网络管理,以模拟多方参与者进行协作学习。并且,平台提供统一的标准化接口和协议,用户不需要关注协作学习的底层实现,只需要在平台上进行核心算法代码的编写并提交给平台后,就可以快速进行协作学习的测试并对结果做分析。为了实现这样的功能,协作学习平台需要管理大量的终端计算设备,每当用户需要进行协作学习任务时,需要选择一些合适的设备进行计算,探测设备的计算情况,并持续收集实验信息,在这个过程中对这些终端计算设备的高效管理和合理的任务分配是一个非常重要的问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明提出一种面向协作学习平台的灵活调度方法,该方法通过三层结构管理协作学习平台所需的大量终端计算设备,并使用了基于匹配算法的任务调度和基于结束时间的抢占方法,为协作学习平台提供了良好的设备灵活调度方案。
本发明的另一个目的在于提出一种面向协作学习平台的灵活调度装置。
为达上述目的,本发明一方面提出一种面向协作学习平台的灵活调度方法,包括:
通过协作学习平台获取可用的控制节点和终端计算设备的基本信息;
获取初始化后的待训练的协作学习任务队列中的训练任务;
基于所述基本信息得到对应所述训练任务的所需的训练资源和训练数据;其中,所述训练资源,至少包括所需的所述终端计算设备,所述训练数据,至少包括多个本地训练数据;
每个所述终端计算设备利用所述本地训练数据对初始化的全局模型进行训练得到各自的本地模型,并通过控制节点对完成本地训练后的本地模型进行分组参数聚合得到协作训练当前轮次聚合后的全局模型,以将聚合后的全局模型的模型参数下发给所有所述终端计算设备进行协作训练下一轮次的模型训练。
本发明实施例的面向协作学习平台的灵活调度方法还可以具有以下附加技术特征:
在本发明的一个实施例中,所述基本信息,包括:可用的控制节点数量、可用的终端计算设备数量、每个控制节点能承受同时连接的终端计算设备上限、每个控制节点与每个终端计算设备的通信带宽、每个控制节点与每个终端计算设备的往返时延和每个终端计算设备的算力情况中的多种。
在本发明的一个实施例中,在所述得到协作训练当前轮次聚合后的全局模型之后,所述方法,还包括:
获取在所述协作训练当前轮次的计算时间,以估计整个任务的完成时间;当所述协作学习任务队列中存在有截止时间的训练任务不能开始时,对所有正在运行的没有截止时间或预期完成时间已经超过截止时间的训练任务进行任务抢占。
在本发明的一个实施例中,在获取所述协作训练当前轮次的计算时间之后,所述方法,还包括:
判断每个终端计算设备的训练完成时间是否有显著时间差异;
若有,则对所述每个终端计算设备的训练完成时间行排序得到时间排序结果;
根据所述时间排序结果得到每个终端计算设备的用于模型参数聚合的多个基础聚合时间。
在本发明的一个实施例中,基于所述基本信息得到对应所述训练任务的所需的训练资源和训练数据,包括:
将当前训练任务发送至协作学习任务队列中,若当前训练任务没有规定截止时间,将当前训练任务添加到协作学习任务队列的末尾,若当前训练任务在截止时间,则将当前训练任务插入到协作学习任务队列中的预设位置;
获取协作学习任务队列中的第一个训练任务,并判断所述第一个训练任务是否有足够的训练资源和训练数据开始进行模型训练。
在本发明的一个实施例中,基于各个控制节点的负载均衡和所述每个控制节点能承受同时连接的终端计算设备上限选择使用的控制节点;计算所述可用的终端计算设备作为协作训练当前轮次第个终端计算设备,在接收到第/>组训练数据时进行一轮次协作训练和上传下发所需的预估时间以选择使用的终端计算设备。
在本发明的一个实施例中,在计算所述预估时间之后,所述方法,还包括:
基于所述预估时间计算所有终端计算设备进行一轮次协作训练的总时间。
在本发明的一个实施例中,最小化一轮次协作训练的总时间,包括:
计算一个可用的计算设备集合到所需终端计算设备的匹配,使得匹配边权值的最大值最小,即一轮次协作训练的完成时间最小。
为达上述目的,本发明另一方面提出一种面向协作学习平台的灵活调度装置,包括:
基本信息获取模块,用于通过协作学习平台获取可用的控制节点和终端计算设备的基本信息;
训练任务选择模块,用于获取初始化后的待训练的协作学习任务队列中的训练任务;
训练任务分配模块,用于基于所述基本信息得到对应所述训练任务的所需的训练资源和训练数据;其中,所述训练资源,至少包括所需的所述终端计算设备,所述训练数据,至少包括多个本地训练数据;
参数聚合更新模块,用于每个所述终端计算设备利用所述本地训练数据对初始化的全局模型进行训练得到各自的本地模型,并通过控制节点对完成本地训练后的本地模型进行分组参数聚合得到协作训练当前轮次聚合后的全局模型,以将聚合后的全局模型的模型参数下发给所有所述终端计算设备进行协作训练下一轮次的模型训练。
本发明通过三层结构管理协作学习平台所需的大量终端计算设备,并使用了基于匹配算法的任务调度和基于结束时间的抢占方法,为协作学习平台提供了良好的设备灵活调度方案。在该方法和装置中,三层系统分为协作学习平台、控制节点和终端计算设备,协作学习平台负责接收用户提交的训练任务,通过最佳的匹配方法找到一个控制节点和一组终端计算设备,该过程考虑了控制节点与计算设备的硬件性能差异,以及地域不同造成的通信差异,以最小化每一轮次的训练预期完成时间和最小化资源使用为目标,提高了计算资源利用率并加快训练速度。将任务分配给控制节点后,控制节点将数据和训练代码分配给多个计算设备开始训练,以实时收集训练过程的中间数据并进行异常检测,保证训练正确高效完成。训练过程中,控制节点统计每一轮次聚合的真实时间,用于估计任务的完成时间,以此进行任务之间的资源抢占,使得更多任务满足截止时间的需求,如果每一轮次各个计算设备的真实训练时间差异过大,使用多时间段的分组聚合的方式,充分利用计算设备的资源,避免资源空闲浪费。在训练过程结束后,控制节点连接计算设备清除所有计算资源和数据,有利于保护用户的数据安全。这样的三层系统结构和调度方案可以有效缓解局部的性能瓶颈,加快用户任务的完成时间。该方法能够应用于协作学习平台等多种分布式计算平台,可拓展性很强,具有很高的实际应用价值。
本发明实施例的面向协作学习平台的灵活调度方法和装置,实现了对大量终端计算设备的分层管理,通过任务调度使得各个控制节点的工作量保持相对平衡,并充分利用空闲的计算资源,保证协作学习任务正确高效地完成。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明实施例的面向协作学习平台的灵活调度方法的流程图;
图2是根据本发明实施例的面向协作学习平台的灵活调度方法的网络架构图;
图3是根据本发明实施例的面向协作学习平台的灵活调度装置的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面参照附图描述根据本发明实施例提出的面向协作学习平台的灵活调度方法和装置。
图1是本发明实施例的面向协作学习平台的灵活调度方法的流程图。
如图1所示,该方法包括但不限于以下步骤:
S1,通过协作学习平台获取可用的控制节点和终端计算设备的基本信息;
S2,获取初始化后的待训练的协作学习任务队列中的训练任务;
S3,基于基本信息得到对应训练任务的所需的训练资源和训练数据;其中,训练资源,至少包括所需的终端计算设备,训练数据,至少包括多个本地训练数据;
S4,每个终端计算设备利用本地训练数据对初始化的全局模型进行训练得到各自的本地模型,并通过控制节点对完成本地训练后的本地模型进行分组参数聚合得到协作训练当前轮次聚合后的全局模型,以将聚合后的全局模型的模型参数下发给所有终端计算设备进行协作训练下一轮次的模型训练。
本发明的面向协作学习平台的灵活调度方法,对终端计算设备使用分层管理。协作学习平台首先通过任务调度选择一个需要训练的任务,然后选择一个相对空闲的控制节点,将整个训练任务分配给这个控制节点。控制节点再将具体用到的训练数据和代码细分,分配给各个终端计算设备,并控制各个设备开始训练过程。在这个过程中,控制节点持续收集中间数据并检测设备是否正常运行,训练结束后关闭与所有设备的连接,并将所有的训练模型和评价指标传输给协作学习平台。该方法采用分层系统,能够显著缓解平台服务器的瓶颈问题,并大大降低故障风险,训练中各项功能的功能可拓展性也很高。
图2为本发明实施例的框架图,基于该框架实施的方法使得协作学习平台能够调动大量的终端计算设备,实现高效快捷的协作学习的训练。该方法可以包括如下步骤:
步骤(1.):统计控制节点和终端计算设备信息并初始化任务队列。
步骤(1.1):协作学习平台统计可用的控制节点个,可用的终端计算设备/>个,统计每个控制节点的可以承受同时连接的设备上限/>,/>可以由对控制节点进行连接测试得到。初始化每个控制节点的已经连接的设备数,统计每个控制节点与每个终端计算设备的通信带宽。统计每个控制节点与每个终端计算设备的往返时延。统计每个终端计算设备的算力情况/>,用于后续进行设备分配。
步骤(1.2):初始化一个待训练的协作学习任务队列,其中第/>个任务表示为/>。以任务/>为例,该队列遵循最近截止时间优先策略顺序保存每个任务的信息,包括任务所需的计算设备数量/>,每个计算设备的数据划分和训练所需的具体代码,以及该任务可能存在的截止时间。在训练过程中,可能因任务截止时间发生资源的抢占。
步骤(2.):接收训练任务并选择控制节点和终端计算设备。
步骤(2.1):协作学习平台每接收到一个用户提交的训练任务,如果该任务没有规定截止时间,将该任务添加到的末尾,若该任务存在截止时间/>,将该任务插入到位置/>的位置/>使得
步骤(2.2):取出队列的第一个任务,查看是否有足够的资源开始进行训练。记该任务需要使用/>个计算设备,划分的数据集规模为/>和训练代码分别为/>,训练的模型大小/>
步骤(2.2.1):首先选择使用的控制节点,为了各个控制节点相对的负载均衡,又不能超过每个控制节点的连接上限,选择最小且/>+/>的一个控制节点,记序号为/>
步骤(2.2.2):接下来选择使用的终端计算设备,对于所有可用的终端计算设备,计算其作为本次训练第/>个计算设备,即将第/>组训练数据下发给它时,进行一轮训练和上传下发所需的预估时间为:
上式中为对一轮训练所需的时间的预估值,通常情况下训练时间与数据量正相关,与设备算力负相关,系数/>通过少量的预训练计算,用预估模型传输上传和下发所需的时间。
所有设备进行一轮完整的聚合的时间可表示为:
)
其中,表示序号为/>的终端计算节点被选中,并将任务的数据/>和训练代码/>分发给它进行计算。
为了最小化,我们构建一个二分图/>,其中节点集合/>由计算设备集合/>和所需计算设备/>组成,边的集合记为/>。需要计算一个可用的计算设备集合/>到所需计算设备/>的匹配,记为/>。本发明需要在确保匹配数为/>的情况下最小化所有匹配边的权值中的最大值,其中匹配边的权值即为。为此,可以使用二分法结合最大匹配算法,每次二分一个匹配边权值的上限,并使用边权值不超过/>的边计算一次最大匹配。若匹配数等于/>,则尝试降低/>以获得一个更小的聚合时间。若匹配数小于/>,则尝试增大以满足匹配数需求。最后,若匹配数不能够达到/>,说明资源不足以进行训练,将该任务放回到/>以等待更多资源的释放。否则,得到一个边权的上限值,但是在使用边权小于等于/>的边做最大匹配时仍然可能有多种选择,在这种情况下,本发明希望尽量使用算力低的计算设备,而保留出算力高的计算设备以供后续任务的使用。因此,需要计算一个/>到所需计算设备的最大权匹配,边的集合记为/>,并可以使用/>算法计算。计算出最大权匹配后,即选择了多个可以进行训练的终端训练设备,并能够使得每轮聚合的时间花费尽可能少的同时,又能够保证消耗的计算设备的资源较少。
步骤(3.):控制节点连接终端计算设备进行训练。
步骤(3.1):协作学习平台将所有的任务数据传输给选中的中间控制节点,然后由中间控制节点进行数据细分,连接每一个被选中的终端计算设备/>,并下发任务所需的数据/>和训练代码/>以及初始的全局模型
步骤(3.2):以最基础的联邦学习为例,每个终端计算设备收到以上数据后,开始进行轮次训练,第/>轮首先使用本地数据进行训练更新获得本地模型/>,然后将本地模型上传聚合,聚合后再接收更新后的全局模型/>用于更新本地模型。
步骤(3.3):在终端计算设备的多轮训练中,控制节点持续收集每个设备产生的日志信息,并将其保存在本地文件中用于反馈给用户查看。此外还要检测计算设备由于负载过大或其他原因产生的各种异常。在收集日志的同时对日志进行一场检测,包括检测程序定期的运行日志是否正常产生,检测是否含有错误日志和异常退出等信息,如果检测出异常行为,计算设备需要将所有模型参数用上次聚合后的数据替换,并重新开始本轮训练。
步骤(3.4):终端计算设备的每轮训练结束后,控制节点记录其完成时间,并用于更准确地估算该任务还需要多少时间完成。由于部分训练有截止时间的需求,当/>中存在有截止时间的任务/>不能开始时,对所有正在运行的没有截止时间或预期完成时间已经超过截止时间的任务/>尝试抢占。方式为在假设释放任务/>占用资源的情况下,使用步骤(2.)重新为任务/>选择控制节点和终端计算设备,并查看预估的完成时间是否在任务/>的截止时间之前,如果是的,则释放任务/>占用的所有资源并将任务/>重新放回/>中,并立即开始任务/>的训练。
步骤(3.5):每个终端计算设备获得其完成时间后,可能会发现各个计算设备的训练完成时间有显著差异,这可能是由于初始进行预测时不够准确导致的。在这种情况下,需要尽可能降低计算资源空闲浪费,因此可以有规则地调整每次聚合的时间。
本发明将每个计算设备的完成时间进行排序,从小到大记为,接下来我们设定多个基础聚合时间:
即在e中每/>个中选择最后一个时间作为基础聚合时间,在每个时间点/>都进行一次聚合,每次聚合也不是将所有计算设备的结果都进行聚合,而是聚合序号为/>到/>的计算设备的结果。而每次聚合的结果,需要与其他组最新的聚合结果做一次二次聚合,让模型结合全局的数据,再下发给该组内的所有设备进行下一次训练。这样的分组聚合方式,可以充分利用设备的计算资源,减少设备空闲时间。
步骤(4.):训练任务结束。
步骤(4.1):所有的终端计算设备训练过程结束后,控制节点连接所有计算设备清除本地占用的资源,并删除所有数据,然后解除连接,控制节点将所有的训练结果,模型参数,测试指标等等返回给协作学习平台。
步骤(4.2):协作学习平台修改这些资源的占用情况,并继续在中寻找可以进行训练的任务。
综上,本发明的面向协作学习平台的灵活调度方法,用于统一管理协作学习平台所需要的大量终端计算设备,并实现协作学习任务的调度方案。该方法的实现系统主要分为三层实现,第一层为协作学习平台服务器,第二层为控制节点,第三层为终端计算设备。当协作学习平台接收到一个用户提交的协作学习任务,该任务主要包含各个协作学习参与方的数据和训练代码,并且各参与方的数据量很可能是不同且差异较大的,与真实的协作学习不同的地方在于,这些数据不是保存在本地不可调换的,而是由平台分发给多个不同的计算设备,如果将两个数据量差异很大的数据集分发给计算能力相当的两个设备,可能造成聚合时,一方已经完成训练而另一方由于数据量原因还在训练,造成计算资源空闲与浪费。除了训练时间以外,各个计算设备之间的通信带宽也有差异,也会影响每轮聚合的时间,因此选择将每个参与方的数据训练交给哪一个计算设备是值得考虑至关重要的,并不能通过简单的排序实现。所以为了最优化每轮聚合的时间并尽量减少计算开销,需要选择一个控制节点和多个终端计算设备,并将每个计算设备匹配一个参与方,本发明的选择与匹配方式考虑了计算设备的性能、算力的不同、各个控制节点和计算设备之间的通信带宽、延迟的差异等等,以最短的训练完成时间和最小的资源开销为目标。接下来,将所有的数据和训练代码以及用到的终端计算设备序号发送给该控制节点。控制节点接收到这些信息后,启动对每一个终端计算设备的连接,开始下发每个设备使用的数据和训练代码。完成下发后,启动每个节点的训练过程,控制节点始终保持与每个终端计算设备的连接,并监控计算过程的进行,并持续将训练过程产生的重要中间数据传输回控制节点,再传输给协作学习平台并反馈给用户。训练过程中,每个设备可以计算真实的每轮训练完成时间,如果各个设备的完成时间有显著差异,会造成计算资源空闲浪费。因此,本发明采用一种分组的聚合方式,每轮聚合只有部分设备参与,每轮聚合结果会与其他组的集合结果进行一次二次聚合以获得全局数据信息,这种分组聚合方法可以有效利用计算资源。训练过程中如果检测到计算设备训练发生异常或错误,则在清除该节点部署的训练数据后终止与该设备的连接。等待所有的设备训练完毕后,控制节点将所有的模型数据和评价指标等信息传输给协作学习平台服务器进行存储。该方法实现了对大量终端计算设备的分层管理,通过任务调度使得各个控制节点的工作量保持相对平衡,并充分利用空闲的计算资源,保证协作学习任务正确高效地完成。
根据本发明实施例的面向协作学习平台的灵活调度方法,其三层的设备调度管理系统分别为协作学习平台服务器,控制节点和终端计算设备。平台接收到用户提交的训练任务后,首先预测估计每组数据分配给每个计算设备的训练时间,根据此进行两轮匹配以完成任务分配。对训练时间的预测任考虑了每组数组的数据量大小,模型的大小,不同控制节点与终端计算设备之间通信的情况,以及性能算力的不同等等。使用最大匹配结合二分查找到最短的每轮聚合预期时间,再通过最大权匹配找到这种情况下消耗资源最少的方案。接下来,平台只需要将任务分配给控制节点,再由控制节点连接所有参与训练的这样的终端计算设备并持续管理整个训练过程。在训练中,也能够通过每轮聚合的完成时间更准确得估计任务完成时间,用于进行资源抢占,以使得更多任务在截止时间之前完成。如果每轮聚合完成时间差异还是很大,使用分组的聚合方式,每组聚合时间点不同,充分利用计算资源。这样的分层调度系统,缓解了平台可能出现的性能瓶颈问题,能够针对协作学习多方的数组量显著不相同时,减少训练完成时间,并使用尽量少的设备资源。该系统的部分设备出现故障时,也能及时检测排查,显著降低整体系统的故障率。而且,该系统也支持灵活地添加控制节点和计算设备,可拓展性高。
为了实现上述实施例,如图3所示,本实施例中还提供了面向协作学习平台的灵活调度装置10,该装置10包括,基本信息获取模块100、训练任务选择模块200、训练任务分配模块300和参数聚合更新模块400;
基本信息获取模块100,用于通过协作学习平台获取可用的控制节点和终端计算设备的基本信息;
训练任务选择模块200,用于获取初始化后的待训练的协作学习任务队列中的训练任务;
训练任务分配模块300,用于基于基本信息得到对应训练任务的所需的训练资源和训练数据;其中,训练资源,至少包括所需的终端计算设备,训练数据,至少包括多个本地训练数据;
参数聚合更新模块400,用于每个终端计算设备利用本地训练数据对初始化的全局模型进行训练得到各自的本地模型,并通过控制节点对完成本地训练后的本地模型进行分组参数聚合得到协作训练当前轮次聚合后的全局模型,以将聚合后的全局模型的模型参数下发给所有终端计算设备进行协作训练下一轮次的模型训练。
进一步地,在上述参数聚合更新模块400之后,还包括:任务抢占模块,用于:
获取在协作训练当前轮次的计算时间,以估计整个任务的完成时间,当协作学习任务队列中存在有截止时间的训练任务不能开始时,对所有正在运行的没有截止时间或预期完成时间已经超过截止时间的训练任务进行任务抢占。
根据本发明实施例的面向协作学习平台的灵活调度装置,其三层的设备调度管理系统分别为协作学习平台服务器,控制节点和终端计算设备。平台接收到用户提交的训练任务后,首先预测估计每组数据分配给每个计算设备的训练时间,根据此进行两轮匹配以完成任务分配。对训练时间的预测任考虑了每组数组的数据量大小,模型的大小,不同控制节点与终端计算设备之间通信的情况,以及性能算力的不同等等。使用最大匹配结合二分查找到最短的每轮聚合预期时间,再通过最大权匹配找到这种情况下消耗资源最少的方案。接下来,平台只需要将任务分配给控制节点,再由控制节点连接所有参与训练的这样的终端计算设备并持续管理整个训练过程。在训练中,也能够通过每轮聚合的完成时间更准确得估计任务完成时间,用于进行资源抢占,以使得更多任务在截止时间之前完成。如果每轮聚合完成时间差异还是很大,使用分组的聚合方式,每组聚合时间点不同,充分利用计算资源。这样的分层调度系统,缓解了平台可能出现的性能瓶颈问题,能够针对协作学习多方的数组量显著不相同时,减少训练完成时间,并使用尽量少的设备资源。该系统的部分设备出现故障时,也能及时检测排查,显著降低整体系统的故障率。而且,该系统也支持灵活地添加控制节点和计算设备,可拓展性高。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

Claims (9)

1.一种面向协作学习平台的灵活调度方法,其特征在于,所述方法包括:
通过协作学习平台获取可用的控制节点和终端计算设备的基本信息;
获取初始化后的待训练的协作学习任务队列中的训练任务;
基于所述基本信息得到对应所述训练任务的所需的训练资源和训练数据;其中,所述训练资源,至少包括所需的所述终端计算设备,所述训练数据,至少包括多个本地训练数据;
每个所述终端计算设备利用所述本地训练数据对初始化的全局模型进行训练得到各自的本地模型,并通过控制节点对完成本地训练后的本地模型进行分组参数聚合得到协作训练当前轮次聚合后的全局模型,以将聚合后的全局模型的模型参数下发给所有所述终端计算设备进行协作训练下一轮次的模型训练;
最小化一轮次协作训练的总时间,包括:
计算一个可用的计算设备集合到所需终端计算设备的匹配,使得匹配边权值的最大值最小,即一轮次协作训练的完成时间最小;包括:
基于最小化一轮次协作训练的总时间,构建二分图/>,其中节点集合/>由计算设备集合/>和所需计算设备/>组成,边的集合记为/>;计算一个可用的计算设备集合/>到所需计算设备/>的匹配,记为/>;在确保匹配数为/>的情况下最小化所有匹配边的权值中的最大值,其中匹配边的权值即为/>;使用二分法结合最大匹配算法,每次二分一个匹配边权值的上限/>,并使用边权值不超过/>的边计算一次最大匹配;若匹配数等于/>,则降低/>以获得一个更小的聚合时间,若匹配数小于/>,则增大/>以满足匹配数需求;若匹配数不能达到/>,将对应任务放回到/>;否则,得到一个边权的上限值/>;计算一个可用的计算设备集合/>到所需计算设备/>的最大权匹配,边的集合记为/>,并使用/>算法计算。
2.根据权利要求1所述的方法,其特征在于,所述基本信息,包括:可用的控制节点数量、可用的终端计算设备数量、每个控制节点能承受同时连接的终端计算设备上限、每个控制节点与每个终端计算设备的通信带宽、每个控制节点与每个终端计算设备的往返时延和每个终端计算设备的算力情况中的多种。
3.根据权利要求2所述的方法,其特征在于,在所述得到协作训练当前轮次聚合后的全局模型之后,所述方法,还包括:
获取在所述协作训练当前轮次的计算时间,以估计整个任务的完成时间;当所述协作学习任务队列中存在有截止时间的训练任务不能开始时,对所有正在运行的没有截止时间或预期完成时间已经超过截止时间的训练任务进行任务抢占。
4.根据权利要求3所述的方法,其特征在于,在获取所述协作训练当前轮次的计算时间之后,所述方法,还包括:
判断每个终端计算设备的训练完成时间是否有显著时间差异;
若有,则对所述每个终端计算设备的训练完成时间行排序得到时间排序结果;
根据所述时间排序结果得到每个终端计算设备的用于模型参数聚合的多个基础聚合时间。
5.根据权利要求4所述的方法,其特征在于,基于所述基本信息得到对应所述训练任务的所需的训练资源和训练数据,包括:
将当前训练任务发送至协作学习任务队列中,若当前训练任务没有规定截止时间,将当前训练任务添加到协作学习任务队列的末尾,若当前训练任务在截止时间,则将当前训练任务插入到协作学习任务队列中的预设位置;
获取协作学习任务队列中的第一个训练任务,并判断所述第一个训练任务是否有足够的训练资源和训练数据开始进行模型训练。
6.根据权利要求5所述的方法,其特征在于,基于各个控制节点的负载均衡和所述每个控制节点能承受同时连接的终端计算设备上限选择使用的控制节点;计算所述可用的终端计算设备作为协作训练当前轮次第个终端计算设备,在接收到第/>组训练数据时进行一轮次协作训练和上传下发所需的预估时间以选择使用的终端计算设备。
7.根据权利要求6所述的方法,其特征在于,在计算所述预估时间之后,所述方法,还包括:
基于所述预估时间计算所有终端计算设备进行一轮次协作训练的总时间。
8.一种面向协作学习平台的灵活调度装置,其特征在于,包括:
基本信息获取模块,用于通过协作学习平台获取可用的控制节点和终端计算设备的基本信息;
训练任务选择模块,用于获取初始化后的待训练的协作学习任务队列中的训练任务;
训练任务分配模块,用于基于所述基本信息得到对应所述训练任务的所需的训练资源和训练数据;其中,所述训练资源,至少包括所需的所述终端计算设备,所述训练数据,至少包括多个本地训练数据;
参数聚合更新模块,用于每个所述终端计算设备利用所述本地训练数据对初始化的全局模型进行训练得到各自的本地模型,并通过控制节点对完成本地训练后的本地模型进行分组参数聚合得到协作训练当前轮次聚合后的全局模型,以将聚合后的全局模型的模型参数下发给所有所述终端计算设备进行协作训练下一轮次的模型训练;
所述装置,还用于最小化一轮次协作训练的总时间,包括:
计算一个可用的计算设备集合到所需终端计算设备的匹配,使得匹配边权值的最大值最小,即一轮次协作训练的完成时间最小;包括:
基于最小化一轮次协作训练的总时间,构建二分图/>,其中节点集合/>由计算设备集合/>和所需计算设备/>组成,边的集合记为/>;计算一个可用的计算设备集合/>到所需计算设备/>的匹配,记为/>;在确保匹配数为/>的情况下最小化所有匹配边的权值中的最大值,其中匹配边的权值即为/>;使用二分法结合最大匹配算法,每次二分一个匹配边权值的上限/>,并使用边权值不超过/>的边计算一次最大匹配;若匹配数等于/>,则降低/>以获得一个更小的聚合时间,若匹配数小于/>,则增大/>以满足匹配数需求;若匹配数不能达到/>,将对应任务放回到/>;否则,得到一个边权的上限值/>;计算一个可用的计算设备集合/>到所需计算设备/>的最大权匹配,边的集合记为/>,并使用/>算法计算。
9.根据权利要求8所述的装置,其特征在于,在所述参数聚合更新模块之后,还包括:任务抢占模块,用于:
获取在所述协作训练当前轮次的计算时间,以估计整个任务的完成时间,当所述协作学习任务队列中存在有截止时间的训练任务不能开始时,对所有正在运行的没有截止时间或预期完成时间已经超过截止时间的训练任务进行任务抢占。
CN202311545748.5A 2023-11-20 2023-11-20 一种面向协作学习平台的灵活调度方法及装置 Active CN117251276B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311545748.5A CN117251276B (zh) 2023-11-20 2023-11-20 一种面向协作学习平台的灵活调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311545748.5A CN117251276B (zh) 2023-11-20 2023-11-20 一种面向协作学习平台的灵活调度方法及装置

Publications (2)

Publication Number Publication Date
CN117251276A CN117251276A (zh) 2023-12-19
CN117251276B true CN117251276B (zh) 2024-02-09

Family

ID=89137373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311545748.5A Active CN117251276B (zh) 2023-11-20 2023-11-20 一种面向协作学习平台的灵活调度方法及装置

Country Status (1)

Country Link
CN (1) CN117251276B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871702A (zh) * 2019-02-18 2019-06-11 深圳前海微众银行股份有限公司 联邦模型训练方法、系统、设备及计算机可读存储介质
CN113098806A (zh) * 2021-04-16 2021-07-09 华南理工大学 一种联邦学习下边端协同的信道适应性梯度压缩方法
CN113177367A (zh) * 2021-05-28 2021-07-27 北京邮电大学 高能效的联邦学习方法、装置、边缘服务器及用户设备
US11182691B1 (en) * 2014-08-14 2021-11-23 Amazon Technologies, Inc. Category-based sampling of machine learning data
CN114938372A (zh) * 2022-05-20 2022-08-23 天津大学 一种基于联邦学习的微网群请求动态迁移调度方法及装置
CN115329990A (zh) * 2022-10-13 2022-11-11 合肥本源物联网科技有限公司 边缘计算场景下基于模型分割的异步联邦学习加速方法
CN115408151A (zh) * 2022-08-23 2022-11-29 哈尔滨工业大学 一种联邦学习训练加速方法
CN115577805A (zh) * 2022-10-25 2023-01-06 西安电子科技大学 数据训练的资源动态协同方法和系统
CN115907038A (zh) * 2022-09-09 2023-04-04 南开大学 一种基于联邦拆分学习框架的多元控制决策方法
CN116957109A (zh) * 2023-07-31 2023-10-27 山东浪潮科学研究院有限公司 基于联邦学习的模型构建方法、装置、设备及介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11182691B1 (en) * 2014-08-14 2021-11-23 Amazon Technologies, Inc. Category-based sampling of machine learning data
CN109871702A (zh) * 2019-02-18 2019-06-11 深圳前海微众银行股份有限公司 联邦模型训练方法、系统、设备及计算机可读存储介质
CN113098806A (zh) * 2021-04-16 2021-07-09 华南理工大学 一种联邦学习下边端协同的信道适应性梯度压缩方法
CN113177367A (zh) * 2021-05-28 2021-07-27 北京邮电大学 高能效的联邦学习方法、装置、边缘服务器及用户设备
CN114938372A (zh) * 2022-05-20 2022-08-23 天津大学 一种基于联邦学习的微网群请求动态迁移调度方法及装置
CN115408151A (zh) * 2022-08-23 2022-11-29 哈尔滨工业大学 一种联邦学习训练加速方法
CN115907038A (zh) * 2022-09-09 2023-04-04 南开大学 一种基于联邦拆分学习框架的多元控制决策方法
CN115329990A (zh) * 2022-10-13 2022-11-11 合肥本源物联网科技有限公司 边缘计算场景下基于模型分割的异步联邦学习加速方法
CN115577805A (zh) * 2022-10-25 2023-01-06 西安电子科技大学 数据训练的资源动态协同方法和系统
CN116957109A (zh) * 2023-07-31 2023-10-27 山东浪潮科学研究院有限公司 基于联邦学习的模型构建方法、装置、设备及介质

Also Published As

Publication number Publication date
CN117251276A (zh) 2023-12-19

Similar Documents

Publication Publication Date Title
CN111027736B (zh) 多目标优化下的微服务组合部署与调度方法
CN111367657B (zh) 一种基于深度强化学习的计算资源协同合作方法
CN104038540B (zh) 一种应用代理服务器自动选择方法及系统
CN108684046B (zh) 一种基于随机学习的接入网服务功能链部署方法
CN110502328B (zh) 一种海上边缘计算可信协同任务迁移方法
CN107453929B (zh) 集群系统自构建方法、装置及集群系统
CN102075352A (zh) 一种网络用户行为预测的方法和装置
CN115408151A (zh) 一种联邦学习训练加速方法
CN113098714A (zh) 一种基于深度强化学习的低时延网络切片的方法
CN111628855A (zh) 基于深度强化学习的工业5g动态多优先级多接入方法
CN110502323B (zh) 一种云计算任务实时调度方法
CN113794494A (zh) 一种面向低轨卫星网络的边缘计算架构及计算卸载优化方法
CN113783944B (zh) 基于云边协同的视频数据处理方法、装置、系统及设备
CN114567895A (zh) 一种mec服务器集群的智能协同策略的实现方法
CN115907038A (zh) 一种基于联邦拆分学习框架的多元控制决策方法
CN113094180B (zh) 无线联邦学习调度优化方法及装置
CN110929885A (zh) 一种面向智慧校园的分布式机器学习模型参数聚合方法
CN117251276B (zh) 一种面向协作学习平台的灵活调度方法及装置
CN111885551B (zh) 基于边云协同模式的多移动社交网络中高影响力用户的选择和分配机制
CN114118444B (zh) 一种利用启发式算法降低联邦学习中设备空跑时间的方法
CN109889573A (zh) 混合云中基于ngsa多目标的副本放置方法
CN115329985A (zh) 无人集群智能模型训练方法、装置和电子设备
CN114124973B (zh) 一种面向多云场景的镜像同步方法和装置
CN116339932A (zh) 资源调度方法、装置和服务器
CN114448838A (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
GR01 Patent grant
GR01 Patent grant