联邦学习方法和联邦服务网络与流程

文档序号:33158999发布日期:2023-02-04 00:15阅读:30来源:国知局
联邦学习方法和联邦服务网络与流程

1.本技术涉及联邦学习隐私计算领域,特别是涉及一种联邦学习方法和联邦服务网络。


背景技术:

2.现代互联网的发展极大的推动了大数据行业的崛起,然而在实际应用的过程中,数据孤岛、数据隐私问题已然成为机构和行业从业者的关注重点。在此背景之下,联邦学习应运而生,这种隐私保护的分布式学习范式,为数据密集型的人工智能应用落地提供了具有实践意义的解决方案。
3.智慧医疗在诸多数据密集型人工智能应用之中具有极其重要的地位,现代医疗机构纷纷推动产业升级,实施医疗智能化、数据化改革,对患者的相关数据进行收集并利用人工智能辅助诊断与治疗,国外先进的开源数据集有eicu 等。但在实际的应用场景中,往往面临着三大难题:
4.一是患者的数据隐私问题,医疗机构不信任也不被允许将隐私敏感的数据上传到任何第三方服务器,只能接受将数据保留在己方服务器上进行训练,上传脱敏处理后的数据;
5.二是医疗机构硬件条件的异质性问题,医疗机构往往不是专业的数据中心,能够提供的计算硬件条件较差且难以统一;
6.三是在医疗机构内部的服务器集群上进行分布式训练以加速训练时,内存浪费和效率低的问题。


技术实现要素:

