掌桥专利:专业的专利平台
掌桥专利
首页

兼容不同计算框架的联邦学习方法和联邦学习系统

文献发布时间:2024-04-18 19:52:40


兼容不同计算框架的联邦学习方法和联邦学习系统

技术领域

本申请涉及分布式机器学习技术领域,特别是涉及一种兼容不同计算框架的联邦学习方法和联邦学习系统。

背景技术

近年,人工智能技术飞速发展,已经逐渐渗透应用到社会生活的方方面面。人工智能技术的飞速发展在给社会生活带来便利的同时,也带来了一些问题。传统的人工智能模型部署的过程面临着一定的问题。:模型的训练都是基于所有的集中的数据进行的训练。在实际社会生活的应用过程中,数据往往是分散在各个实体部分,包括不同的企业事业单位,或者同一个实体单位的不同的部门。无论是受到企业之间的限制,还是各个数据拥有者的隐私问题的限制,数据往往无法做到集中到中心进行全局数据集的训练,可以总结为数据的“孤岛问题”。此外,除了现实条件的固有限制,集中数据的人工智能模型训练还存在着以下缺陷:数据的集中存放和传输,存在着很高的数据泄露的风险;数据很容易受到恶意攻击造成数据的损毁和侵害;集中式的数据训练在面对着超大规模训练时,面临着算力不足、计算缓慢、训练周期长、难于调整等问题。

为了应对以上问题,科研学者提出了联邦学习(Federated Learning,FL)的概念与理论。联邦学习针对数据共享的方案提出了新颖的解决方法:数据无需上传到数据中心,而只需要在本地即可进行模型的训练,依据本地数据进行模型训练得到的局部模型被上传到全局中心模型,对全局模型的改善做出贡献,用此办法,解决了数据孤岛问题,以及数据的隐私安全问题。为了部署联邦学习模型,进行联邦学习模型的训练和实验,当前已经有成熟的联邦学习框架包括:TensorFlow Federated、PySyft、Federated AI TechnologyEnabler(FATE)等,已经广泛的应用于联邦学习的模型部署、训练、实验中。

但目前现有的联邦学习框架还无法依据当前现实的计算资源的条件限制进行针对性部署。对于其中一个参与方来说,参与方内部往往包括隶属于不同部门的服务器集群,服务器集群内的每台服务器提供一个计算节点,各台服务器的计算框架可能存在差异。显然,完成分布式机器学习需要若干参与方共同参与进行。

目前已有的可以在参与方内部使用分布式计算框架的联邦学习框架(如FATE)需要依赖所有参与方使用统一的分布式计算框架。因为当前的实现方式是以数据为中心,需要统一操作参与方的计算行为,所以需要设置所有参与方均为统一计算框架。然而如果针对不同参与方服务器集群的每台服务器重新部署统一的计算框架,工作量较大。

发明内容

基于此,有必要针对上述技术问题,提供一种兼容不同计算框架的联邦学习方法。

本申请兼容不同计算框架的联邦学习方法,实施在中心节点和若干参与方之间,各参与方包括若干计算节点,各计算节点包括计算实体引擎、受所述计算实体引擎调用的计算资源、受所述计算实体引擎调用的计算驱动单元;

所述计算资源用于根据所述计算实体引擎的调用请求提供计算实体服务,所述计算驱动单元用于匹配计算框架;

对于其中一个参与方,若参与联邦学习的各计算节点未使用计算框架,所述联邦学习方法包括:

所述计算节点获得所述中心节点的服务请求;

所述计算实体引擎接收所述服务请求,在所述计算资源中调用相应的计算实体服务;

所述计算实体服务完成所述服务请求;

对于其中一个参与方,若参与联邦学习的各计算节点使用计算框架且使用的计算框架至少部分不同,所述联邦学习方法包括:

所述计算节点获得所述中心节点的服务请求;

所述计算实体引擎接收所述服务请求,在所述计算资源中调用相应的计算实体服务;

所述计算实体服务通过所述计算实体引擎调用匹配不同计算框架的所述计算驱动单元;

所述计算实体引擎创建计算执行主体,所述计算执行主体完成所述服务请求。

可选的,所述计算资源包括队列式的多个计算实体服务,所述计算资源用于根据所述计算实体引擎的调用请求提供计算实体服务,包括:所述计算资源用于根据所述计算实体引擎的调用请求,提供队列中的其中一个计算实体服务。

