一种联邦学习参数传输方法、聚合服务器及联邦学习系统与流程
未命名
09-22
阅读:99
评论:0
1.本发明涉及计算机软件技术领域,具体涉及一种联邦学习参数传输方法、聚合服务器及联邦学习系统。
背景技术:
2.联邦学习(federated learning)是一种分布式机器学习技术,其核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,在不需要交换本地个体或样本数据的前提下,仅通过交换模型参数或中间结果的方式,构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡,即“数据可用不可见”、“数据不动模型动”的应用新范式。
3.联邦学习框架中有两个角色:参与训练的设备节点和进行聚合工作的聚合服务器。本发明描述的场景为:由多个设备节点与一个聚合服务器节点组成的共同训练统一模型的场景。具体而言,在联邦学习参数聚合过程中,参与训练的设备节点将本地训练的参数发送到聚合服务器,聚合服务器对收集到参数进行聚合并下发到各个参与训练的设备节点,设备节点接收到新的参数后更新本地参数并继续训练,直到模型收敛。在该过程中,训练参数对聚合服务器明文可见,会导致可以采用逆向工程的方式推导出原始数据,进而导致参与训练的本地节点设备的信息泄露。
4.可信执行环境(tee),包括intel的sgx,amd的sev等,能保证程序在受保护的环境下运行,实现代码无法被窜改,中间变量无法被获取这两个基本目标。在本发明中,可信执行环境技术保证了保证数据提供方传入tee的api结果无法被数据使用方获取。通常,运行在tee中的一个程序称作一个飞地(enclave)。
技术实现要素:
5.针对现有技术中的技术缺陷,本发明实施例的目的在于提供一种联邦学习参数传输方法、聚合服务器及联邦学习系统,该方法对参数信息加密后发送,只对可信执行环境和目标节点可见,避免了其他训练节点或学习方以外第三方通过抓包等方式获取原始梯度信息从而逆向窃取节点的数据信息,进一步提升联邦学习系统的安全性。
6.为实现上述目的,第一方面,本发明实施例提供了一种联邦学习参数传输方法,该方法应用于聚合服务器的可信执行环境中,在所述可信执行环境中具有执行预设聚合算法的飞地,所述方法包括:
7.对第一模型参数进行加密生成第三密文,将所述第三密文发送给所有的设备节点,以使所述设备节点对所述第三密文进行解密获得第一模型参数;
8.接收所述设备节点发送的第四密文,对所述第四密文进行解密获得梯度信息,所述第四密文为所述设备节点对所述梯度信息加密生成,所述梯度信息为所述设备节点根据所述第一模型参数更新本地模型后进行新一轮训练结束后得到;
9.对第二模型参数进行加密生成第五密文,将所述第五密文将所述第五密文发送给
所述设备节点,以使所述设备节点对所述第五密文进行解密获得第二模型参数并根据所述第二模型参数进行新一轮训练,所述第二模型参数通过调用所述飞地将所述梯度信息作为输入执行预设聚合算法后得到。
10.进一步,所述聚合服务器的可信执行环境中通过隐私计算中间件随机生成有典公私钥对和梯度公私钥对
11.所述设备节点具有通过隐私计算中间件随机生成有枢公私钥对
12.进一步,所述方法还包括:
13.接收所述设备节点发送的第一密文,通过所述典私钥对所述第一密文进行解密获得枢私钥其中,所述第一密文为所述设备节点通过典公钥对枢私钥加密生成;
14.通过枢公钥对梯度私钥加密生成第二密文,将所述第二密文发送给所述设备节点,以使所述设备节点通过枢私钥对所述第二密文进行解密获得梯度私钥
15.进一步,通过梯度公钥对第一模型参数加密生成第三密文;
16.所述设备节点通过梯度私钥对所述第三密文进行解密获得所述第一模型参数。
17.进一步,所述第四密文为所述设备节点通过枢公钥对所述梯度信息加密生成;
18.通过枢私钥对所述第四密文进行解密获得梯度信息。
19.进一步,通过梯度公钥对所述第二模型参数进行加密生成第五密文;
20.所述设备节点通过梯度私钥对所述第五密文进行解密获得所述第二模型参数。
21.第二方面,本发明实施例还提供了一种用于联邦学习的聚合服务器,所述聚合服务器具有执行如第一方面所述的方法的可信执行环境。
22.第三方面,本发明实施例还提供了一种联邦学习系统,包括聚合服务器和若干个设备节点,所述聚合服务器具有执行如第一方面所述的方法的可信执行环境。
23.实施本发明实施例提供的方法,聚合服务器通过可信执行环境(tee)进行模型参数聚合,参与训练的设备节点也通过tee发送训练过程中的训练参数给到聚合服务器,全过程中发送的数据都是通过公钥加密的,对外部节点不可见。此外,即使是对于聚合服务器,由于tee的特殊设置,也保证了聚合服务器无法对聚合过程进行篡改,进一步保证了结果的可信。保证了联邦学习训练过程中参数不泄露。
附图说明
24.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
25.图1是本发明实施例提供的一种联邦学习参数传输方法的流程示意图。
具体实施方式
26.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
27.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本技术不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
28.应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在
……
时"或"当
……
时"或"响应于确定"。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。本技术使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。例如,“包括以下至少一个:a、b、c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a和b和c”,再如,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a和b和c”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
29.应该理解的是,虽然本技术实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
30.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
31.需要说明的是,在本文中,采用了诸如s1、s2等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行s2后执行s1等,但这些均应在本技术的保护范围之内。
32.本发明基于联邦学习系统框架,可将其抽象为一个聚合服务器负责聚合模型,多个设备节点基于本地数据训练本地参数,将参数发送给聚合服务器后,在聚合服务器进行
参数聚合,聚合后的参数发送给各个设备节点,设备节点基于新的参数进行新的训练。本实施例中,不指定具体的模型训练方法和联邦学习算法,在该抽象框架下的任何联邦学习算法即适用本专利中的参数训练方法。
33.如图1所示,本发明实施例提供了一种联邦学习参数传输方法的流程示意图。该方法应用于聚合服务器的可信执行环境中,保证联邦学习训练过程中参数不泄露,在所述可信执行环境中具有执行预设聚合算法的飞地。
34.具体的,所述方法可以包括以下步骤:
35.步骤s110:对第一模型参数进行加密生成第三密文,将所述第三密文发送给所有的设备节点,以使所述设备节点对所述第三密文进行解密获得第一模型参数。
36.具体的,所述聚合服务器的可信执行环境中通过隐私计算中间件随机生成有典公私钥对和梯度公私钥对所述设备节点具有通过隐私计算中间件随机生成有枢公私钥对
37.为保证梯度私钥和枢私钥在设备节点和聚合服务器之间转发的过程中不发生泄密,所述方法还包括:
38.步骤s210:接收所述设备节点发送的第一密文,通过所述典私钥对所述第一密文进行解密获得枢私钥其中,所述第一密文为所述设备节点通过典公钥对枢私钥加密生成。
39.步骤s120:通过枢公钥对梯度私钥加密生成第二密文,将所述第二密文发送给所述设备节点,以使所述设备节点通过枢私钥对所述第二密文进行解密获得梯度私钥
40.在初始阶段,系统会进行模型的初始化配置,并根据网络的设置创建设备节点与聚合服务器的通信工作。创建完成后,聚合服务器通过执行上述步骤s210-步骤s220,将上述准备过程中的梯度私钥加密结果发送给相应的设备节点,设备节点利用本地的枢私钥解密即可获取梯度私钥。该阶段结束时,设备节点和聚合服务器均已获取后续解密所需的相关密钥,保证了数据不被第三方窃取。
41.然后,在聚合服务器的可信执行环境中通过梯度公钥对第一模型参数加密生成第三密文。所述设备节点通过梯度私钥对所述第三密文进行解密获得所述第一模型参数。
42.步骤s120:接收所述设备节点发送的第四密文,对所述第四密文进行解密获得梯度信息,所述第四密文为所述设备节点对所述梯度信息加密生成,所述梯度信息为所述设备节点根据所述第一模型参数更新本地模型后进行新一轮训练结束后得到。
43.具体的,所述第四密文为所述设备节点通过枢公钥对所述梯度信息加密生成。在聚合服务器的可信执行环境中通过枢私钥对所述第四密文进行解密获得梯度信息。步骤s130:对第二模型参数进行加密生成第五密文,将所述第五密文将所述第五密文发送
给所述设备节点,以使所述设备节点对所述第五密文进行解密获得第二模型参数并根据所述第二模型参数进行新一轮训练,所述第二模型参数通过调用所述飞地将所述梯度信息作为输入执行预设聚合算法后得到。
44.具体的,在聚合服务器的可信执行环境中通过梯度公钥对所述第二模型参数进行加密生成第五密文。所述设备节点通过梯度私钥对所述第五密文进行解密获得所述第二模型参数。
45.可以理解的是,每个设备节点均会给聚合服务器的可信执行环境发送各自对应的梯度信息,在可信执行环境中调用所述飞地将所有的梯度信息作为输入执行预设聚合算法后得到第二模型参数。
46.在实际训练过程中,可在主流程接口中自定义训练结束的标准,如训练达到一定轮数,或模型准确率达到一定值。
47.综上所述,本方法考虑了对于联邦学习框架下训练参数加密传输的场景,通过使用本系统,tee的性质保证了参数传输过程中的隐私性,杜绝了外部节点通过网络嗅探或其他方式获取节点训练参数后进行逆向工程的可能,保证了参与训练的设备节点的隐私。同时,即使对于聚合服务器,由于tee的性质,保证了聚合服务器无法篡改聚合过程和结果,进一步保证了模型训练的可信度和准确度。
48.基于相同的发明构思,第二方面,本发明实施例还提供了一种用于联邦学习的聚合服务器,所述聚合服务器具有执行如联邦学习参数传输方法的可信执行环境。
49.基于相同的发明构思,第三方面,本发明实施例还提供了一种联邦学习系统,包括聚合服务器和若干个设备节点,所述聚合服务器具有执行如联邦学习参数传输方法的可信执行环境。
50.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种联邦学习参数传输方法,其特征在于,该方法应用于聚合服务器的可信执行环境中,在所述可信执行环境中具有执行预设聚合算法的飞地,所述方法包括:对第一模型参数进行加密生成第三密文,将所述第三密文发送给所有的设备节点,以使所述设备节点对所述第三密文进行解密获得第一模型参数;接收所述设备节点发送的第四密文,对所述第四密文进行解密获得梯度信息,所述第四密文为所述设备节点对所述梯度信息加密生成,所述梯度信息为所述设备节点根据所述第一模型参数更新本地模型后进行新一轮训练结束后得到;对第二模型参数进行加密生成第五密文,将所述第五密文将所述第五密文发送给所述设备节点,以使所述设备节点对所述第五密文进行解密获得第二模型参数并根据所述第二模型参数进行新一轮训练,所述第二模型参数通过调用所述飞地将所述梯度信息作为输入执行预设聚合算法后得到。2.如权利要求1所述的一种联邦学习参数传输方法,其特征在于,所述聚合服务器的可信执行环境中通过隐私计算中间件随机生成有典公私钥对和梯度公私钥对所述设备节点具有通过隐私计算中间件随机生成有枢公私钥对3.如权利要求2所述的一种联邦学习参数传输方法,其特征在于,所述方法还包括:接收所述设备节点发送的第一密文,通过所述典私钥对所述第一密文进行解密获得枢私钥其中,所述第一密文为所述设备节点通过典公钥对枢私钥加密生成;通过枢公钥对梯度私钥加密生成第二密文,将所述第二密文发送给所述设备节点,以使所述设备节点通过枢私钥对所述第二密文进行解密获得梯度私钥4.如权利要求3所述的一种联邦学习参数传输方法,其特征在于,通过梯度公钥对第一模型参数加密生成第三密文;所述设备节点通过梯度私钥对所述第三密文进行解密获得所述第一模型参数。5.如权利要求3所述的一种联邦学习参数传输方法,其特征在于,所述第四密文为所述设备节点通过枢公钥对所述梯度信息加密生成;通过枢私钥对所述第四密文进行解密获得梯度信息。6.如权利要求3所述的一种联邦学习参数传输方法,其特征在于,通过梯度公钥对所述第二模型参数进行加密生成第五密文;所述设备节点通过梯度私钥对所述第五密文进行解密获得所述第二模型参数。7.一种用于联邦学习的聚合服务器,其特征在于,所述聚合服务器具有执行如权利要求1-6任一项所述的方法的可信执行环境。8.一种联邦学习系统,包括聚合服务器和若干个设备节点,其特征在于,所述聚合服务器具有执行如权利要求1-6任一项所述的方法的可信执行环境。
技术总结
本发明实施例公开了一种联邦学习参数传输方法、聚合服务器及联邦学习系统,方法包括:对第一模型参数进行加密生成第三密文,将第三密文发送给所有的设备节点,以使设备节点对第三密文进行解密获得第一模型参数;接收设备节点发送的第四密文,对第四密文进行解密获得梯度信息,第四密文为设备节点对梯度信息加密生成,梯度信息为设备节点根据第一模型参数更新本地模型后进行新一轮训练结束后得到;对第二模型参数进行加密生成第五密文,将第五密文将第五密文发送给设备节点,以使设备节点对第五密文进行解密获得第二模型参数并根据第二模型参数进行新一轮训练,第二模型参数通过调用飞地将梯度信息作为输入执行预设聚合算法后得到。得到。得到。
技术研发人员:张金波 曾驭龙 范学鹏 汤载阳 王宸敏
受保护的技术使用者:北京熠智科技有限公司
技术研发日:2023.06.26
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/