7.基于此,有必要针对上述技术问题,提供一种联邦学习方法。
8.本技术联邦学习方法,实施于包括多个参与方的联邦服务网络,其中至少一个参与方作为任务发起者,至少一个参与方作为数据提供者,所述数据提供者具有由至少两台服务器构建的本地服务器集群,各台服务器均具有计算节点和数据缓存节点,各计算节点用于提供算力,各数据缓存节点用于提供目标数据,所述联邦学习方法包括:
9.所述数据提供者接收所述任务发起者对所述目标数据的共享请求;
10.指定其中一个服务器的计算节点作为任务节点;
11.具有所述目标数据的数据缓存节点将所述目标数据预加载于相应服务器的内存池;
12.将所述目标数据由所述内存池传输至所述任务节点执行训练任务;
13.将所述训练任务的训练结果发送给所述任务发起者。
14.可选的,至少一部分所述参与方提供共享数据,所述共享数据为去除真实数据值的元数据。
15.可选的,所述元数据为表示所述真实数据值意义的指示标识。
16.可选的,所述数据提供者具有管理员,所述管理员根据所述目标数据的共享请求、相应控制所述数据提供者的本地服务器集群,至少包括:
17.获得所述本地服务器集群中所有服务器的算力,指定所述本地服务器集群中当前算力最大服务器的计算节点作为所述任务节点。
18.可选的,控制所述数据提供者的本地服务器集群,至少包括:
19.检索所述本地服务器集群各服务器中数据缓存节点的存储数据,命令具有所述目标数据的数据缓存节点向所述任务节点传输目标数据。
20.可选的,所述联邦学习方法还包括:
21.所述数据提供者根据所述目标数据的共享请求,生成数据加载规划;
22.按照所述数据加载规划,将具有所述目标数据的数据缓存节点将所述目标数据预加载于相应服务器的内存池。
23.可选的,对于其中一个具有所述目标数据的数据缓存节点:所述任务节点所需目标数据的数据量大于数据缓存节点预加载于相应的内存池的数据量,
24.将所述目标数据由所述内存池传输至所述任务节点的过程中,所述目标数据分次预加载于相应的内存池。
25.可选的,对于其中一个具有所述目标数据的数据缓存节点:所述任务节点所需目标数据的数据量大于数据缓存节点预加载于相应的内存池的数据量,
26.在数据缓存节点中所有目标数据传输至所述任务节点之前,利用数据缓存节点中尚未预加载的目标数据、实时更新内存池中已经传输至任务节点的目标数据。
27.可选的,将所述目标数据由所述内存池传输至所述任务节点,利用零拷贝技术完成。
28.本技术还提供一种联邦服务网络,包括多个参与方,其中至少一个参与方作为任务发起者,至少一个参与方作为数据提供者,所述数据提供者具有由至少两台服务器构建的本地服务器集群,各台服务器均具有计算节点和数据缓存节点,各计算节点用于提供算力,各数据缓存节点用于提供目标数据,所述联邦服务网络实施有联邦学习方法,所述联邦学习方法包括:
29.所述数据提供者接收所述任务发起者对所述目标数据的共享请求;
30.指定其中一个服务器的计算节点作为任务节点;
31.具有所述目标数据的数据缓存节点将所述目标数据预加载于相应服务器的内存池;
32.将所述目标数据由所述内存池传输至所述任务节点执行训练任务;
33.将所述训练任务的训练结果发送给所述任务发起者。
34.本技术联邦学习方法和联邦服务网络至少具有以下效果:
35.本技术数据提供者在一次任务的周期内,通过将目标数据预加载于内存池再发送至任务节点的方式,能够避免任务节点等待数据缓存节点传输数据的情况,极大地减少了任务节点等待数据缓存节点加载数据的时间。对于本地服务器集群硬件差异大的数据提供者而说,本技术提高了联邦学习方法的实施速度,提高了联邦学习的效率。
附图说明
36.图1为本技术一实施例中联邦学习方法的流程示意图;
具体实施方式
37.本技术一实施例中提供一种联邦学习方法,实施于包括多个参与方的联邦服务网络,其中至少一个参与方作为任务发起者,至少一个参与方作为数据提供者,数据提供者具有由至少两台服务器构建的本地服务器集群,各台服务器均具有计算节点和数据缓存节点,各计算节点用于提供算力,各数据缓存节点用于提供目标数据。
38.参与方可理解为在联邦服务网络中注册的一个主体,任务发起者和数据提供者可以根据数据的实际提供和使用进行角色互换。任务发起者无需也无法从数据提供者的本地数据库对数据做任何直接操作,所有的计算过程都在数据提供者的本地服务器集群进行,从而初步实现对数据提供者的数据隐私保护。
39.本地服务器集群例如可以是级联的多台计算机,计算节点例如由是各计算机的处理器提供,数据缓存节点例如可以由各计算机的存储空间提供。数据提供者的数据缓存节点在联邦学习方法的整个工作流程中,实现计算节点对所需数据的数据需求。本实施例联邦学习方法能够为联邦学习过程中的特征工程以及模型训练过程提供数据层上的透明化。
40.在联邦学习的传统数据加载模式中,本地服务器集群内的计算节点自主进行数据加载,或请求服务端,加载被请求数据并返回计算节点。但在传统数据加载模式中,存着计算节点的计算速度高于数据缓存节点提供数据速度的问题,这将导致训练过程变慢。具体表现情况为处理器的运算速度快于存储空间提供数据的速度,导致联邦学习效率低。
41.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。
42.参见图1,在一个实施例中,联邦学习方法至少包括步骤s100~步骤s500。步骤s100~步骤s500中各部分的主要技术方案,以及可替换或可分解的其他实施方案均分述于下述各步骤之中。
43.步骤s100,数据提供者接收任务发起者对目标数据的共享请求;
44.目标数据即任务发起者所需的数据。
45.步骤s200,指定其中一个服务器的计算节点作为任务节点;
46.任务节点可以是任意一个计算节点,也可以是算力最大的计算节点。计算节点和数据缓存节点在功能上解耦合,计算节点不再需要也不被允许直接与数据源进行任何交互,而是通过数据缓存节点来统一分配计算节点获得数据的方式(例如序列或规划)、并为计算节点提供数据,使数据提供者的功能清晰简化。
47.在步骤s200的具体实施方案中,数据提供者具有管理员,管理员根据目标数据的共享请求、相应控制数据提供者的本地服务器集群,至少包括:获得本地服务器集群中所有服务器的算力,指定本地服务器集群中当前算力最大服务器的计算节点作为任务节点。
48.在组建联邦服务网络时,参与方注册在联邦服务网络上注册的身份,即可视为管理员。管理员在整个方法流程中承担执行本方法各个流程、以及委派选择各计算节点和/或各缓存节点的角色。
49.步骤s300,具有目标数据的数据缓存节点将目标数据预加载于相应服务器的内存池;
50.可以理解,数据缓存节点用于为任务节点提供所需的数据。相应服务器可以理解为数据缓存节点所处的服务器。在数据提供者的进行一次任务的周期内,通过将目标数据预加载于内存池的方式,能够避免任务节点等待数据缓存节点传输数据的情况,极大地减少了任务节点等待数据缓存节点加载数据的时间。对于本地服务器集群硬件差异大的数据提供者而说,某些存有目标数据的服务器硬件情况较差。据此,本实施例提高了联邦学习方法的实施速度,提高了联邦学习的效率。对于服务器性能受限制的参与方,例如医疗机构,这一效果表现尤为明显。
51.在步骤s300中,联邦学习方法还包括:
52.步骤s310,数据提供者根据目标数据的共享请求,生成数据加载规划;
53.步骤s320,按照数据加载规划,将具有目标数据的数据缓存节点将目标数据预加载于相应服务器的内存池。
54.在步骤s300的子步骤s310~步骤s320中,数据加载规划即任务节点所需目标数据的次序或列表。按照数据加载规划,数据缓存节点预加载于内存池,以做好任务节点进行训练的准备。按照通过数据加载规划,以启发式的方式加载数据,进一步提高联邦学习的效率。
55.对于步骤s300,在第一种实施方式中,对于其中一个具有目标数据的数据缓存节点:任务节点所需目标数据的数据量大于数据缓存节点预加载于相应的内存池的数据量,将目标数据由内存池传输至任务节点的过程中,目标数据分次预加载于相应的内存池。
56.对于步骤s300,在第二种实施方式中,对于其中一个具有目标数据的数据缓存节点:任务节点所需目标数据的数据量大于数据缓存节点预加载于相应的内存池的数据量,在数据缓存节点中所有目标数据传输至任务节点之前,利用数据缓存节点中尚未预加载的目标数据、实时更新内存池中已经传输至任务节点的目标数据。
57.在步骤s300的上述两种实施方式中,数据缓存节点在启发式加载的基础上,如果内存池无法一次性将数据缓存节点所包括的目标数据全部加载进来,那么就需要多次加载和/或间隔加载。上述两种实施方式可根据具体情况需求选择或组合采用。
58.具体地,步骤s300也体现在步骤s400中,当数据缓存节点接收到来自任务节点的目标数据请求时,数据缓存节点根据数据加载规划,检测内存池(缓存)中是否已经加载完成所请求的目标数据,若是满足目标数据请求,则直接将目标数据打包并发送给任务节点;若不满足,则请求将目标数据加载至内存池中,再打包发送。
59.在此基础上,为提高数据服务效率,避免任务节点频繁等待数据缓存节点加载数据,按照数据加载规划,在该数据缓存节点将所有的目标数据发送完之前,判断任务节点对的目标数据使用情况,多次预加载目标数据进入内存池。
60.由于内存池大小受到限制,数据缓存节点通过调度算法对内存池中的数据进行换出。即上述步骤s300的两种实施方式中,在内存池中的目标数据传输完成后,分次预加载目标数据;以及在内存池中的目标数据部分传输至任务节点时,将尚未预加载进来的目标数据实时更新地加载到内存池,即更新已经传输至任务节点的目标数据。分次预加载和实时预加载均可以设置阈值,例如可以是内存池存储空间的一半。
61.步骤s400,将目标数据由内存池传输至任务节点执行训练任务;
62.具体地,数据提供者的管理员根据目标数据的共享请求、控制数据提供者的本地服务器集群,至少包括:检索本地服务器集群各服务器中数据缓存节点的存储数据,命令具有目标数据的数据缓存节点向任务节点传输目标数据。
63.进一步地,将目标数据由内存池传输至任务节点,利用零拷贝技术完成。数据缓存节点往往承担i/o密集型任务,需要进行频繁的数据读取与发送,零拷贝(zero-copy)有效地优化了数据在内核与用户态之间的移动效率。数据缓存节点通过零拷贝技术,在加载数据的并发送的过程中,实现了用户缓冲区和内核读缓冲区的映射,节省了数据在用户空间和内存空间的两次cpu拷贝。取而代之的是,数据直接在内核读缓冲区和写缓冲区之间进行一次cpu拷贝,将一次数据请求的处理流程中,所需的4次拷贝减少到了3次。并且将用户缓冲区映射到内核读缓冲区,从而节省了一半的内存需求,从而提高了内存读写的效率。各计算节点完成任务的初始化,并与数据缓存节点通过rpc建立连接。在预加载之前,可以对相应的内存池进行初始化操作。
64.步骤s500,将训练任务的训练结果发送给任务发起者。
65.本实施例提供联邦学习方法有效地避免了在智慧医疗领域的联邦学习实践中的隐私安全问题,同时提高了联邦学习数据服务的效率,在硬件较为落后的基础设施上也能提供高质量高速度的数据服务。
66.当前医疗等其他领域的联邦学习实践中,联邦学习服务器启动一次隐私计算任务时,需要各参与方将共享数据上传到联邦学习服务器,这一过程中存在隐私安全问题。基于此,在一个实施例中,实施联邦学习方法时,联邦服务网络的至少一部分参与方提供共享数据,共享数据为去除真实数据值的元数据。进一步地,元数据为表示真实数据值意义的指示标识。
67.可以理解,共享数据能够用于组成联邦服务网络,元数据能够参与方进行隐私保护。利用元数据数据库(meta database)作为隐私保护的主要手段,元数据数据库作为联邦学习系统中参与方所持有的数据与外界之间的唯一媒介,提供对数据源的抽象与操作代理。各参与方不需要将数据源上传到任意其他位置的数据库中,不需要上传至联邦服务网络的中央服务器中,避免了隐私泄露的风险。
68.广义上,元数据是对数据源中一个数据单元(在关系型数据库中的形式为表)的抽象表示,即除去了隐私敏感数据,只留下表头和数据点标识的抽象形式;狭义上,元数据是表形式关系型数据库的表头。
69.本实施例使用元数据代替了参与方原始数据上传到联邦服务器,元数据具体例如数据集内数据条数、标签和特征列,不包括(具体、实际)的数值信息。本实施例在不接触原始数据集隐私敏感部分的前提下,联邦服务器能够启动任务。
70.本实施例在联邦学习过程中于计算节点进行的特征工程和模型训练提供统一抽象的数据访问的能力,并能够屏蔽数据在本地的物理存储细节。以在参与方本地依赖关系型数据库进行存储的结构化数据为例,计算节点不需要获得任何数据源相关信息,如数据库开放的端口、数据表的行数、特征值等,只需要向数据缓存节点发送指定格式的数据请求,即可获得请求的目标数据。联邦学习系统中的任一参与者无需也无法从其他参与方的本地数据仓库对数据做任何直接的操作,所有计算过程都在参与方本地进行。从而对系统
中所有参与方的数据隐私进行保护,并兼顾高效的服务质量。
71.本实施例通过使用元数据代替原始数据的方式,避免了以往联邦学习在智慧医疗的应用过程中,医疗机构需要将原始数据直接上传到第三方服务器再进行训练这一过程带来的隐私问题。
72.应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
73.在一个实施例中,还提供一种联邦服务网络,联邦服务网络包括多个参与方,其中至少一个参与方作为任务发起者,至少一个参与方作为数据提供者,数据提供者具有由至少两台服务器构建的本地服务器集群,各台服务器均具有计算节点和数据缓存节点,各计算节点用于提供算力,各数据缓存节点用于提供目标数据,联邦服务网络实施有联邦学习方法,联邦学习方法包括:
74.步骤s100,数据提供者接收任务发起者对目标数据的共享请求;
75.步骤s200,指定其中一个服务器的计算节点作为任务节点;
76.步骤s300,具有目标数据的数据缓存节点将目标数据预加载于相应服务器的内存池;
77.步骤s400,将目标数据由内存池传输至任务节点执行训练任务;
78.步骤s500,将训练任务的训练结果发送给任务发起者。
79.在一个实施例中,联邦服务网络实施有联邦学习方法,联邦学习方法包括步骤s100~步骤s500其中至少一部分的子步骤。
80.本技术各实施例可应用于智慧医疗领域,在智慧医疗场景下的联邦学习应用领域下,本技术各实施例能够实现隐私保护且保持数据基础设施的高效运行。通过元数据来保护参与方的原始数据不被上传到第三方服务器,避免参与方的共享数据泄露,实现隐私了保护。对于各参与方的硬件条件各有不同且普遍不能提供较高的计算质量的应用场景,本技术各实施例通过预加载与零拷贝等方式提高了联邦学习数据服务的效率。
81.在一个实施例中,将本技术实施例提供的联邦学习方法具体应用于医疗技术领域。提供数据服务的流程为:
82.步骤910,不同参与方注册组建联邦服务网络;
83.参与联邦的医疗机构任务参与方,向中央的联邦服务器注册自身信息,提供元数据数据库的相应端口;
84.步骤920,任务发起者发起训练任务,提交任务信息;
85.主导医疗机构作为任务发起者确定参与本次任务的从属医疗机构,从属医疗机构作为数据提供者。主导医疗机构进行的操作包括:核对任务内容(如特征工程或是模型训练),确定参与任务的目标数据(此时由于元数据的原因无法获得具体的数据条目),确定相关超参数(如训练相关的learning rate,batchsize等,数据缓存节点相关的内存池大小等),将任务信息提交至联邦服务器。联邦服务器接收任务信息后,转发任务信息到相应的
从属医疗机构。
86.步骤s930,数据提供者在本地服务器集群启动数据加载规划;
87.具体地,数据提供者接收到任务信息,在本地服务器上启动数据缓存节点 (data-agent),数据提供者的管理员根据需求,为任务发起者确定计算节点、制定数据加载规划。
88.步骤s940,数据提供者执行训练任务;
89.在任务训练的过程中,主要涉及目标数据在计算节点和数据缓存节点之间的上传和下载操作。计算节点向数据缓存节点请求一次的数据,数据缓存节点根据内存池中的数据情况对计算节点给出反馈,当内存池中预记载的数据批次大于给定阈值时,直接将数据返回给计算节点;若是数据批次小于给定阈值,则在给计算节点返回数据的同时,根据该计算节点的数据规划从数据源预加载一定量的数据进入内存池,以预加载的形式实现计算节点数据请求的即时满足。给定阈值可理解为:在内存池中的存储数据向相应计算节点传输的过程中,内存池始终保持有计算节点所需数据的数据量。在内存池的大小受限制的情况下,为了提高内存的使用效率,使用调度算法对内存池内的数据以条为单位进行换出。
90.步骤950,训练结束;
91.训练结束后,数据提供者将任务的结果(特征工程的结果或是训练完成的模型)上传到该机构本地服务器集群的存储空间。之后各机构的数据缓存节点被销毁,内存池的内存被释放,完成了一次任务中数据缓存节点的生命周期。本实施例能够为医疗领域的联邦学习系统提供高效的数据服务。
92.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。不同实施例中的技术特征体现在同一附图中时,可视为该附图也同时披露了所涉及的各个实施例的组合例。
93.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1