本发明专利技术实施例公开了一种联邦学习算法组件优先级调度实现方法、装置及存储介质,其中联邦学习算法组件优先级调度实现方法包括步骤:获取算法组件的执行流程,将算法组件的执行流程解析为有向无环图,并且将有向无环图进行反转,生成反向有向无环图;对反向有向无环图进行拓扑排序,生成执行序列;遍历执行序列,计算出各个节点的执行权重,执行权重为节点的节点自身权重加上节点的节点入度权重,基于执行权重的大小,将执行序列进行降序排列,得到节点对应的所述算法组件的优先级调度顺序。通过上述方法,根据生成的执行序列,计算出执行权重,根据执行权重来定义算法组件的执行顺序,从而实现算法组件之间按照优先级进行自动调度。调度。调度。
【技术实现步骤摘要】
一种联邦学习算法组件优先级调度实现方法、装置及存储介质
[0001]本专利技术涉及计算机
,具体涉及一种联邦学习算法组件优先级调度实现方法、装置及存储介质。
技术介绍
[0002]在数据日益增加,数据联系日益紧密的今天,由于用户隐私和法律法规等问题,许多数据之间不能互通,产生了许多“数据孤岛”。联邦学习(Federated Learning)这一概念由Google在2017年提出,旨在于解决跨设备之间的联合建模问题,该方案为上述问题提供了一种可行的解法。建模人员在建模过程中,通常需要历经数据读写,数据预处理,统计分析,特征工程,机器学习,预测以及评估等流程。在联邦建模平台上,这些操作都会映射为联邦学习的算法组件,算法组件之间存在建模流程中的调用依赖,先后执行关系。建模任务提交后,建模任务在后端会被解析为有向无环图,通过对有向无环图进行拓扑排序后,生成线性执行序列。后续调度系统按照线性执行序列,对算法组件进行调度执行。
[0003]在现有技术中,无法自定义算法组件执行顺序。当前算法组件的执行顺序,依赖于有向无环图的拓扑排序,建模人员根据自己的理解去控制算法组件的执行顺序。例如,我们通常会希望下游节点多的组件要比下游节点少的组件能更早的执行,或者是在一些建模场景下,LR通常会比XGBoost运行更快,我们希望LR算法组件能比XGBoost更早的执行,这样能提前看到建模的效果。但是,单纯的依靠拓扑排序,是无法提供这种能力的。
技术实现思路
[0004]本专利技术实施例的目的在于提供一种联邦学习算法组件优先级调度实现方法、装置及存储介质,用以解决现有技术无法自定义算法组件执行顺序,因而造成无法实现算法组件间按照优先级进行自动调度的问题。
[0005]为实现上述目的,本专利技术实施例提供一种联邦学习算法组件优先级调度实现方法,包括步骤:获取算法组件的执行流程,将所述算法组件的执行流程解析为有向无环图,并且将所述有向无环图进行反转,生成反向有向无环图;对所述反向有向无环图进行拓扑排序,生成执行序列;遍历所述执行序列,计算出各个节点的执行权重,所述执行权重为所述节点的节点自身权重加上所述节点的节点入度权重;基于所述执行权重的大小,将所述执行序列进行降序排列,得到所述对应的所述算法组件的优先级调度顺序。
[0006]可选地,所述节点自身权重包括计算权重、分类权重和/或深度权重。
[0007]可选地,所述节点自身权重的计算公式为:A=a1*0.5+a2*0.3+a3*0.2,其中A为所述节点自身权重,a1为计算权重,a2为分类权重,a3为深度权重。
[0008]可选地,得到所述分类权重的方法包括:初始化所述算法组件,对所述算法组件进行分类,基于所述分类对每个所述算法组件设置所述分类权重。
[0009]可选地,所述计算权重通过人工设置,每个所述算法组件初始化后的所述计算权
重的默认值均为1。
[0010]可选地,得到所述深度权重的方法包括:在生成所述反向有向无环图之后,根据每个所述算法组件所处的深度,设置所述算法组件的所述深度权重。
[0011]可选地,所述节点入度权重的计算公式为:B=A+1/n*C1+1/n*C2+...+1/n*Cn,其中B为所述节点入度权重,A为当前节点的所述节点自身权重,n为所述当前节点的入度边数,C1为所述当前节点的第一个下游节点的所述执行权重,C2为所述当前节点的第二个下游节点的所述执行权重,Cn为所述当前节点的第n个下游节点的所述执行权重。
[0012]为实现上述目的,本专利技术还提供一种联邦学习算法组件优先级调度实现装置,包括:存储器;以及与所述存储器连接的处理器,所述处理器被配置成:获取算法组件的执行流程,将所述算法组件的执行流程解析为有向无环图,并且将所述有向无环图进行反转,生成反向有向无环图;对所述反向有向无环图进行拓扑排序,生成执行序列;遍历所述执行序列,计算出各个节点的执行权重,所述执行权重为所述节点的节点自身权重加上所述节点的节点入度权重;基于所述执行权重的大小,将所述执行序列进行降序排列,得到所述对应的所述算法组件的优先级调度顺序。
[0013]为实现上述目的,本专利技术还提供一种计算机存储介质,其上存储有计算机程序,其中所述计算机程序被机器执行时实现如上所述的方法的步骤。
[0014]本专利技术实施例具有如下优点:1.本专利技术实施例提供一种联邦学习算法组件优先级调度实现方法,包括步骤:获取算法组件的执行流程,将所述算法组件的执行流程解析为有向无环图,并且将所述有向无环图进行反转,生成反向有向无环图;对所述反向有向无环图进行拓扑排序,生成执行序列;遍历所述执行序列,计算出各个节点的执行权重,所述执行权重为所述节点的节点自身权重加上所述节点的节点入度权重,基于所述执行权重的大小,将所述执行序列进行降序排列,得到所述对应的所述算法组件的优先级调度顺序。
[0015]通过上述方法,根据生成的执行序列,计算出执行权重,根据执行权重来定义算法组件的执行顺序,从而实现算法组件之间按照优先级进行自动调度。
[0016]2.进一步,所述节点自身权重的计算公式为:A=a1*0.5+a2*0.3+a3*0.2,其中A为所述节点自身权重,a1为计算权重,a2为分类权重,a3为深度权重。
[0017]通过计算权重、分类权重和深度权重来计算出节点自身权重,能够将算法组件的类型、算法组件在反向有向无环图中所处的深度和用户自定义的权重均考虑在内,从而能够得到合理的优先级排序。
[0018]3.进一步,所述节点入度权重的计算公式为:B=A+1/n*C1+1/n*C2+...+1/n*Cn,其中B为所述节点入度权重,A为当前节点的所述节点自身权重,n为所述当前节点的入度边数,C1为所述当前节点的第一个下游节点的所述执行权重,C2为所述当前节点的第二个下游节点的所述执行权重,Cn为所述当前节点的第n个下游节点的所述执行权重。
[0019]通过计算当前节点的入度边数权重和下游节点的执行权重,能够将算法组件之间的依赖关系和依赖节点个数考虑在内,从而能够得到合理的优先级排序。
附图说明
[0020]为了更清楚地说明本专利技术的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
[0021]图1为本专利技术实施例提供的一种联邦学习算法组件优先级调度实现方法的流程图;图2为本专利技术实施例提供的一种有向无环图;图3为本专利技术实施例提供的一种反向有向无环图;图4为本专利技术实施例提供的一种联邦学习算法组件优先级调度实现装置的模块框图。
具体实施方式
[0022]以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种联邦学习算法组件优先级调度实现方法,其特征在于,包括以下步骤:获取算法组件的执行流程,将所述算法组件的执行流程解析为有向无环图,并且将所述有向无环图进行反转,生成反向有向无环图;对所述反向有向无环图进行拓扑排序,生成执行序列;遍历所述执行序列,计算出各个节点的执行权重,所述执行权重为所述节点的节点自身权重加上所述节点的节点入度权重;基于执行权重的大小,将执行序列进行降序排列,得到节点对应的所述算法组件的优先级调度顺序。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所述的联邦学习算法组件优先级...
【专利技术属性】
技术研发人员:朱振超,宋鎏屹,裴阳,
申请(专利权)人:蓝象智联杭州科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。