可选的,所述计算实体引擎包括调度管理模块和计算驱动模块,

所述计算资源受所述调度管理模块调用;

所述计算实体引擎接收所述服务请求,在所述计算资源中调用相应的计算实体服务,具体包括:所述调度管理模块接收所述服务请求,在所述计算资源中调用相应的计算实体服务;

所述计算驱动单元受所述计算驱动模块调用;

所述计算实体服务通过所述计算实体引擎调用匹配不同计算框架的所述计算驱动单元,具体包括:所述计算实体服务通过所述计算驱动模块匹配不同计算框架的所述计算驱动单元;

所述计算实体引擎创建计算执行主体,具体包括:所述计算驱动模块创建计算执行主体。

可选的,各参与方包括提供的节点管理服务,所述节点管理服务用于接收各计算节点的工作状态、以及各计算节点使用的计算框架类型。

可选的,各计算节点包括提供的计算节点服务,所述计算节点服务用于与所述节点管理服务进行信息交互、以及用于向所计算实体引擎发送所述服务请求。

可选的,所述中心节点包括任务协调方,所述任务协调方用于与各参与方的节点管理服务通信;

在完成所述服务请求后,依次通过所述计算节点服务、所述节点管理服务向所述任务协调方提供任务内容反馈。

可选的,所述调度管理模块包括两种类型:本地调度模块和云调度模块;

所述节点管理服务判断各计算节点是否使用计算框架、以及各计算节点使用的计算框架是否至少部分不同;

若参与联邦学习的各计算节点未使用计算框架,所述计算实体引擎接收所述服务请求,在所述计算资源中调用相应的计算实体服务,具体包括:所述本地调度模块接收所述服务请求,在所述计算资源中调用相应的计算实体服务;

若参与联邦学习的各计算节点使用的计算框架至少部分不同,所述计算实体引擎接收所述服务请求,在所述计算资源中调用相应的计算实体服务,具体包括:所述云调度模块接收所述服务请求,在所述计算资源中调用相应的计算实体服务。

可选的,所述计算执行主体作为所述计算资源的一部分。

可选的,所述计算框架包括以下几者中的至少一者:mapreduce框架,spark框架,flink框架,ray框架。

本申请还提供一种兼容不同计算框架的联邦学习系统,包括中心节点和若干参与方,各参与方包括若干计算节点,各计算节点包括计算实体引擎、受所述计算实体引擎调用的计算资源、受所述计算实体引擎调用的计算驱动单元;

所述计算资源用于根据所述计算实体引擎的调用请求提供计算实体服务,所述计算驱动单元用于匹配计算框架;

所述联邦学习系统用于实施兼容不同计算框架的联邦学习方法;

对于其中一个参与方,若参与联邦学习的各计算节点未使用计算框架,所述联邦学习方法包括:

所述计算节点获得所述中心节点的服务请求;

所述计算实体引擎接收所述服务请求,在所述计算资源中调用相应的计算实体服务;

所述计算实体服务完成所述服务请求;

对于其中一个参与方,若参与联邦学习的各计算节点使用计算框架且使用的计算框架至少部分不同,所述联邦学习方法包括:

所述计算节点获得所述中心节点的服务请求;

所述计算实体引擎接收所述服务请求,在所述计算资源中调用相应的计算实体服务;

所述计算实体服务通过所述计算实体引擎调用匹配不同计算框架的所述计算驱动单元;

所述计算实体引擎创建计算执行主体,所述计算执行主体完成所述服务请求。

本申请兼容不同计算框架的联邦学习方法至少具有以下效果:

若参与联邦学习的各计算节点未使用计算框架,即进行本地计算,此时参与方内提供计算节点的服务器直接运行计算代码,计算驱动单元无须启动。

在各计算节点使用的计算框架存在不同时,本申请调用匹配不同计算框架的计算驱动单元,从而实现未使用计算框架、使用不同计算框架两种联邦学习工作状态的兼容。

本申请提供的联邦学习方法降低了部署和上手难度,对于框架大小的影响仅在于计算驱动单元、以及调用计算驱动单元的部分(计算驱动模块),在满足兼容功能的基础上,对现有计算框架的资源占用影响较小。

附图说明

图1为本申请一实施例中兼容不同计算框架的联邦学习方法的应用场景示意图;

