CN114691342B - 一种联邦学习算法组件优先级调度实现方法、装置及存储介质 - Google Patents
一种联邦学习算法组件优先级调度实现方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114691342B CN114691342B CN202210609580.9A CN202210609580A CN114691342B CN 114691342 B CN114691342 B CN 114691342B CN 202210609580 A CN202210609580 A CN 202210609580A CN 114691342 B CN114691342 B CN 114691342B
- Authority
- CN
- China
- Prior art keywords
- weight
- node
- execution
- algorithm component
- directed acyclic
- 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
Links
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种联邦学习算法组件优先级调度实现方法、装置及存储介质,其中联邦学习算法组件优先级调度实现方法包括步骤:获取算法组件的执行流程,将算法组件的执行流程解析为有向无环图,并且将有向无环图进行反转,生成反向有向无环图;对反向有向无环图进行拓扑排序,生成执行序列;遍历执行序列,计算出各个节点的执行权重,执行权重为节点的节点自身权重加上节点的节点入度权重,基于执行权重的大小,将执行序列进行降序排列,得到节点对应的所述算法组件的优先级调度顺序。通过上述方法,根据生成的执行序列,计算出执行权重,根据执行权重来定义算法组件的执行顺序,从而实现算法组件之间按照优先级进行自动调度。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种联邦学习算法组件优先级调度实现方法、装置及存储介质。
背景技术
在数据日益增加,数据联系日益紧密的今天,由于用户隐私和法律法规等问题,许多数据之间不能互通,产生了许多“数据孤岛”。联邦学习(Federated Learning)这一概念由Google在2017年提出,旨在于解决跨设备之间的联合建模问题,该方案为上述问题提供了一种可行的解法。建模人员在建模过程中,通常需要历经数据读写,数据预处理,统计分析,特征工程,机器学习,预测以及评估等流程。在联邦建模平台上,这些操作都会映射为联邦学习的算法组件,算法组件之间存在建模流程中的调用依赖,先后执行关系。建模任务提交后,建模任务在后端会被解析为有向无环图,通过对有向无环图进行拓扑排序后,生成线性执行序列。后续调度系统按照线性执行序列,对算法组件进行调度执行。
在现有技术中,无法自定义算法组件执行顺序。当前算法组件的执行顺序,依赖于有向无环图的拓扑排序,建模人员根据自己的理解去控制算法组件的执行顺序。例如,我们通常会希望下游节点多的组件要比下游节点少的组件能更早的执行,或者是在一些建模场景下,LR通常会比XGBoost运行更快,我们希望LR算法组件能比XGBoost更早的执行,这样能提前看到建模的效果。但是,单纯的依靠拓扑排序,是无法提供这种能力的。
发明内容
本发明实施例的目的在于提供一种联邦学习算法组件优先级调度实现方法、装置及存储介质,用以解决现有技术无法自定义算法组件执行顺序,因而造成无法实现算法组件间按照优先级进行自动调度的问题。
为实现上述目的,本发明实施例提供一种联邦学习算法组件优先级调度实现方法,包括步骤:获取算法组件的执行流程,将所述算法组件的执行流程解析为有向无环图,并且将所述有向无环图进行反转,生成反向有向无环图;对所述反向有向无环图进行拓扑排序,生成执行序列;遍历所述执行序列,计算出各个节点的执行权重,所述执行权重为所述节点的节点自身权重加上所述节点的节点入度权重;基于所述执行权重的大小,将所述执行序列进行降序排列,得到所述对应的所述算法组件的优先级调度顺序。
可选地,所述节点自身权重包括计算权重、分类权重和/或深度权重。
可选地,所述节点自身权重的计算公式为:A=a1*0.5+a2*0.3+a3*0.2,其中A为所述节点自身权重,a1为计算权重,a2为分类权重,a3为深度权重。
可选地,得到所述分类权重的方法包括:初始化所述算法组件,对所述算法组件进行分类,基于所述分类对每个所述算法组件设置所述分类权重。
可选地,所述计算权重通过人工设置,每个所述算法组件初始化后的所述计算权重的默认值均为1。
可选地,得到所述深度权重的方法包括:在生成所述反向有向无环图之后,根据每个所述算法组件所处的深度,设置所述算法组件的所述深度权重。
可选地,所述节点入度权重的计算公式为:B=A+1/n*C1+1/n*C2+...+1/n*Cn,其中B为所述节点入度权重,A为当前节点的所述节点自身权重,n为所述当前节点的入度边数,C1为所述当前节点的第一个下游节点的所述执行权重,C2为所述当前节点的第二个下游节点的所述执行权重,Cn为所述当前节点的第n个下游节点的所述执行权重。
为实现上述目的,本发明还提供一种联邦学习算法组件优先级调度实现装置,包括:存储器;以及
与所述存储器连接的处理器,所述处理器被配置成:
获取算法组件的执行流程,将所述算法组件的执行流程解析为有向无环图,并且将所述有向无环图进行反转,生成反向有向无环图;对所述反向有向无环图进行拓扑排序,生成执行序列;遍历所述执行序列,计算出各个节点的执行权重,所述执行权重为所述节点的节点自身权重加上所述节点的节点入度权重;基于所述执行权重的大小,将所述执行序列进行降序排列,得到所述对应的所述算法组件的优先级调度顺序。
为实现上述目的,本发明还提供一种计算机存储介质,其上存储有计算机程序,其中所述计算机程序被机器执行时实现如上所述的方法的步骤。
本发明实施例具有如下优点:
1.本发明实施例提供一种联邦学习算法组件优先级调度实现方法,包括步骤:获取算法组件的执行流程,将所述算法组件的执行流程解析为有向无环图,并且将所述有向无环图进行反转,生成反向有向无环图;对所述反向有向无环图进行拓扑排序,生成执行序列;遍历所述执行序列,计算出各个节点的执行权重,所述执行权重为所述节点的节点自身权重加上所述节点的节点入度权重,基于所述执行权重的大小,将所述执行序列进行降序排列,得到所述对应的所述算法组件的优先级调度顺序。
通过上述方法,根据生成的执行序列,计算出执行权重,根据执行权重来定义算法组件的执行顺序,从而实现算法组件之间按照优先级进行自动调度。
2.进一步,所述节点自身权重的计算公式为:A=a1*0.5+a2*0.3+a3*0.2,其中A为所述节点自身权重,a1为计算权重,a2为分类权重,a3为深度权重。
通过计算权重、分类权重和深度权重来计算出节点自身权重,能够将算法组件的类型、算法组件在反向有向无环图中所处的深度和用户自定义的权重均考虑在内,从而能够得到合理的优先级排序。
3.进一步,所述节点入度权重的计算公式为:B=A+1/n*C1+1/n*C2+...+1/n*Cn,其中B为所述节点入度权重,A为当前节点的所述节点自身权重,n为所述当前节点的入度边数,C1为所述当前节点的第一个下游节点的所述执行权重,C2为所述当前节点的第二个下游节点的所述执行权重,Cn为所述当前节点的第n个下游节点的所述执行权重。
通过计算当前节点的入度边数权重和下游节点的执行权重,能够将算法组件之间的依赖关系和依赖节点个数考虑在内,从而能够得到合理的优先级排序。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
图1为本发明实施例提供的一种联邦学习算法组件优先级调度实现方法的流程图;
图2为本发明实施例提供的一种有向无环图;
图3为本发明实施例提供的一种反向有向无环图;
图4为本发明实施例提供的一种联邦学习算法组件优先级调度实现装置的模块框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明一实施例提供一种联邦学习算法组件优先级调度实现方法,参考图1,图1为本发明的一实施方式中提供的一种联邦学习算法组件优先级调度实现方法的流程图,应当理解的是,该方法还可以包括未示出的附加框和/或可以省略所示出的框,本发明的范围在此方面不受限制。包括如下步骤:
在步骤101处,获取算法组件的执行流程,将所述算法组件的执行流程解析为有向无环图,并且将所述有向无环图进行反转,生成反向有向无环图。
具体地,在联邦学习场景下,建模人员在联邦平台构建建模流程,流程处理引擎接收到提交的任务,将算法组件的执行流程解析为有向无环图,并且通过流程处理引擎将有向无环图进行反转,生成反向有向无环图。其中所述联邦学习是指在保护用户数据隐私的前提下,机构之间进行联合建模。利用联邦学习技术,如多方安全计算,隐私保护,区块链技术等,解决联合建模过程中数据安全和隐私保护问题。有向无环图是指在图论中,如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图。
在步骤102处,对所述反向有向无环图进行拓扑排序,生成执行序列。
具体地,所述拓扑排序是指对一个有向无环图 (Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。
在步骤103处,遍历所述执行序列,计算出各个节点的执行权重,所述执行权重为所述节点的节点自身权重加上所述节点的节点入度权重。具体地,当前节点的最终执行权重由该节点的节点自身权重和该节点的节点入度权重求和生成。
在一些实施例中,所述节点自身权重包括计算权重、分类权重和/或深度权重。在一些实施例中,得到所述分类权重的方法包括:初始化所述算法组件,对所述算法组件进行分类,基于所述分类对每个所述算法组件设置所述分类权重。在一些实施例中,所述计算权重通过人工设置,若不设置,则每个所述算法组件初始化后的所述计算权重的默认值均为1。在一些实施例中,得到所述深度权重的方法包括:在生成所述反向有向无环图之后,根据每个所述算法组件所处的深度,设置所述算法组件的所述深度权重。
在一些实施例中,所述节点自身权重的计算公式为:A=a1*0.5+a2*0.3+a3*0.2,其中A为所述节点自身权重,a1为计算权重,a2为分类权重,a3为深度权重。
通过计算权重、分类权重和深度权重来计算出节点自身权重,能够将算法组件的类型、算法组件在反向有向无环图中所处的深度和用户自定义的权重均考虑在内,从而能够得到合理的优先级排序。
在一些实施例中,所述节点入度权重的计算公式为:B=A+1/n*C1+1/n*C2+...+1/n*Cn,其中B为所述节点入度权重,A为当前节点的所述节点自身权重,n为所述当前节点的入度边数,C1为所述当前节点的第一个下游节点的所述执行权重,C2为所述当前节点的第二个下游节点的所述执行权重,Cn为所述当前节点的第n个下游节点的所述执行权重。
通过计算当前节点的入度边数权重和下游节点的执行权重,能够将算法组件之间的依赖关系和依赖节点个数考虑在内,从而能够得到合理的优先级排序。
在一些实施例中,在计算出各个节点的所述执行权重之后,还包括:基于所述执行权重的大小,将所述执行序列进行降序排列,得到所述节点对应的所述算法组件的优先级调度顺序。之后将算法组件按序塞进队列等待调度执行。
通过前述方法,根据生成的执行序列,计算出执行权重,根据执行权重来定义算法组件的执行顺序,从而实现算法组件之间按照优先级进行自动调度。
以下用一个组件优先级调度的举例来演示一种联邦学习算法组件优先级调度实现方法的流程。
参考图2,图2为一个建模人员创建的建模流程,步骤一:默认先初始化分类权重和计算权重。根据预先初始化的分类权重为:资产引入-1分类权重为1,资产引入-2分类权重为1,数据对齐分类权重为2,标准化分类权重为4,归一化分类权重为4,拆分分类权重为2,LR分类权重为3,XGBoost分类权重为3。对于计算权重,默认所有计算组件均为1,本实施例中将LR的计算权重设置为2。
参考图3,图3为本发明实施例提供的一种反向有向无环图。步骤二:提交任务到流程处理引擎,对该有向无环图进行反转并计算深度权重。按照反向有向无环图中计算组件所处深度设置深度权重,LR深度权重为1,XGBoost深度权重为1,拆分深度权重为2,标准化深度权重为3,数据对齐深度权重为5,资产引入-1深度权重为5,资产引入-2深度权重为5。
步骤三:对方向有向无环图进行拓扑排序得到执行序列:XGBoost,LR,拆分,标准化,数据对齐,资产引入-1,资产引入-2。
步骤四:对执行序列进行遍历,计算本节点的执行权重值。计算公式为计算权重 *0.5 + 分类权重 * 0.3 + 深度权重 * 0.2。若本节点存在下游组件,并且本节点入度为n,则入度边权重为1/n ,则节点最终执行权重为本节点执行权重加上入度边权重 * 下游节点的执行权重。计算之后,LR执行权重为2 * 0.5 + 3 * 0.3 + 1 * 0.2 结果为2.1;XGBoost执行权重为 1 * 0.5 + 3 * 0.3 + 1 * 0.2 结果为1.6;拆分执行权重为 1* 0.5+ 2 * 0.3 + 2 * 0.5 结果为2.1,下游执行加权后,则最终结果为 2.1 + 0.5 * 2.1 +0.5 *1.6 = 3.95;标准化执行权重为1 *0.5 + 4 *0.3 + 3 *0.2 结果为2.3,下游执行加权后,最终结果为 2.3 + 3.95 = 6.25;数据对齐执行权重为1*0.5 + 2 * 0.3 + 4 * 0.2结果为1.9,下游执行加权后,最终结果为1.9 + 6.25 = 8.15;资产引入-1执行权重为1*0.5 + 1*0.3 + 5 *0.2结果为1.8,下游执行加权后,最终结果为1.8 + 8.15 = 9.95;资产引入-2执行权重为1*0.5 + 1*0.3 + 5 *0.2结果为1.8,下游执行加权后,最终结果为1.8+ 8.15 = 9.95。
步骤五:按照执行权重对执行序列进行降序排序,则最终的算法组件执行顺序为资产引入-1、资产引入-2、数据对齐、标准化、拆分、LR、XGBoost。
之后可以将优先级排序后的算法组件按序塞进队列等待调度执行。
图4为本发明实施例提供的一种联邦学习算法组件优先级调度实现装置的模块框图。该装置包括:
存储器201;以及与所述存储器201连接的处理器202,所述处理器202被配置成:获取算法组件的执行流程,将所述算法组件的执行流程解析为有向无环图,并且将所述有向无环图进行反转,生成反向有向无环图;对所述反向有向无环图进行拓扑排序,生成执行序列;遍历所述执行序列,计算出各个节点的执行权重,所述执行权重为所述节点的节点自身权重加上所述节点的节点入度权重。
在一些实施例中,所述处理器202还被配置成:在计算出各个节点的所述执行权重之后,还包括:基于所述执行权重的大小,将所述执行序列进行降序排列,得到所述对应的所述算法组件的优先级调度顺序。
在一些实施例中,所述处理器202还被配置成:所述节点自身权重包括计算权重、分类权重和/或深度权重。
在一些实施例中,所述处理器202还被配置成:所述节点自身权重的计算公式为:A=a1*0.5+a2*0.3+a3*0.2,其中A为所述节点自身权重,a1为计算权重,a2为分类权重,a3为深度权重。
在一些实施例中,所述处理器202还被配置成:得到所述分类权重的方法包括:初始化所述算法组件,对所述算法组件进行分类,基于所述分类对每个所述算法组件设置所述分类权重。
在一些实施例中,所述处理器202还被配置成:所述计算权重通过人工设置,每个所述算法组件初始化后的所述计算权重的默认值均为1。
在一些实施例中,所述处理器202还被配置成:得到所述深度权重的方法包括:在生成所述反向有向无环图之后,根据每个所述算法组件所处的深度,设置所述算法组件的所述深度权重。
在一些实施例中,所述处理器202还被配置成:所述节点入度权重的计算公式为:B=A+1/n*C1+1/n*C2+...+1/n*Cn,其中B为所述节点入度权重,A为当前节点的所述节点自身权重,n为所述当前节点的入度边数,C1为所述当前节点的第一个下游节点的所述执行权重,C2为所述当前节点的第二个下游节点的所述执行权重,Cn为所述当前节点的第n个下游节点的所述执行权重。
具体实现方法参考前述方法实施例,此处不再赘述。
本发明可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
注意,除非另有直接说明,否则本说明书(包含任何所附权利要求、摘要和附图)中所揭示的所有特征皆可由用于达到相同、等效或类似目的的可替代特征来替换。因此,除非另有明确说明,否则所公开的每一个特征仅是一组等效或类似特征的一个示例。在使用到的情况下,进一步地、较优地、更进一步地和更优地是在前述实施例基础上进行另一实施例阐述的简单起头,该进一步地、较优地、更进一步地或更优地后带的内容与前述实施例的结合作为另一实施例的完整构成。在同一实施例后带的若干个进一步地、较优地、更进一步地或更优地设置之间可任意组合的组成又一实施例。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种联邦学习算法组件优先级调度实现方法,其特征在于,包括以下步骤:
获取算法组件的执行流程,将所述算法组件的执行流程解析为有向无环图,并且将所述有向无环图进行反转,生成反向有向无环图;
对所述反向有向无环图进行拓扑排序,生成执行序列;
遍历所述执行序列,计算出各个节点的执行权重,所述执行权重为所述节点的节点自身权重加上所述节点的节点入度权重,所述节点入度权重的计算公式为B=1/n*C1+1/n*C2+...+1/n*Cn,其中,B为所述节点入度权重,n为当前节点的入度边数,C1为所述当前节点的第一个下游节点的所述执行权重,C2为所述当前节点的第二个下游节点的所述执行权重,Cn为所述当前节点的第n个下游节点的所述执行权重;
基于所述执行权重的大小,将所述执行序列进行降序排列,得到所述节点对应的所述算法组件的优先级调度顺序。
2.根据权利要求1所述的联邦学习算法组件优先级调度实现方法,其特征在于,所述节点自身权重包括计算权重、分类权重和/或深度权重。
3.根据权利要求2所述的联邦学习算法组件优先级调度实现方法,其特征在于,所述节点自身权重的计算公式为:A=a1*0.5+a2*0.3+a3*0.2,其中A为所述节点自身权重,a1为计算权重,a2为分类权重,a3为深度权重。
4.根据权利要求2所述的联邦学习算法组件优先级调度实现方法,其特征在于,得到所述分类权重的方法包括:初始化所述算法组件,对所述算法组件进行分类,基于所述分类对每个所述算法组件设置所述分类权重。
5.根据权利要求2所述的联邦学习算法组件优先级调度实现方法,其特征在于,所述计算权重通过人工设置,每个所述算法组件初始化后的所述计算权重的默认值均为1。
6.根据权利要求2所述的联邦学习算法组件优先级调度实现方法,其特征在于,得到所述深度权重的方法包括:在生成所述反向有向无环图之后,根据每个所述算法组件所处的深度,设置所述算法组件的所述深度权重。
7.一种联邦学习算法组件优先级调度实现装置,其特征在于,包括:
存储器;以及
与所述存储器连接的处理器,所述处理器被配置成:
获取算法组件的执行流程,将所述算法组件的执行流程解析为有向无环图,并且将所述有向无环图进行反转,生成反向有向无环图;
对所述反向有向无环图进行拓扑排序,生成执行序列;
遍历所述执行序列,计算出各个节点的执行权重,所述执行权重为所述节点的节点自身权重加上所述节点的节点入度权重,所述节点入度权重的计算公式为B=1/n*C1+1/n*C2+...+1/n*Cn,其中,B为所述节点入度权重,n为当前节点的入度边数,C1为所述当前节点的第一个下游节点的所述执行权重,C2为所述当前节点的第二个下游节点的所述执行权重,Cn为所述当前节点的第n个下游节点的所述执行权重;
基于所述执行权重的大小,将所述执行序列进行降序排列,得到所述节点对应的所述算法组件的优先级调度顺序。
8.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被机器执行时实现如权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210609580.9A CN114691342B (zh) | 2022-05-31 | 2022-05-31 | 一种联邦学习算法组件优先级调度实现方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210609580.9A CN114691342B (zh) | 2022-05-31 | 2022-05-31 | 一种联邦学习算法组件优先级调度实现方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114691342A CN114691342A (zh) | 2022-07-01 |
CN114691342B true CN114691342B (zh) | 2022-09-20 |
Family
ID=82131161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210609580.9A Active CN114691342B (zh) | 2022-05-31 | 2022-05-31 | 一种联邦学习算法组件优先级调度实现方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114691342B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884893B (zh) * | 2022-07-12 | 2022-10-25 | 之江实验室 | 一种转发和控制可定义的协同流量调度方法与系统 |
CN116149689B (zh) * | 2023-04-24 | 2023-07-04 | 上海观安信息技术股份有限公司 | 软件安装方法、装置、存储介质及计算机设备 |
CN117742928B (zh) * | 2024-02-20 | 2024-04-26 | 蓝象智联(杭州)科技有限公司 | 一种用于联邦学习的算法组件执行调度方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113011522A (zh) * | 2021-04-13 | 2021-06-22 | 上海嗨普智能信息科技股份有限公司 | 基于有向无环图的多标签联邦学习方法、控制器和介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7320002B2 (en) * | 2004-03-25 | 2008-01-15 | Microsoft Corporation | Using tables to learn trees |
EA200701385A1 (ru) * | 2005-01-26 | 2008-08-29 | 2Би Вайэлисс, Инк. | Способ и система для передачи информации о ценообразовании и/или о продукте в реальном времени |
CN106934537A (zh) * | 2017-03-02 | 2017-07-07 | 北京工业大学 | 基于反向工作流调度的子期限获取优化方法 |
CN113127169B (zh) * | 2021-04-07 | 2023-05-02 | 中山大学 | 数据中心网络中动态工作流的高效链路调度方法 |
CN113407327A (zh) * | 2021-07-08 | 2021-09-17 | 北京融数联智科技有限公司 | 一种建模任务和数据分析的方法、装置、电子设备及系统 |
CN113704768A (zh) * | 2021-08-10 | 2021-11-26 | 深圳致星科技有限公司 | 联邦学习执行流程的安全审计方法、装置及系统 |
CN114489950A (zh) * | 2022-01-27 | 2022-05-13 | 上海富数科技有限公司 | 一种组件适配方法、装置、电子设备及存储介质 |
-
2022
- 2022-05-31 CN CN202210609580.9A patent/CN114691342B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113011522A (zh) * | 2021-04-13 | 2021-06-22 | 上海嗨普智能信息科技股份有限公司 | 基于有向无环图的多标签联邦学习方法、控制器和介质 |
Non-Patent Citations (1)
Title |
---|
面向边缘人工智能计算的区块链技术综述;方俊杰等;《应用科学学报》;20200130;第38卷(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114691342A (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114691342B (zh) | 一种联邦学习算法组件优先级调度实现方法、装置及存储介质 | |
US11176469B2 (en) | Model training methods, apparatuses, and systems | |
Wang et al. | Integer-ordered simulation optimization using R-SPLINE: Retrospective search with piecewise-linear interpolation and neighborhood enumeration | |
US20200223061A1 (en) | Automating a process using robotic process automation code | |
van Zelst et al. | ILP-Based Process Discovery Using Hybrid Regions. | |
US20180165618A1 (en) | Resource scheduling for field services | |
US20190087755A1 (en) | Cognitive process learning | |
CN109815343B (zh) | 获得知识图谱中的数据模型的方法、装置、设备和介质 | |
US11294945B2 (en) | Unsupervised text summarization with reinforcement learning | |
CN110781180B (zh) | 一种数据筛选方法和数据筛选装置 | |
CN112507102B (zh) | 基于预训练范式模型的预测部署系统、方法、装置及介质 | |
CN111371673A (zh) | Notes邮件自动处理方法和装置 | |
US10671610B2 (en) | Processing window partitioning and ordering for on-line analytical processing (OLAP) functions | |
CN110795331A (zh) | 软件测试的方法和装置 | |
US20200293908A1 (en) | Performing data processing based on decision tree | |
CN114445047A (zh) | 工作流生成方法、装置、电子设备及存储介质 | |
CN115686499A (zh) | 生成请求报文的方法、装置、存储介质以及电子设备 | |
CN115801980A (zh) | 视频生成方法和装置 | |
CN115186738B (zh) | 模型训练方法、装置和存储介质 | |
CN113196232A (zh) | 神经网络调度方法、装置、计算机设备及可读存储介质 | |
CN115796228A (zh) | 算子融合方法、装置、设备以及存储介质 | |
CN114741173A (zh) | Dag任务编排的方法、装置、电子设备和存储介质 | |
CN114595047A (zh) | 一种批量任务处理方法和装置 | |
CN109614463B (zh) | 文本匹配处理方法及装置 | |
CN112070487A (zh) | 基于ai的rpa流程的生成方法、装置、设备及介质 |
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 |