联邦学习平台之间的互通方法、装置、设备、介质及产品与流程

文档序号:32439455发布日期:2022-12-06 20:51阅读:211来源:国知局
联邦学习平台之间的互通方法、装置、设备、介质及产品与流程

1.本公开涉及人工智能技术领域,尤其涉及机器学习以及联邦学习技术领域,具体涉及一种联邦学习平台之间的互通方法、装置、设备、介质及产品。


背景技术:

2.联邦学习本质上是一种分布式机器学习框架,其做到了在保障数据隐私安全及合法合规的基础上,实现数据共享,共同建模。它的核心思想是在多个数据源共同参与模型训练时,不需要进行原始数据流转的前提下,仅通过交互模型中间参数进行模型联合训练,原始数据可以不出本地。这种方式实现数据隐私保护和数据共享分析的平衡,即“数据可用不可见”的数据应用模式。
3.现阶段,不同厂商依据不同的实现方式以及底层框架,研发得到了不同的联邦学习平台,通过这些联邦学习平台可以对不同的联邦学习任务进行处理。


技术实现要素:

4.本公开提供了一种联邦学习平台之间的互通方法、装置、设备、介质及产品。
5.根据本公开的一方面,提供了一种联邦学习平台之间的互通方法,由内置于本方联邦学习平台中的互联互通服务执行,包括:
6.响应于本方联邦学习平台中本方发起节点中的跨平台作业任务的开启指令,确定与所述跨平台作业任务匹配的对方联邦学习平台;
7.在各本方备选节点中,确定与所述对方联邦学习平台匹配的本方协同节点;
8.获取所述本方发起节点发送的与所述跨平台作业任务匹配的全局依赖图,并在所述全局依赖图满足翻译条件时,将所述全局依赖图翻译得到目标依赖图;
9.将所述目标依赖图发送至所述本方协同节点,以供所述本方协同节点基于所述目标依赖图与所述对方联邦学习平台共同执行所述跨平台作业任务。
10.根据本公开的另一方面,提供了一种联邦学习平台之间的互通装置,由内置于本方联邦学习平台中的互联互通服务执行,包括:
11.对方联邦学习平台确定模块,用于响应于本方联邦学习平台中本方发起节点中的跨平台作业任务的开启指令,确定与所述跨平台作业任务匹配的对方联邦学习平台;
12.本方协同节点确定模块,用于在各本方备选节点中,确定与所述对方联邦学习平台匹配的本方协同节点;
13.目标依赖图确定模块,用于获取所述本方发起节点发送的与所述跨平台作业任务匹配的全局依赖图,并在所述全局依赖图满足翻译条件时,将所述全局依赖图翻译得到目标依赖图;
14.目标依赖图发送模块,用于将所述目标依赖图发送至所述本方协同节点,以供所述本方协同节点基于所述目标依赖图与所述对方联邦学习平台共同执行所述跨平台作业任务。
15.根据本公开的另一方面,提供了一种电子设备,包括:
16.至少一个处理器;以及
17.与所述至少一个处理器通信连接的存储器;其中,
18.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开中任一实施例所述的方法。
19.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开中任一实施例所述的方法。
20.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开中任一实施例所述的方法。
21.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
22.附图用于更好地理解本方案,不构成对本公开的限定。其中:
23.图1是根据本公开实施例提供的一种联邦学习平台之间的互通方法的示意图;
24.图2是根据本公开实施例提供的另一种联邦学习平台之间的互通方法的示意图;
25.图3是根据本公开实施例提供的又一种联邦学习平台之间的互通方法的示意图;
26.图4是根据本公开实施例提供的再一种联邦学习平台之间的互通方法的示意图;
27.图5a是根据本公开实施例提供的互联互通服务所适用的翻译场景;
28.图5b是根据本公开实施例提供的互联互通服务所适用的扩展场景;
29.图5c是根据本公开实施例提供的翻译模式的示意图;
30.图5d是根据本公开实施例提供的直驱模式的示意图;
31.图6是根据本公开实施例提供的一种联邦学习平台之间的互通装置的结构示意图;
32.图7是用来实现本公开实施例的联邦学习平台之间的互通方法的电子设备的框图。
具体实施方式
33.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
34.图1是根据本公开实施例提供的一种联邦学习平台之间的互通方法的示意图,本实施例可适用于实现异构联邦学习平台间的数据互通,进而使异构联邦学习平台协同完成跨平台作业任务的情况,该方法可以由内置于本方联邦学习平台中的互联互通服务执行;具体的,参考图1,该方法具体包括如下:
35.s110、响应于本方联邦学习平台中本方发起节点中的跨平台作业任务的开启指令,确定与跨平台作业任务匹配的对方联邦学习平台。
36.其中,本方联邦学习平台可以为任一厂家开发的任一版本的联邦学习平台,例如,
fate联邦学习平台、fedlearner联邦学习平台、paddlefl联邦学习平台或者angel powerfl联邦学习平台等,本实施例中对其不加以限定。
37.在本实施例中,本方联邦学习平台中的本方发起节点可以为本方联邦学习平台中的参与方,其可以接收不同的作业任务(例如,数据处理任务、模型训练任务或者模型预测任务等,本实施例中对其不加以限定),并将各任务翻译成与其对应的全局依赖图,进一步的,可以将全局依赖图或者全局依赖图的部分分支发送至内置于本方联邦学习平台中的互联互通服务进行后续处理。
38.本实施例中,跨平台作业任务也可以为任一任务,例如,需要本方联邦学习平台以及第二联邦学习平台联合进行的模型训练任务、自然语言处理任务或者人脸识别任务等。
39.本实施例中,对方联邦学习平台即为与本方联邦学习平台共同处理跨平台作业任务的平台,其可以由跨平台作业任务的任务信息确定,也可以由开发者自行确定,本实施例中对其不加以限定。
40.需要说明的是,本实施例中涉及到的本方联邦学习平台中内置有互联互通服务,互联互通服务支持互通标准协议,可以理解的是,互通标准协议,是一个独立运行的进程,其可以使用远程过程调用(remote procedure call,rpc)作为互通协议;在本实施例中,与本方联邦学习平台协同处理联邦学习任务的对方联邦学习平台中可以配置有互联互通服务,也可以未配置互联互通服务,本实施例中对其不加以限定。
41.在本实施例的一个可选实现方式中,内置于本方联邦学习平台中的互联互通服务在接收到本方联邦学习平台中本方发起节点中的跨平台作业任务开始执行时,可以进一步的确定与该跨平台作业任务匹配的对方联邦学习平台。
42.示例性的,在本实施例中,当互联互通服务接收到本方发起节点中的跨平台作业任务开始执行时,可以根据跨平台作业任务的任务信息确定对方联邦学习平台;示例性的,跨平台作业任务的任务信息可以包括:作业任务的联邦学习平台的类型、版本信息,执行跨平台作业任务所需的数据等,本实施例中对其不加以限定。
43.s120、在各本方备选节点中,确定与对方联邦学习平台匹配的本方协同节点。
44.在本实施例的一个可选实现方式中,互联互通服务在确定与跨平台作业任务匹配的对方联邦学习平台之后,可以进一步的在互联互通服务的各本方备选节点中,确定与对方联邦学习平台匹配的本方协同节点;可以理解的是,在本实施例中,互联互通服务中包括的本方备选节点的数量是不固定的,可以包括5个本方备选阶段、10个本方备选节点,或者50个本方备选节点,本实施例中对其不加以限定。
45.可选的,在本实施例中,在确定对方联邦学习平台之后,可以进一步的查询对方联邦学习平台的版本信息,进而根据查询到的版本信息从各本方备选节点中确定与对方联邦学习平台匹配的本方协同节点;可以理解的是,在本实施例中,本方协同节点可以与对方联邦学习平台中的节点设备协同处理本实施例中涉及到的跨平台作业任务。
46.s130、获取本方发起节点发送的与跨平台作业任务匹配的全局依赖图,并在全局依赖图满足翻译条件时,将全局依赖图翻译得到目标依赖图。
47.在本实施例中,与跨平台作业任务匹配的全局依赖图可以为与跨平台作业任务匹配的有向无环图(directed acyclic graph,dag),其是一个没有有向循环的、有限的有向图。具体来说,它由有限个顶点和有向边组成,每条有向边都从一个顶点指向另一个顶点;
从任意一个顶点出发都不能通过这些有向边回到原来的顶点。可以理解的是,从dag图的任一顶点v开始,沿着有序的边,最终循环回到v是不可能的。在本实施例中,与跨平台作业任务匹配的全局依赖图也可以为与跨平台作业任务匹配的领域特定语言(domain-specific language,dsl),即将跨平台作业任务通过dsl语句进行描述;在本实施例中,与跨平台作业任务匹配的全局依赖图也可以为ui画布,即直接通过dag描述文件对跨平台作业任务进行描述。
48.在本实施例的一个可选实现方式中,在确定本方协同节点之后,可以获取本方发起节点发送的与跨平台作业任务匹配的全局依赖图,并确定全局依赖图是否满足翻译条件;当全局依赖图满足翻译条件时,可以将全局依赖图翻译成目标依赖图;可以理解的是,目标依赖图即为本方协同节点可以理解的依赖图。
49.可选的,在本实施例中,当开启跨平台作业任务之后,本方发起节点可以生成与跨平台任务匹配的全局依赖图,并直接将全局依赖图发送至互联互通服务,以便后续通过互联互通服务调用本方协同节点,对跨平台作业任务进行翻译;本方发起节点也可以将与跨平台任务匹配的全局依赖图的部分分支发送至互联互通服务,以便后续通过互联互通服务调用本方协同节点,对跨平台作业任务进行处理,从而将本方发起节点与本方协同节点进行捆绑,增强本方发起节点的能力。
50.进一步的,互联互通服务在接收到目标节点发送的全局依赖图之后,可以确定全局依赖图是否满足翻译条件;在本实施例中可以通过开发者确定全局依赖图是否满足翻译条件,也可以根据全局依赖图的复杂程度确定全局依赖图是否满足翻译条件;示例性的,开发者在对跨平台作业任务处理之前,可以根据本方联邦学习平台的特性确定与该跨平台任务匹配的全局依赖图是否满足翻译条件;如果开发者确定全局依赖图满足翻译条件,则互联互通服务可以对接收到的全局依赖图进行翻译,从而得到目标依赖图。
51.在本实施例的另一个可选实现方式中,如果开发者确定全局依赖图不满足翻译条件,则互联互通服务可以对接收到的全局依赖图进行解析,得到与每一个任务节点对应的本方任务以及对方任务,并依次对本方任务以及对方任务进行转发,以实现对各任务进行有效处理,可以理解的是,该过程是一个静态过程。
52.s140、将目标依赖图发送至本方协同节点,以供本方协同节点基于目标依赖图与对方联邦学习平台共同执行跨平台作业任务。
53.在本实施例的一个可选实现方式中,当互联互通服务接收到的与跨平台作业任务匹配的全局依赖图满足翻译条件时,将全局依赖图翻译成目标依赖图之后,可以将目标依赖图发送至本方协同节点,示例性的,可以将目标依赖图发送至本方协同节点的插件中,以待本方协同节点中的插件对目标依赖图进行后续的处理;可以理解的是,在本实施例中,互联互通服务可以将全局依赖图翻译成本方备选节点可以理解的形式,这样在本方协同节点接收到目标依赖图之后,无需对目标依赖图进行转换,可以直接对目标依赖图进行理解与分析。
54.可选的,在本实施例中,本方协同节点在接收到互联互通服务发送的目标依赖图之后,可以进一步的对目标依赖图进行理解与分析,得到与目标依赖图中每个节点任务对应的本方任务以及对方任务,并按照各节点任务的顺序依次将各对方任务发送至对方联邦学习平台中与本方协同节点对应的节点设备,以使对方联邦学习平台中与本方协同节点对
应的节点设备对各对方任务进行依次处理;进一步的,可以依次获取与各本方任务对应的数据,并按顺序对各本方任务进行处理。这样,即实现了本方联邦学习平台与对方联邦学习平台协同对跨平台作业任务进行处理。
55.本实施例的方案,通过响应于本方联邦学习平台中本方发起节点中的跨平台作业任务的开启指令,确定与跨平台作业任务匹配的对方联邦学习平台,并在各本方备选节点中确定与对方联邦学习平台匹配的本方协同节点,为本方联邦学习平台以及对方联邦学习平台之间的互通提供依据;进一步的,可以获取本方发起节点发送的与跨平台作业任务匹配的全局依赖图,并在全局依赖图满足翻译条件时,将全局依赖图翻译得到目标依赖图;将目标依赖图发送至本方协同节点,可以本方协同节点基于目标依赖图与对方联邦学习平台共同执行跨平台作业任务,解决了现阶段联邦学习平台之间互通复杂的问题,可以实现不同联邦学习平台之间的互通,提升了作业任务的处理效率。
56.图2是根据本公开实施例提供的另一种联邦学习平台之间的互通方法的示意图,本实施例是对上述技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图2所示,联邦学习平台之间的互通方法包括如下:
57.s210、响应于本方联邦学习平台中本方发起节点中的跨平台作业任务的开启指令,查询跨平台作业任务的任务信息,并根据任务信息确定与跨平台作业任务匹配的对方联邦学习平台。
58.其中,跨平台作业任务的任务信息中可以包括:跨平台作业任务的类型、任务处理目标、参与跨平台作业任务的两个或者更多个联邦学习平台的信息以及处理跨平台作业任务所需的数据或者数据标注方式等,本实施例中对其不加以限定。
59.在本实施例的一个可选实现方式中,内置于本方联邦学习平台中的互联互通服务在接收到本方联邦学习平台中本方发起节点中的跨平台作业任务开始执行时,可以进一步的查询跨平台作业任务的任务信息,并根据查询到的任务信息确定与跨平台作业任务匹配的对方联邦学习平台。
60.示例性的,在本实施例中,通过查询跨平台作业任务的任务信息,确定处理该任务共需两个联邦学习平台,分别为厂商a开发的本方联邦学习平台,以及厂商b开发的第二联邦学习平台,那么,即可确定与跨平台作业任务匹配的对方联邦学习平台为厂商b开发的第二联邦学习平台。
61.这样设置的好处在于,可以为后续快速地确定本方协同节点,与对方联邦学习平台进行适配通信提供依据。
62.s220、获取对方联邦学习平台的版本信息,并确定与版本信息匹配的本方协同节点;在各本方备选节点中确定本方协同节点,并选择本方协同节点。
63.其中,对方联邦学习平台的版本信息中可以包括对方联邦学习平台中的节点设备的版本信息,示例性的,对方联邦学习平台中的节点设备的版本信息可以为fate 1.7或者fate 1.8等,本实施例中对其不加以限定。
64.在本实施例的一个可选实现方式中,在确定与跨平台作业任务匹配的对方联邦学习平台之后,可以进一步的获取对方联邦学习平台的版本信息,并根据对方联邦学习平台的版本信息确定本方协同节点的信息;进一步的,可以在本方联邦学习平台的各本方备选节点中定位到本方协同节点,并选择所定位到的本方协同节点。
65.可选的,在本实施例中,在确定与跨平台作业任务匹配的对方联邦学习平台之后,可以进一步的获取对方联邦学习平台的版本信息,进而根据对方联邦学习平台的版本信息确定本方协同节点的信息;进一步的,可以从本方联邦学习平台中的全部本方备选节点中确定与本方协同节点的信息对应的节点设备,该节点设备即为本实施例中涉及到的本方协同节点;进一步的,可以确定该本方协同节点。
66.这样设置的好处在于,通过确定本方协同节点,可以为后续本方联邦学习平台以及对方联邦学习平台公共完成跨平台作业任务提供依据,建立了本方联邦学习平台与对方联邦学习平台之间的桥梁。
67.s230、获取本方发起节点发送的与跨平台作业任务匹配的全局依赖图。
68.s240、根据全局依赖图的复杂程度确定全局依赖图是否满足翻译条件。
69.在本实施例的一个可选实现方式中,互联互通服务在接收到本方发起节点发送的全局依赖图之后,可以进一步的确定全局依赖图是否满足翻译条件。
70.可选的,在本实施例中,可以根据全局依赖图的复杂程度确定全局依赖图是否满足翻译条件;当复杂程度满足预设要求时,确定全局依赖图满足翻译条件;其中,预设要求可以为全局依赖图的复杂度是否大于预设复杂度阈值;预设复杂度阈值可以为0.8、0.9或者0.95等数值,本实施例中对其不加以限定;示例性的,当全局依赖图的复杂程度大于预设复杂程度阈值时,可以确定全局依赖图不满足翻译条件;当全局依赖图的复杂程度小于或者等于预设复杂程度阈值时,确定全局依赖图满足翻译条件。
71.可选的,在本实施例中,还可以根据开发者的指示信息确定全局依赖图是否满足翻译条件;示例性的,开发者可以在跨平台作业任务开启之前主动确定与跨平台作业任务匹配的全局依赖图是否满足翻译条件,并将确定结果发送互联互通服务;互联互通服务即可根据开发者发送的信息,确定接收到全局依赖图之后,是否需要对其进行翻译处理。
72.这样设置的好处在于,可以对跨平台作业任务进行有效且最优地处理,提升了跨平台作业任务的处理准确率。
73.s250、在全局依赖图满足翻译条件时,将全局依赖图翻译得到目标依赖图,将目标依赖图发送至本方协同节点。
74.在本实施例的一个可选实现方式中,互联互通服务在确定本方发起节点发送的全局依赖图满足翻译条件时,可以通过互联互通服务内部的调度服务,将与跨平台作业任务匹配的全局依赖图根据语义转换成与本方协同节点的适配器匹配的目标依赖图,也就是将全局依赖图转换成与协同联邦学习匹配的作业表示形式,以便后续本方协同节点和对方联邦学习平台协同对跨平台作业任务进行处理。
75.在本实施例的一个可选实现方式中,在全局依赖图满足翻译条件时,将全局依赖图翻译得到目标依赖图,可以包括:确定与本方协同节点的适配器所匹配的依赖图形态;根据依赖图形态对与全局依赖图进行翻译,得到目标依赖图。
76.可选的,在本实施例中,互联互通服务在确定本方发起节点发送的全局依赖图满足翻译条件时,可以通过互通服务确定与本方协同节点的适配器所匹配的依赖图形态,即确定本方协同节点针对作业任务的表示形式,进而根据本方协同节点针对作业任务的表示形式对全局依赖图进行转换,转换得到与本方协同节点针对作业任务的表示形式对应的目标依赖图。
77.这样设置的好处在于,通过互联互通服务对与跨平台作业任务匹配的全局依赖图进行转换,可以得到与后端联邦学习平台(即对方联邦学习平台)适配的作业任务表示形式,以便后续本方协同节点和对方联邦学习平台协同对跨平台作业任务进行处理。
78.s260、在确定全局依赖图不满足翻译条件时,对全局依赖图进行解析,得到各本方任务以及各对方任务;将各本方任务发送至本方协同节点,各对方任务发送至对方联邦学习平台中的互联互通服务。
79.在本实施例的一个可选实现方式中,互联互通服务在确定本方发起节点发送的全局依赖图不满足翻译条件时,可以通过互联互通服务内部的调度服务,直接将与跨平台作业任务匹配的全局依赖图解析成具体的作业节点任务,例如,可以得到与每个作业节点任务对应的本方任务以及对方任务;进一步的,可以将各本方任务发送至本方协同节点进行处理,将各对方任务发送至对方联邦学习平台中的互联互通服务,进而通过对方联邦学习平台中的互联互通服务将各对方任务转发至相应的节点设备进行处理。
80.示例性的,在本实施例中,当开发者确定人脸识别模型训练跨平台作业任务不满足翻译条件时,互联互通服务在接收到与人脸识别模型训练跨平台作业任务匹配的全局依赖图之后,可以进一步的通过内部的调度服务对全局依赖图进行解析,例如,解析得到十个作业节点任务,以及与每个节点任务匹配的本方任务和对方任务;进一步的,可以将十个本方任务发送至本方协同节点进行处理,将十个对方任务发送至对方联邦学习平台中的互联互通服务进行处理,这样即实现了本方联邦学习平台与联邦学习平台针对人脸识别模型训练跨平台作业任务的协作处理。
81.本实施例的方案,在确定全局依赖图不满足翻译条件时,可以进一步的对全局依赖图进行解析,得到各本方任务以及各对方任务;将各本方任务发送至本方协同节点,各对方任务发送至对方联邦学习平台中的互联互通服务,实现了在作业任务较复杂时,通过不同的连通学习平台对作业任务进行共同执行,实现了不同的联邦学习平台的互通的同时,也可以弥补本方联邦学习平台算法的性能不足的问题,丰富了本方联邦学习平台的算法功能。
82.图3是根据本公开实施例提供的又一种联邦学习平台之间的互通方法的示意图,本实施例是对上述技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图3所示,联邦学习平台之间的互通方法包括如下:
83.s310、响应于本方联邦学习平台中本方发起节点中的跨平台作业任务的开启指令,确定与跨平台作业任务匹配的对方联邦学习平台。
84.s320、在各本方备选节点中,确定与对方联邦学习平台匹配的本方协同节点。
85.s330、获取本方发起节点发送的与跨平台作业任务匹配的全局依赖图,并在全局依赖图满足翻译条件时,将全局依赖图翻译得到目标依赖图。
86.s340、将目标依赖图发送至本方协同节点。
87.在本实施例中,互联互通服务在将翻译得到的目标依赖图发送至本方协同节点之后,还可以执行下述任一操作。
88.s351、响应于本方协同节点针对目标依赖图中各本方任务的处理指令,依次获取与各本方任务匹配的数据,并分别将各数据发送至本方协同节点。
89.在本实施例的一个可选实现方式中,互联互通服务在将翻译得到的目标依赖图发
送至本方协同节点之后,本方协同节点的内的调度器可以对接收到的目标依赖图进行解析,解析得到与各任务作业节点对应的本方任务以及对方任务,并将各对方任务发送至对方联邦学习平台中对应的节点设备,以待对方联邦学习平台中对应的节点设备对各对方任务进行处理。
90.进一步的,本方协同节点可以依次对各本方任务进行处理,在对各本方任务进行处理的过程中,本方协同节点可以向互联互通服务获取与各本方任务匹配的数据;互联互通服务在接收到本方协同节点的数据获取指令之后,可以从本方联邦学习平台中的数据库中获取到各数据,并将各数据反馈至本方协同节点;进一步的,本方协同节点可以根据互联互通服务发送的数据依次对各任务进行处理;需要说明的是,本方协同节点可以一次仅向互联互通服务获取针对一个本方任务的数据,也可以同时向互联互通服务获取全部本方任务的数据,本实施例中对其不加以限定。
91.s352、在本方协同节点执行各本方任务之前,获取与各本方任务匹配的数据,并分别将各数据发送至本方协同节点。
92.在本实施例的一个可选实现方式中,互联互通服务在将翻译得到的目标依赖图发送至本方协同节点之后,本方协同节点的内的调度器可以对接收到的目标依赖图进行解析,解析得到与各任务作业节点对应的本方任务以及对方任务,并将各对方任务发送至对方联邦学习平台中对应的节点设备,以待对方联邦学习平台中对应的节点设备对各对方任务进行处理。
93.进一步的,本方协同节点可以依次对各本方任务进行处理之前,互联互通服务可以主动获取与各本方数据匹配的数据,并从本方联邦学习平台的数据库中依次获取各数据,并将获取到的各数据发送至本方协同节点,以使本方协同节点根据各数据对各本方任务进行处理。
94.需要说明的是,在本实施例中,本方协同节点在对各本方任务进行处理的过程中,可以主动地获取处理各任务所需的数据,也可以被动地获取处理各任务所需的数据,本实施例中对其不加以限定;其中,s351为数据被动获取过程,s352为数据被动获取过程。
95.s360、响应于本方发起节点针对跨平台作业任务的处理结果的获取指令,从本方协同节点下载处理结果,并将处理结果返回至本方发起节点。
96.在本实施例的一个可选实现方式中,在本方协同节点对各本方任务处理完毕之后,互联互通服务如果接收到本方发起节点针对跨平台作业任务的结果获取指令,互联互通服务可以从本方协同节点中下载任务处理结果,并将处理结果发送至本方发起节点,以使本方发起节点获取到与跨平台作业任务匹配的任务结果。
97.本实施例的方案,一方面可以通过本方协同节点向互联互通服务获取处理任务所需的数据,即通过被动的方式获取数据,可以实现数据的按需获取,提高了数据传输的效率;一方面可以在本方协同节点对各本方任务进行处理之前,互联互通服务即可主动将处理各任务所需的数据发送至本方协同节点,即通过主动的方式获取数据,省去了本方协同节点向互联互通服务获取数据的步骤,节省了算法的处理时间,提升了算法的执行效率。
98.图4是根据本公开实施例提供的再一种联邦学习平台之间的互通方法的示意图,本实施例是对上述技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图4所示,联邦学习平台之间的互通方法包括如下:
99.s410、响应于本方联邦学习平台中本方发起节点中的跨平台作业任务的开启指令,确定与跨平台作业任务匹配的对方联邦学习平台。
100.s420、在各本方备选节点中,确定与对方联邦学习平台匹配的本方协同节点。
101.s430、获取本方发起节点发送的与跨平台作业任务匹配的部分依赖图,并将部分依赖图发送至本方协同节点。
102.可以理解的是,与跨平台作业任务匹配的全局依赖图可以有多个分支或者节点例如,2个、5个或者10个等;可选的,在本实施例中,开发者可以确定将一个或者多个分支拆分得到部分依赖图,也可以将一个或者多个节点组合得到部分依赖图;并将部分依赖图发送至互联互通服务,以通过互联互通服务调用本方协同节点,与本方发起节点同时执行跨平台作业任务;这样即实现了在一个作业中使用来自不同软件的算法来进行联邦学习。
103.示例性的,与跨平台作业任务对应的全局依赖图共包含两个分支,开发者可以确定将其中一个分支发送至本方协同节点,进而本方协同节点和本方发起节点可以同时与对方联邦学习平台来完成跨平台作业任务。
104.本实施例的方案,在确定与对方联邦学习平台匹配的本方协同节点之后,还可以获取本方发起节点发送的与跨平台作业任务匹配的部分依赖图,并将部分依赖图发送至本方协同节点,可以对处理跨平台作业任务的节点设备进行扩展,在提升了跨平台作业任务的效率的同时,也实现了对联邦学习平台软件的扩展。
105.为了使本领域技术人员更好地理解本公开涉及到的联邦学习平台之间的互通方法,图5a是根据本公开实施例提供的互联互通服务所适用的翻译场景,图5a中,510为本方发起节点,520为本方协同节点,530为互联互通服务;本方发起节点510中即为与跨平台作业任务对应的全局依赖图,在本实施例中,可以通过互联互通服务520对全局依赖图进行解析或者翻译,并将解析得到的各任务作业节点(图中未示出)或者翻译得到的目标依赖图(图中未示出)发送至本方协同节点520,以待本方协同节点520进行后续的处理。这样通过与对方联邦学习平台协议所适配的本方协同节点530,去与对方联邦学习平台进行相互协作,这样既可解决本方发起节点与对方联邦学习平台不互通的问题。可以理解的是,图5a中涉及到的代理,即为本实施例中与互联互通服务对应的插件,通过该插件实现了全局依赖图的发送。
106.图5b是根据本公开实施例提供的互联互通服务所适用的扩展场景,图5b中,510为本方发起节点,520为本方协同节点,530为互联互通服务;本方发起节点510中即为与跨平台作业任务对应的全局依赖图,在本实施例中,可以通过互联互通服务520将跨平台作业任务的一个分支发送至本方协同节点,进而本方发起节点510和本方协同节点各自处理跨平台作业任务的一个分支。这样即可实现本方发起节点与本方协同节点这两个联邦学习软件的能力进行捆绑和加强,使一个作业任务可以同时使用两个软件的算法进行工作。
107.可以理解的是,图5b中涉及到的代理,即为本实施例中与互联互通服务对应的插件,通过该插件实现了全局依赖图的子图放入的发送。
108.需要说明的是,本实施例中涉及到的互联互通服务插件,是一个实现了标准协议的客户端,实现了联邦学习算子接口和包装形式,其可以部署在联邦学习算子环境中。本方发起节点可以通过其将与跨平台作业任务对应的全部或者部分子图发送给本方协同节点,用于翻译或者扩展其功能。
109.在本实施例中,根据dag调度实现方式的不同,可以分为翻译模式和直驱模式;翻译模式,是将本方发起节点派发的dag作业,根据语义转换成对应对方联邦学习平台的job表示方式,可以是dsl语言或者dag图,之后再发送给本方协同节点的调度器。图5c是翻译模式的示意图,其主要包括如下:本方联邦学习平台中的本方数据库510、本方发起节点520、互联互通服务530、本方协同节点540;对方联邦学习平台中的对方参与节点550和对方数据库560;
110.s510、发送与跨平台作业任务匹配的dag图。
111.s520、将dag图翻译成与本方协同节点匹配的目标dag图。
112.s521、将目标dag图发送至本方协同节点的调度器。
113.s530、对目标dag图进行解析,将本方任务发送至本方插件,将对方任务发送至对方联邦学习平台中的对方参与节点中的插件。
114.s531、获取与第一个本方节点任务对应的数据。
115.s522、从本方数据库中获取与第一个本方节点任务对应的数据,并将数据发送至本方协同节点的本方插件;直至所有节点任务处理完毕。
116.s532、根据数据对第一个本方节点任务进行处理。
117.s511、获取与跨平台作业任务匹配的处理结果。
118.s523、从本方协同节点中下载处理结果,并将处理结果发送至本方发起节点。
119.在本实施例中,直驱模式,直接使用标准协议服务的内部调度服务,直接解析成具体的作业节点任务,顺序执行。任务将直接发送给后端的联邦学习软件。图5d是直驱模式的示意图,其主要包括如下:本方联邦学习平台中的本方数据库510、本方发起节点520、互联互通服务530、本方协同节点540;对方联邦学习平台中的互联互通服务550、对方参与节点560和对方数据库570;
120.s510、发送与跨平台作业任务匹配的dag图。
121.s520、对dag图进行解析,得到各本方任务以及各对方任务;将本方任务发送至本方协同节点中的互联互通服务,互联互通法务直接启动相应的插件,将对方任务发送至对方联邦学习平台中的互联互通服务;
122.对方联邦学习平台中的互联互通服务将对方任务发送至对方参与节点中的插件进行处理。
123.s530、获取与第一个本方节点任务对应的数据。
124.s521、从数据库中获取与第一个本方节点任务对应的数据,并将数据发送至本方协同节点中的本方插件;直至所有节点任务处理完毕。
125.s531、根据数据对第一个本方节点任务进行处理。
126.s511、获取与跨平台作业任务匹配的处理结果。
127.s522、从本方协同节点中下载处理结果,并将处理结果发送至本方发起节点。
128.需要说明的是,图5c和图5d中仅以一个节点任务的处理过程为例进行说明(其他节点任务的处理过程未在图中示出),其他节点任务的处理过程与第一节点任务的处理过程完全相同,本实施例中对此不再进行赘述,其并不是对本实施例的限定。
129.在本实施例中,互联互通服务对于数据访问方式,为了平衡兼容性和性能方面的问题,主要会支持两种方式,主动模式和被动模式。主动模式,互联互通服务会主动将所需
要的数据通过上传等方式,主动的发送给后端的节点设备,其过程可能会存在数据格式转换,存储形式转换等操作,用于后续的计算过程。主动的方式,主要是使用节点设备所暴露的数据集的接口进行操作,所以兼容性较好,但是由于需要做数据传递和拷贝操作,会造成存储空间大,效率较低的问题。被动模式,在算子计算过程中,互联互通服务会被动的等待算法读取对应的数据。被动方式,互联互通服务是被动的在等待数据请求不会主动推送,所以节点设备中的算子是随用随拉,用完即丢弃,所以不会造成空间浪费,并且根据需求读取效率较高;但是由于算子需要做改造,所以其应用范围会受到限制。
130.现阶段,主要通过顶层互联又称为黑盒的互联,将整体联邦学习平台或者引擎当作一个整体,将内部的功能通过顶层的统一接口暴露出来,但是由于各家软件实现的差异性,导致上层暴露的接口没有统一的接口,需要使用不同的方法去对接不同的厂商,工作量十分巨大。并且由于软件的迭代结构也会随之变动,导致下游做互联的厂商必选随之调整。
131.本公开的方案,大大降低了传统的一对一的方式去适配不同厂商的软件接口,通过互联互通服务,就能对所有的已有支持互通服务的联邦学习软件,从而实现互联互通。
132.图6是根据本公开实施例提供的一种联邦学习平台之间的互通装置的结构示意图;该装置可以执行本公开任一实施例中涉及到的联邦学习平台之间的互通方法;参考图6,联邦学习平台之间的互通装置600,包括:对方联邦学习平台确定模块610、本方协同节点确定模块620、目标依赖图确定模块630以及目标依赖图发送模块640。
133.对方联邦学习平台确定模块610,用于响应于本方联邦学习平台中本方发起节点中的跨平台作业任务的开启指令,确定与跨平台作业任务匹配的对方联邦学习平台;
134.本方协同节点确定模块620,用于在各本方备选节点中,确定与对方联邦学习平台匹配的本方协同节点;
135.目标依赖图确定模块630,用于获取本方发起节点发送的与跨平台作业任务匹配的全局依赖图,并在全局依赖图满足翻译条件时,将全局依赖图翻译得到目标依赖图;
136.目标依赖图发送模块640,用于将目标依赖图发送至本方协同节点,以供本方协同节点基于目标依赖图与对方联邦学习平台共同执行跨平台作业任务。
137.本实施例的方案,通过对方联邦学习平台确定模块响应于本方联邦学习平台中本方发起节点中的跨平台作业任务的开启指令,确定与跨平台作业任务匹配的对方联邦学习平台;通过本方协同节点确定模块在各本方备选节点中,确定与对方联邦学习平台匹配的本方协同节点;通过目标依赖图确定模块获取本方发起节点发送的与跨平台作业任务匹配的全局依赖图,并在全局依赖图满足翻译条件时,将全局依赖图翻译得到目标依赖图;通过目标依赖图发送模块将目标依赖图发送至本方协同节点,以供本方协同节点基于目标依赖图与对方联邦学习平台共同执行跨平台作业任务,解决了现阶段联邦学习平台之间互通复杂的问题,可以实现不同联邦学习平台之间的互通,提升了作业任务的处理效率。
138.在本实施例的一个可选实现方式中,对方联邦学习平台确定模块610,具体用于查询所述跨平台作业任务的任务信息,并根据所述任务信息确定与所述跨平台作业任务匹配的对方联邦学习平台。
139.在本实施例的一个可选实现方式中,本方协同节点确定模块620,具体用于获取所述对方联邦学习平台的版本信息,并确定与所述版本信息匹配的本方协同节点;在各本方备选节点中确定所述本方协同节点,并选择所述本方协同节点。
140.在本实施例的一个可选实现方式中,目标依赖图确定模块630,还包括:目标依赖图翻译确定子模块,用于根据所述全局依赖图的复杂程度确定所述全局依赖图是否满足翻译条件;当所述复杂程度满足预设要求时,确定所述全局依赖图满足翻译条件。
141.在本实施例的一个可选实现方式中,目标依赖图确定模块630,具体用于确定与所述本方协同节点的适配器所匹配的依赖图形态;根据所述依赖图形态对与所述全局依赖图进行翻译,得到所述目标依赖图。
142.在本实施例的一个可选实现方式中,目标依赖图确定模块640,还包括:全局依赖图解析子模块,用于在确定所述全局依赖图不满足翻译条件时,对所述全局依赖图进行解析,得到各本方任务以及各对方任务;将各所述本方任务发送至所述本方协同节点,各所述对方任务发送至对方联邦学习平台中的互联互通服务。
143.在本实施例的一个可选实现方式中,联邦学习平台之间的互通装置,还包括:数据传输模块,用于响应于所述本方协同节点针对所述目标依赖图中各本方任务的处理指令,依次获取与各所述本方任务匹配的数据,并分别将各所述数据发送至所述本方协同节点;或者,在所述本方协同节点执行各本方任务之前,获取与各本方任务匹配的数据,并分别将各所述数据发送至所述本方协同节点。
144.在本实施例的一个可选实现方式中,联邦学习平台之间的互通装置,还包括:处理结果传输模块,用于响应于本方发起节点针对所述跨平台作业任务的处理结果的获取指令,从所述本方协同节点下载处理结果,并将所述处理结果返回至所述本方发起节点。
145.在本实施例的一个可选实现方式中,联邦学习平台之间的互通装置,还包括:部分依赖图获取模块,用于获取所述本方发起节点发送的与所述跨平台作业任务匹配的部分依赖图,并将所述部分依赖图发送至所述本方协同节点。
146.上述联邦学习平台之间的互通装置可执行本公开任意实施例所提供的联邦学习平台之间的互通方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本公开任意实施例提供的标注数据的生成方法。
147.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
148.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
149.图7示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
150.如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
151.设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
152.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如联邦学习平台之间的互通方法。例如,在一些实施例中,联邦学习平台之间的互通方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的联邦学习平台之间的互通方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行联邦学习平台之间的互通方法。
153.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
154.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
155.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
156.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来
将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
157.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
158.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
159.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
160.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1