图2为本申请一实施例中兼容不同计算框架的联邦学习方法的应用场景示意图;

图3为本申请一实施例中提供的计算机设备的结构示意图。

图中附图标记说明如下:

110、中心节点;210、参与方;220、节点管理服务;230、计算节点;240、计算节点服务;250、计算实体引擎;251、调度管理模块;252、计算驱动模块;260、计算资源;261、计算实体服务;270、计算驱动单元;280、计算执行主体;300、不同计算框架。

具体实施方式

现有技术在进行联邦学习时,依赖所有参与方使用统一的分布式计算框架。然而参与方服务器集群内各台服务器的分布式计算框架(简称为计算框架)可能存在不兼容的问题,例如参与方内不同的计算节点(由参与方内各台服务器提供)分别使用不同的计算框架,如分别使用mapreduce,spark,flink,ray等分布式计算框架中的几种。在进行联邦学习时,各计算节点由于框架不同,无法同时进行联邦学习任务。进行联邦学习时,参与方的体量是巨大的,在各参与方内的不同服务器同时部署同一计算框架,工作量较大。即使在参与方内各服务器安装了同一计算框架,则倘若有不同计算框架的使用需求,还需要重复操作,限定了联邦学习的方法广泛应用。

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。

为解决上述技术问题,参见图1~图2,本申请一实施例中提供一种兼容不同计算框架的联邦学习方法,联邦学习方法实施在中心节点110和若干参与方210之间,各参与方210包括若干计算节点230,各计算节点230包括计算实体引擎250、受计算实体引擎250调用的计算资源260、受计算实体引擎250调用的计算驱动单元270。其中计算资源260用于根据计算实体引擎250的调用请求提供计算实体服务261,计算驱动单元270用于匹配计算框架。

中心节点110可理解为进行联邦学习的组织者,进一步理解为组织联邦学习的服务器,身份是联邦学习的任务协调方。若干参与方210是指参与联邦学习的参与方210的数量至少为两个,参与方210为一个服务器集群,包括隶属于同一部门、同一单位的不同服务器,若干计算节点230由参与方210内不同的服务器提供。计算资源260是指计算节点230所在服务器的算力资源,该算力资源受计算实体引擎250调用。在服务器的底层工作逻辑中,计算资源260包括划分为队列的多个计算实体服务261完成相应的服务。计算资源260包括队列式的多个计算实体服务261,计算资源260用于根据计算实体引擎250的调用请求,提供队列中的其中一个计算实体服务261。计算框架包括以下几者中的至少一者:mapreduce框架,spark框架,flink框架,ray框架。

对于计算驱动单元270用于匹配计算框架,可以通过以下方式进行。首先确定的是,参与方在接收的联邦学习任务时进行计算的代码是按照使用的分布式计算框架进行调用编写的代码。

每个分布式计算框架都有自己的计算接口,计算驱动单元的任务是计算框架的连接适配工作,包括以下的至少一种:设置分布式计算框架的接口通信地址;设置分布式计算框架配置的环境变量。计算驱动单元需要做的就是让使用对应分布式计算框架编写的代码调用计算框架的时候,可以连接并使用计算框架的接口。所作计算驱动单元完成以上工作之后,即让调用了计算框架的代码能够成功调用对应的计算框架,当然也可以在调用失败异常后添加异常处理功能。

对于其中一个参与方210,若参与联邦学习的各计算节点230未使用计算框架,联邦学习方法包括步骤S11~步骤S13。

步骤S11,计算节点230获得中心节点110的服务请求。

步骤S12,计算实体引擎250接收服务请求,在计算资源260中调用相应的计算实体服务261。步骤S12具体通过计算实体引擎250包括的调度管理模块251完成。

步骤S13,计算实体服务261完成服务请求。

具体地,步骤S11~步骤S13包括中心节点110组织联邦学习,发出服务请求,计算节点230获得该服务请求,组织本地进行建立本地模型,组织计算后返回模型参数,以完成服务请求。

对于其中一个参与方210,若参与联邦学习的各计算节点230使用计算框架且使用的计算框架至少部分不同,联邦学习方法包括步骤S21~步骤S24。

步骤S21,计算节点230获得中心节点110的服务请求。

步骤S22,计算实体引擎250接收服务请求,在计算资源260中调用相应的计算实体服务261。

步骤S23,计算实体服务261通过计算实体引擎250调用匹配不同计算框架300的计算驱动单元270。步骤S23具体通过计算实体引擎250包括的计算驱动模块252匹配不同计算框架300的计算驱动单元270。

步骤S24,计算实体引擎250创建计算执行主体280,计算执行主体280完成服务请求。步骤S24中具体通过计算实体引擎250包括的计算驱动模块252创建计算执行主体280,计算执行主体280作为计算资源260的一部分。

进一步地,各参与方210包括提供的节点管理服务220,节点管理服务220用于接收各计算节点230的工作状态、以及各计算节点230使用的计算框架类型。

本实施例提供的兼容不同计算框架的联邦学习方法,利用计算驱动单元兼容不同的计算框架,相较于其他兼容方式,降低了部署和上手难度,即不同计算框架均可兼容进入本实施例提供的联邦学习方法中,本实施例提供的联邦学习方法对于框架大小的影响仅在于计算驱动单元和计算驱动模块,在满足兼容功能的基础上,对现有计算框架的资源占用影响较小。

此外,本实施例提供的兼容不同计算框架的联邦学习方法,当不同参与方使用不同的分布式计算框架、且同一参与方内部采用相同的计算框架时(属于云计算的一种情形),依然可以利用步骤S21~步骤S24,实现各个参与方的不同计算框架的兼容。

计算实体引擎通过抽象向上提供统一的接口(对节点管理服务)进行计算资源的申请、查看、管理等功能,以及兼容不同计算框架下的计算接口;向下通过使用不同的资源条件下的调度管理模块、以及不同计算框架下的计算驱动模块,兼容不同计算框架,完成实际的资源调度与计算执行功能。

各计算节点230包括提供的计算节点服务240,计算节点服务240用于与节点管理服务220进行信息交互、以及用于向所计算实体引擎250发送服务请求。

中心节点110包括任务协调方,任务协调方用于与各参与方210的节点管理服务220通信,最终获得计算资源260内完成服务请求的计算实体服务261。在完成服务请求后,依次通过计算节点服务240、节点管理服务220向任务协调方提供任务内容反馈。

在一个实施例中,调度管理模块251包括两种类型:本地调度模块和云调度模块。

节点管理服务220判断各计算节点230是否使用计算框架、以及各计算节点230使用的计算框架是否至少部分不同。

若参与联邦学习的各计算节点230未使用计算框架,步骤S12具体包括:本地调度模块接收服务请求,在计算资源260中调用相应的计算实体服务261;

若参与联邦学习的各计算节点230使用的计算框架至少部分不同,步骤S22具体包括:云调度模块接收服务请求,在计算资源260中调用相应的计算实体服务261。

在一个实施例中,对兼容不同计算框架300的联邦学习方法进行详细说明。

图1示出了本申请实施例提供的使用联邦学习框架进行联邦学习任务部署的整体结构示意图,也示出了计算实体引擎250在计算节点230中的定位与组成关系。

每个参与方210需要从中心节点110接收计算任务并执行计算,将结果传输回中心节点110以供中心节点110进行模型的聚合计算。由此,每个参与方210需要拥有计算节点进行计算任务的执行,同时需要进行计算资源的管理。

在进行联邦学习任务部署时,每个参与方210会启动管理本参与方任务等元信息的节点管理服务220,参与方210的每个计算节点启动相应的节点管理服务220进行节点的管理。

节点管理服务220通过与计算节点230的计算节点服务240交互获取计算节点230的信息以及实现分派任务等。同时每个计算节点服务240会通过与计算实体引擎250交互进行计算资源的获取与管理,计算实体引擎250管理调度计算资源260。

图2示出了计算资源260与计算实体引擎250的交互通信方式,以及计算资源260通过计算驱动单元270兼容不同计算框架300的方式。计算资源260包括由各个计算实体服务261的计算实体队列。

在参与方210接收到任务需要进行计算时,参与方210内的节点管理服务220接收到该指令之后,通过计算实体引擎250中的调度管理模块251在计算实体队列中调度获取到计算实体服务261(指其中一个计算实体服务261)的通信地址并返回。中心节点110作为任务协调方会使用该通信地址向该地址的服务发送任务执行指令,并附带任务的配置信息,关于通信地址的获得可参见图1。在计算实体服务261接收到该指令以及任务配置之后,向计算实体引擎250获取对应不同计算框架300的计算驱动模块252,计算驱动模块252返回对应的计算驱动单元270。之后创建计算执行主体280,并使用取到的计算驱动单元270,在不同计算框架300执行计算行为。计算执行主体280可以作为计算资源260的一部分。

参见图2,依据计算资源的情况,分为两种部署情况:本地单机部署和多机的分布式部署,两种部署方式中,主要的区别在于引擎运行环境不同以及计算实体的不同。

就图中所示框架图而言,进行两种部署方式的主要差异在于是否包括计算实体服务261接收指令,通过计算驱动模块252、利用计算驱动单元270结合不同计算框架300,从而创建计算执行主体280完成计算的过程。

本地单机部署一般情况下,不使用分布式计算框架。而多机式的分布式部署,需要使用计算框架,并且可能会存在不同计算框架。本实施例能够同时应对两种工作场景,即在未使用计算框架时直接引用计算实体服务261,在使用计算框架且计算框架存在不同时根据不同计算框架300调用不同的计算驱动单元270,创建计算执行主体280以完成计算。本实施例实现了单一计算框架和不同计算框架的兼容。

使用图中所示的计算实体引擎250部署联邦学习任务的步骤如下:

步骤101:参见图1,根据给定的配置信息,使用联邦学习框架,创建中心节点110服务和各个参与方210。

步骤102:依据给定配置信息中各个参与方210的计算节点230的数量和配置初始化计算节点。在创建计算节点230时,启动计算节点服务240,计算节点服务创建时会初始化计算实体引擎250中用于资源调度的调度管理模块251、以及计算驱动模块252。在本地单机部署的情况下,调度管理模块251(计算调度引擎)是常驻于后台的运行程序,调度管理模块251依据配置信息在本地创建若干可用的计算实体,用于提供计算实体服务261,形成计算实体队列,可以是常驻进程等,并启动后台服务维护计算实体的状态信息以及通信端口信息。在多机的分布式部署情况下,需要预先部署云计算环境,并在引擎初始化时将云引擎与云计算环境关联。云引擎在云计算环境中创建若干计算实体,用于提供计算实体服务261,并运行用于监控计算实体的服务。

步骤103:计算实体引擎启动后,调度管理模块251和计算驱动模块252两种类型的引擎均提供统一的对外调用接口。在计算节点服务240接收到参与方的节点管理服务220的功能调用后,即可调用调度管理模块251的统一接口实现计算资源260中计算实体服务261的调度,同时不需要为本地和多机分布式部署设计实现不同的程序。

步骤104:参与方210接收到任务执行指令以及任务配置后,返回可用计算实体服务261的地址接收任务配置,并通过计算实体引擎250中的计算驱动模块252获取对应不同计算框架300的计算驱动单元270,进而创建计算执行主体280,在对应的计算框架上执行计算任务,完成对不同计算框架的兼容。

在一个实施例中,计算实体引擎250按照功能划分为两个模块,调度管理模块251和计算驱动模块252。二者分别对应了计算实体引擎计算实体的调度监控功能、以及通过计算驱动兼容不同计算框架的功能。

调度管理模块251包括两种类型,本地计算实体引擎资源调度模块(简称为本地调度模块)、云计算实体引擎资源调度模块(简称为云调度模块),分别对应在本地单机计算资源条件下、以及多机云计算环境部署的条件下进行计算资源的调度与管理。

本实施例通过以上两种不同类型的调度管理模块251,即本地调度模块和云调度模块,从而兼容单机和多机分布式计算等不同的计算资源条件,并通过统一的对外接口提供资源调度管理的功能和方法。

联邦学习任务在本地单机部署时,调度管理模块251选用本地调度模块,进行计算资源260的调度和管理。在单机条件下,计算资源260申请请求返回一个本地可用的计算实体服务261的端口通信地址,调度管理模块的后台服务通过每个计算实体服务261的端口通信地址与计算实体服务进行通信,执行计算实体服务状态的查询和管理。

联邦学习任务在多机云计算环境的条件下部署时,调度管理模块251选用云调度模块进行计算资源的调度和管理。节点管理服务220接收到中心节点110的服务请求,向计算实体引擎250发送资源申请请求,计算实体引擎250内的调度管理模块选用云调度模块,返回云计算环境中运行的计算实体服务的通信地址。云调度模块在云计算环境中运行后台服务,进行云计算环境下的资源的分配和资源的状态的查看和管理,实现多机的物理计算资源的调度,运行和管理。

计算驱动模块252针对不同计算框架,调用相应的计算驱动单元270,以使联邦学习方法在参与方本地兼容不同的计算框架。具体地,在部署联邦学习任务时,计算实体引擎250通过在统一接口下,使用适应不同计算框架300的计算驱动单元270兼容参与方内各个计算节点230所使用的不同计算框架。

兼容不同计算环境即兼容不同计算框架,在部署联邦学习任务时,依据不同计算框架,在单机情况下,选择本地调度模块、在多机情况下选择云调度模块,计算实体引擎250的调度管理模块251在不同资源条件下,使用不同类型的调度模块(本地调度模块和云调度模块)以兼容不同计算框架所带来的不同计算资源条件。

在部署联邦学习任务时,各个参与方以及本地计算需求部署不同的计算框架,计算实体引擎250通过计算驱动模块252实现针对不同框架300调用对应的计算驱动单元270,并统一计算接口实现对不同计算计算框架300的兼容。

统一计算接口是指,调度管理模块251包括的本地调度模块和云调度模块,针对不同计算资源条件(本地计算或云计算)以及不同计算框架,对外暴露相同的资源调用以及计算执行接口,计算执行接口包括计算实体申请接口、资源状态查询接口、计算实体删除接口以及计算执行接口。

在联邦学习任务部署中,依据不同的计算资源条件相应选取本地调度模块和云调度模块。各个参与方210的计算节点服务240使用既定参数进行计算实体引擎250的初始化,之后使用计算实体引擎250对外暴露的统一接口。在本地计算场景下,调度管理模块251选用本地调度模块进行计算资源260的调度和管理;在云计算场景下,调度管理模块251选用云调度模块,通过计算驱动模块252,调用匹配不同计算框架300的计算驱动单元270创建计算执行主体280,完成云计算。

既定参数为计算实体引擎250初始化时所必须的参数,包括计算实体引擎250需要创建和维护的计算实体服务261的数量、工作端口、可用端口范围、通信认证文件路径,计算所使用的计算框架等。

计算实体引擎250接收既定参数进行初始化,计算实体引擎250在接收到参数初始化时,会按照既定参数通过调度管理模块创建若干计算实体服务261并维护其状态,启动后台服务进行计算实体服务261工作状态的查询和管理,计算驱动模块252维护当前所支持的计算框架类型并在进行计算时使用相应的计算驱动单元270。

每个参与方210均包含一个参与方的节点管理服务220,同时参与联邦学习的各个参与方210包含若干的计算节点230。每个计算节点230会启动计算节点服务240与节点管理服务220进行交互,计算节点服务向节点管理服务220提供运行联邦学习任务等计算服务。计算节点服务240接收到任务需要执行计算任务时,通过计算实体引擎250的调度管理模块251申请和管理计算资源260,进行计算时,计算实体引擎250通过计算驱动模块252使用对应的计算驱动单元270的统一接口,匹配不同计算框架300以执行计算行为。

本申请各实施例公开了一种兼容不同计算框架的联邦学习方法,能够兼容不同计算框架,进行资源调度和计算执行,应用于分布式机器学习领域。

各实施例可以依据不同计算框架(计算资源条件)选取相应计算实体引擎内相应的本地调度模块和云调度模块,采用云调用模块时利用计算驱动单元,匹配使用不同计算框架。

各实施例统一了不同计算框架下的资源调度和管理以及计算执行,可以兼容不同的计算资源与计算框架。

在一个实施例中,提供了一种计算机设备,该计算机设备对应提供参与方内其中一个计算节点,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力,具体为提供计算资源260。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序,包括各实施例提供的调度管理模块251、计算驱动模块252、计算驱动单元270等。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。

该计算机设备的网络接口用于与外部的终端通过网络连接通信,该网络接口受控于节点管理服务220。该计算机程序被处理器执行时以配合整个联邦学习系统完成联邦学习方法中,来自于中心节点的服务请求。

该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。不同实施例中的技术特征体现在同一附图中时,可视为该附图也同时披露了所涉及的各个实施例的组合例。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 联邦学习方法、系统及可读存储介质
  • 联邦学习方法、联邦学习装置及联邦学习系统
  • 联邦学习方法、联邦学习装置及联邦学习系统
技术分类

06120116335806