CN114610813A - 一种面向联邦学习的分布式存储方法、装置、设备及介质 - Google Patents
一种面向联邦学习的分布式存储方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114610813A CN114610813A CN202210248089.8A CN202210248089A CN114610813A CN 114610813 A CN114610813 A CN 114610813A CN 202210248089 A CN202210248089 A CN 202210248089A CN 114610813 A CN114610813 A CN 114610813A
- Authority
- CN
- China
- Prior art keywords
- model
- local
- node
- hash value
- distributed storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种面向联邦学习的分布式存储方法、装置、设备及介质,所述方法包括:接收任务发布者在智能合约上发布的训练任务;在通过所述智能合约获取初始模型后,联邦学习节点利用本地数据对所述初始模型进行训练得到局部模型,并确定局部模型的哈希值;联邦学习节点将局部模型的哈希值以及局部模型存放至分布式存储系统,并将局部模型的哈希值交易至所述智能合约;在通过PoA共识机制中投票选举的方式确定本轮训练的权威节点后,权威节点根据所述智能合约中本轮局部模型的哈希值来查找所述分布式存储系统中存放的局部模型;权威节点将局部模型进行聚合后得到全局模型。本申请能降低共识过程中各节点的算力消耗和区块链的存储压力。
Description
技术领域
本申请涉及区块链和联邦学习技术领域,特别涉及一种面向联邦学习的分布式存储方法、装置、设备及介质。
背景技术
随着人工智能的迅速发展与广泛应用,神经网络模型的规模日益增大,普通的硬件设备已难以支持大规模的神经网络训练。因此,作为一种分布式的机器学习框架,联邦学习被提出用于横向拓展模型训练的规模,并且克服数据孤岛的问题。但是,传统的联邦学习存在单点服务器失效、中心化服务器参数隐私泄露以及模型容易受到中毒攻击的问题。一方面,当单点服务器受到恶意攻击或者发生宕机现象时,数据和模型的安全、隐私会受到威胁。另一方面,训练的模型容易受到客户端的恶意篡改,导致模型的训练效率会受到极大的影响。
为了解决上述问题,常见的方法通过将区块链技术与联邦学习架构结合起来,以区块链共识技术来代替传统联邦学习的中心聚合,实现去中心化的联邦学习。
区块链技术是一种全新的分布式架构与计算范式,部署在计算机系统上。区块链系统中可以通过部署智能合约,满足不同的业务需求。智能合约是一段运行在区块链上的程序代码,节点可以通过发送交易的方式与智能合约交互。在联邦学习的业务场景中,任务发布者可以在智能合约上声明训练任务的具体信息,并通过发布合约的方式启动训练任务。
目前,大多数基于区块链的联邦学习系统使用的是基于PoW(工作量证明)的共识机制,在每一轮共识中,先下发数学任务,为了获得记账权和区块奖励,区块链节点会通过不断枚举和尝试的方式来解决数学任务,导致在区块链共识过程中耗费大量算力。
发明内容
本申请提供了一种面向联邦学习的分布式存储方法、装置、设备及介质,不仅能够降低共识过程中的节点算力的消耗,还能减缓区块链的存储压力。
为了实现上述目的,本申请采用如下技术方案:
第一方面,本申请提供了一种面向联邦学习的分布式存储方法,包括:
S1、接收任务发布者在智能合约上发布的训练任务,其中,所述智能合约部署在区块链上;
S2、在通过所述智能合约获取初始模型后,联邦学习节点利用本地数据对所述初始模型进行训练得到局部模型,并确定局部模型的哈希值;
S3、联邦学习节点将局部模型的哈希值以及局部模型存放至分布式存储系统,并将局部模型的哈希值交易至所述智能合约,其中,局部模型的哈希值与局部模型是一种键与值的关系;
S4、各普通节点在通过PoA共识机制中投票选举的方式确定本轮训练的权威节点后,权威节点根据所述智能合约中本轮局部模型的哈希值来查找所述分布式存储系统中存放的局部模型;
S5、权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,并在确定全局模型的哈希值之后,将全局模型的哈希值以及全局模型存放至分布式存储系统中。
通过采用上述技术方案,本方案在联邦学习引入区块链技术的场景下,先是通过在区块链上部署智能合约,并在智能合约中写入联邦学习的训练任务及基础模型,各联邦学习节点即可利用本地数据来训练通过智能合约接收到的基础模型,实现了满足数据隐私需求的前提下,对分散在各个联邦学习节点中的数据的整合和利用;各联邦学习节点利用本地数据训练基础模型得到局部模型之后,会生成相对应的哈希值,并将局部模型和哈希值通过键与值的关系存在分布式存储系统中,同时将哈希值交易到智能合约中,在区块链中智能合约中存储哈希值,然后通过哈希值从分布式存储系统中查找到相应的模型,能够有效缓解区块链的存储压力;在选取权威节点时,通过各普通节点根据对其他普通节点的认可度即可确定投票对象,进而选举出权威节点用来作为负责聚合模型的节点,由于普通节点之间的认可度是可以提前确定的,所以只需要记录下各普通节点的投票对象从中确定权威节点,不仅能够防止普通节点为了获得记账权而消耗大量算力,还能够减少共识时间而提高出块的速度,进一步降低了共识过程中的算力资源消耗。
根据本申请第一方面的一种能够实现的方式,所述方法还包括:
普通节点监督权威节点的行为,并判断权威节点的行为是否非法;
若权威节点的行为是非法的,则普通节点将再次通过投票选举的方式来确定本轮训练中新的权威节点。
根据本申请第一方面的一种能够实现的方式,所述权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,包括:
权威节点将查找到的局部模型进行检验,得到局部模型的准确率;
将准确率高于阈值的局部模型作为目标局部模型,通过权威节点将所有目标局部模型进行聚合,得到本轮训练的全局模型。
根据本申请第一方面的一种能够实现的方式,所述权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,包括:
权威节点对查找到的局部模型进行验证,得到局部模型的准确率;
在根据各局部模型的准确率来确定各局部模型的加权值之后,权威节点根据各局部模型的加权值将所有局部模型进行加权聚合,得到本轮训练的全局模型。
根据本申请第一方面的一种能够实现的方式,在确定全局模型的哈希值之后,还包括:
S6、所述权威节点将全局模型的哈希值交易至所述智能合约;
S7、联邦学习节点根据所述全局模型的哈希值来查找所述分布式存储系统中存放的全局模型;
S8、将所述全局模型作为新的初始模型重复步骤S2-S8,直至所述全局模型满足所述训练任务中的目标条件。
第二方面,本申请还提供了一种面向联邦学习的分布式存储装置,包括:
接收模块,用于接收任务发布者在智能合约上发布的训练任务,其中,所述智能合约部署在区块链上;
训练模块,用于在通过所述智能合约获取初始模型后,联邦学习节点利用本地数据对所述初始模型进行训练得到局部模型,并确定局部模型的哈希值;
存储模块,用于控制联邦学习节点将局部模型的哈希值以及局部模型存放至分布式存储系统,并将局部模型的哈希值交易至所述智能合约,其中,局部模型的哈希值与局部模型是一种键与值的关系;
共识模块,用于通过各普通节点在通过PoA共识机制中投票选举的方式确定本轮训练的权威节点后,权威节点根据所述智能合约中本轮局部模型的哈希值来查找所述分布式存储系统中存放的局部模型;
聚合模块,用于控制权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,并在确定全局模型的哈希值之后,将全局模型的哈希值以及全局模型存放至分布式存储系统中。
第三方面,本申请实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并能在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项面向联邦学习的分布式存储方法的步骤。
第四方面,本申请实施例提供一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项面向联邦学习的分布式存储方法的步骤。
综上所述,与现有技术相比,本申请实施例提供的技术方案带来的有益效果至少包括:
1、将分布式存储系统作为主要存储容器,来存储客户端在本地训练后得到的局部模型,以及权威节点聚合得到的全局模型,而区块链中的主要存储哈希值,通过哈希值从分布式存储系统中查找到相应的模型,能够有效缓解区块链的存储压力。
2、本申请使用PoA(权威证明)作为区块链的共识机制,通过各普通节点根据对其他普通节点的认可度即可确定投票对象,进而选举出权威节点用来作为负责聚合模型的节点,不仅能够防止普通节点为了获得聚合能力而消耗大量算力来证明自身的工作量,还能够加快确定权威节点的速率而提高出块的速度,进一步降低了共识过程中的算力资源消耗。
3、本申请中的普通节点具有监督权和选举权,能够时刻监督权威节点的行为,进而在权威节点出现非法行为而影响模型的聚合时,再次通过PoA共识机制选举出新的普通节点来接手原权威节点的工作。
附图说明
图1为本申请第一个较优选实施例提供的面向联邦学习的分布式存储方法的流程示意图;
图2为本申请第二个较优选实施例提供的面向联邦学习的分布式存储方法的流程示意图;
图3为本申请第三个较优选实施例提供的面向联邦学习的分布式存储装置的结构框图;
图4为本申请较优选实施例提供的面向联邦学习的分布式存储方法中智能节约与任务发布者、区块链、联邦学习节点、权威节点的交互示意图;
图5为本申请较优选实施例提供的面向联邦学习的分布式存储方法中分布式存储系统与联邦学习节点以及权威节点的交互示意图;
图6为本申请较优选实施例提供的面向联邦学习的分布式存储方法中联邦学习节点与智能合约、区块链、分布式存储系统的交互示意图;
图7为本申请较优选实施例提供的面向联邦学习的分布式存储方法的整体流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合说明书附图对本申请实施例作进一步详细描述。
如图1所示,本申请第一个较优选实施例公开了一种面向联邦学习的分布式存储方法,所述方法包括:
S1、接收任务发布者在智能合约上发布的训练任务,其中,所述智能合约部署在区块链上;
具体地,如图4所示,智能合约是一个部署在区块链系统上,当一定条件被满足的情况下,可以被自动执行的合约程序,任务发布者可以在智能合约中声明训练任务要求、初始模型以及验证数据集等训练任务信息;任务发布者发布智能合约并将其部署在区块链上运行,同时还能通过调用智能合约的函数,将开始任务或停止任务的指令广播至系统中,其他节点无权调用智能合约中的开始任务函数和停止任务函数;区块链对应的区块链节点由三部分组成,分别是普通节点、权威节点以及联邦学习节点,其中,普通节点、权威节点、联邦学习节点均不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等等;任务发布者还可以通过智能合约规定区块链的代币发放制度,比如,联邦学习节点上传准确率合格的模型时,可以得到一定的代币奖励;权威节点在聚合模型的过程中未出现非法行为时,也可以得到一定的代币奖励。
普通节点的主要功能为:
(1)在每轮训练中,投票选举出权威节点;
(2)监督权威节点的行为是否非法,若权威节点出现非法行为,普通节点可以投票将权威节点从系统中剔除,并且可以再次通过投票选举出新的权威节点来作为本轮训练的权威节点;
权威节点的主要功能为:
(1)通过调用智能合约的函数,获得该轮次所有局部模型的哈希值,并通过该哈希值从分布式存储系统中获得局部模型的具体参数;
(2)利用验证数据集,观察局部模型在验证数据集上的表现,判断局部模型是否收敛,验证局部模型的准确率,筛选出准确率合格的局部模型并进行模型聚合,生成全局模型;
(3)通过调用智能合约的函数,将全局模型的哈希值上传至智能合约中,更新智能合约的状态,将全局模型的具体参数推送至分布式存储系统中。
联邦学习节点:
(1)接收来自区块链上的代币奖励,当联邦学习节点上传合法的模型且被打包至区块链时,可以获得一定的代币奖励;
(2)通过调用智能合约上的函数,上传本地训练的局部模型的哈希值,以及获得全局模型的哈希值;
(3)将训练完毕的本地局部模型的具体参数推送至分布式存储系统中,通过全局模型的哈希值在分布式存储系统中获得全局模型的具体参数。
S2、在通过所述智能合约获取初始模型后,联邦学习节点利用本地数据对所述初始模型进行训练得到局部模型,并确定局部模型的哈希值;
具体地,联邦学习节点不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,其中,联邦学习节点与区块链、智能合约以及分布式存储系统的交互如图6所示,联邦学习节点利用本地数据训练模型并将训练好合法模型上传到区块链时,可以获得来自区块链上的代币奖励。
具体地,本地数据可以理解为用来训练模型的训练数据集,每个联邦学习中的本地数据是不同的,所以不同的联邦学习节点训练得到的局部模型是不同的,局部模型指的是局部模型具体参数,初始模型的模型结构与局部模型的模型结构是相同的,初始模型与局部模型的区别在于模型中的具体参数的不同。局部模型的哈希值是根据局部模型的具体参数通过哈希函数运算得到,不同的哈希值所对应的参数是不同的,因此通过模型参数的哈希值可以找到与之相对应的模型参数。
S3、联邦学习节点将局部模型的哈希值以及局部模型存放至分布式存储系统,并将局部模型的哈希值交易至所述智能合约,其中,局部模型的哈希值与局部模型是一种键与值的关系;
具体地,可以理解为将哈希值与对应局部模型的具体参数通过键与值的方式存放在分布式存储系统之中;由于分布式存储系统是基于内容进行寻址的,而根据哈希函数的性质,在不知道模型具体参数的前提下,是没有一种高效的方法可以从模型的哈希值计算出模型具体参数的,从而保证了隐私不被泄露。其中,权威节点、联邦学习节点以及分布式存储系统三者之间的交互关系如图5所示。
S4、各普通节点在通过PoA共识机制中投票选举的方式确定本轮训练的权威节点后,权威节点根据所述智能合约中本轮局部模型的哈希值来查找所述分布式存储系统中存放的局部模型;
具体地,每个普通节点都具有选举权和被选举权(即拥有选举其他普通节点成为权威节点的权力以及拥有被选举成为权威节点的权利),每个普通节点不能投票给自己,普通节点在投票时,会依据自身对其他的普通节点的认可度来确定投票对象,不同的普通节点对同一普通节点的认可度是不同的,每个普通节点对其他普通节点的认可度由多个影响因子决定,影响因子包括:两个普通节点之间的通信时延、普通节点的硬件因素(服务器CPU,内存,队列缓冲区大小和性能等)、普通节点的网络因素(服务器带宽,网络延迟,服务器漏洞跟踪,数据集积压等)。
具体地,通过哈希值查找分布式存储系统中存放的局部模型的方式是基于内容的寻址;权威节点只查找本轮次得到的局部模型,上一轮次的局部模型不在此次权威节点的查找范围之内。
S5、权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,并在确定全局模型的哈希值之后,将全局模型的哈希值以及全局模型存放至分布式存储系统中。
具体地,权威节点查找到的局部模型均是本轮次训练得到的局部模型(即局部模型具体参数),权威节点将这些局部模型具体参数进行聚合,从而得到本次训练的全局模型。
具体地,由于每个联邦学习节点在本地用于模型训练的数据是不同的,因此通过训练得到的局部模型的具体参数也存在着差异。为了能在保证数据安全的情况下,充分利用各联邦学习节点的本地数据,在每一轮训练中,各节点利用本地数据训练得到局部模型,再由权威节点负责对各个局部模型进行聚合,得到新一轮的全局模型。
在一实施例中,所述权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,包括:
权威节点将查找到的局部模型进行检验,得到局部模型的准确率;
将准确率高于阈值的局部模型作为目标局部模型,通过权威节点将所有目标局部模型进行聚合,得到本轮训练的全局模型。
具体地,权威节点利用验证数据集来对本轮次的局部模型进行检验,通过观察本轮次局部模型在验证数据集上的表现来判断局部模型是否收敛,从而得到局部模型的准确率;阈值是提前设定好的,准确率高于阈值的局部模型即为准确率合格的模型,筛选出准确率合格的模型作为目标局部模型,将这些目标局部模型进行聚合,从而得到本轮次的全局模型。
在本实施例中,权威节点会从本轮次的局部模型中筛选出准确率合格的模型,只利用准确率合格的模型来进行聚合,能够进一步提高聚合模型的精度。
在一实施例中,所述权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,包括:
权威节点对查找到的局部模型进行验证,得到局部模型的准确率;
在根据各局部模型的准确率来确定各局部模型的加权值之后,权威节点根据各局部模型的加权值将所有局部模型进行加权聚合,得到本轮训练的全局模型。
在本实施例中,权威节点通过验证数据集,对本轮次上传的局部模型进行验证,得到局部模型的准确率。权威节点验证局部模型的准确率后,按照准确率对局部模型进行权重分配,准确率越高的局部模型分配的权重也越高。通过各个局部模型的加权值,权威节点对局部模型进行加权聚合,得到本轮训练的全局模型。具体地,权威节点利用验证数据集来对本轮次上传的局部模型进行验证时,通过观察验证数据集在本轮次所有局部模型上的表现来确定各局部模型的准确率,比如,验证数据集中包含100份带有标签的数据,将这100份数据输入局部模型得到100个输出结果,将这100份数据的输出结果分别与对应的标签进行比较,确定这100份数据的输出结果与对应标签相同的数据的数量,若该数量为60,则该模型的准确率为60/100(即60%),将各局部模型的准确率作为各局部模型的加权值,由权威节点根据各局部模型的加权值将所有局部模型进行加权聚合,进而得到本轮训练的全局模型,通过加权聚合,能够增强全局模型的泛化能力,同时能充分利用各个联邦学习节点的训练结果,减小计算资源的浪费。
在一实施例中,在确定全局模型的哈希值之后,还包括:
S6、所述权威节点将全局模型的哈希值交易至所述智能合约;
S7、联邦学习节点根据所述全局模型的哈希值来查找所述分布式存储系统中存放的全局模型;
S8、将所述全局模型作为新的初始模型重复步骤S2-S8,直至所述全局模型满足所述训练任务中的目标条件。
具体地,这里的全局模型指的是全局模型具体参数,其中,全局模型与局部模型的模型结构是相同的,全局模型与局部模型的区别在于模型中的具体参数的不同。
具体地,通过哈希值查找分布式存储系统中存放的全局模型的方式是基于内容的寻址,权威节点只查找本轮次得到的全局模型,上一轮次的全局模型不在此次权威节点的查找范围之内,一个轮次只得到一个全局模型,这一轮次得到的全局模型可以作为下一轮次循环训练的初始模型。
具体地,由于不断地对新生成的全局模型进行训练,任务发布者在发布开启训练任务的同时,也会在智能合约中设定全局模型的训练任务,比如可以是全局模型的训练精度,全局模型的训练次数等等,若训练任务为全局模型的训练精度,那么只有在训练得到的全局模型达到这个训练精度时,才能将该全局模型作为最终输出的全局模型,否则,将继续通过循环训练来提升全局模型的精度。
在本实施例中,由普通节点投票选举出权威节点来作为聚合模型的节点,不仅能够防止普通节点为了获得聚合能力而消耗大量算力来证明自身的工作量,还能够加快确定权威节点的速率而提高出块的速度。
发明人在实施本申请的过程中发现:权威节点在工作时可能会出现通信状态不佳导致宕机的情况,如果没有及时发现会影响整个系统的工作效率。
为了解决在权威节点工作时出现通信状态不佳导致宕机而影响整个系统工作效率的技术问题,图2是本申请第二个较有选实施例提供的一种面向联邦学习的分布式存储方法,是在图1所示的第一个较优选实施例中作进一步改进,所述方法的主要步骤描述如下:
S11、接收任务发布者在智能合约上发布的训练任务,其中,所述智能合约部署在区块链上;
S22、在通过所述智能合约获取初始模型后,联邦学习节点利用本地数据对所述初始模型进行训练得到局部模型,并确定局部模型的哈希值;
S33、联邦学习节点将局部模型的哈希值以及局部模型存放至分布式存储系统,并将局部模型的哈希值交易至所述智能合约,其中,局部模型的哈希值与局部模型是一种键与值的关系;
S44、各普通节点在通过PoA共识机制中投票选举的方式确定本轮训练的权威节点后,权威节点根据所述智能合约中本轮局部模型的哈希值来查找所述分布式存储系统中存放的局部模型,其中,普通节点监督权威节点的行为,并判断权威节点的行为是否非法,若权威节点的行为是非法的,则普通节点将再次通过投票选举的方式来确定本轮训练中新的权威节点;
S55、权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,并在确定全局模型的哈希值之后,将全局模型的哈希值以及全局模型存放至分布式存储系统中。
具体地,当权威节点被选出来后,普通节点将会一直监督权威节点的行为,当权威节点出现非法操作,或者权威节点的通信状态不佳导致宕机的时候,普通节点会将该权威节点的行为判断为非法行为,同时,普通节点将会再次通过投票选举的方式从普通节点中选举出一个新的权威节点参与到模型聚合的工作中来。节点的行为一旦被认定为非法的,就会被剔除出系统,不再具备被选举权(即没有再次被选举成为权威节点的权利)。
在本实施例中,通过普通节点对权威节点的实时监督,能够及时发现中央服务器(权威节点)出现宕机的问题并选出新的权威节点来接手原权威节点的工作,避免因为中央服务器出现问题而影响整个系统的工作效率。
通过采用上述技术方案,本方案在联邦学习引入区块链技术的场景下,如图7所示,先是通过在区块链上部署智能合约,并在智能合约中写入联邦学习的训练任务及基础模型,各联邦学习节点即可利用本地数据来训练通过智能合约接收到的基础模型,实现了满足数据隐私需求的前提下,对分散在各个联邦学习节点中的数据的整合和利用;各联邦学习节点利用本地数据训练基础模型得到局部模型之后,会生成相对应的哈希值,并将局部模型和哈希值通过键与值的关系存在分布式存储系统中,同时将哈希值交易到智能合约中,在区块链中智能合约中存储哈希值,然后通过哈希值从分布式存储系统中查找到相应的模型,能够有效缓解区块链的存储压力;在选取权威节点时,通过各普通节点根据对其他普通节点的认可度即可确定投票对象,进而选举出权威节点用来作为负责聚合模型的节点,由于普通节点之间的认可度是可以提前确定的,所以只需要记录下各普通节点的投票对象从中确定权威节点,不仅能够防止普通节点为了获得聚合能力而消耗大量算力来证明自身的工作量,还能够减少共识时间而提高出块的速度,进一步降低了共识过程中的算力资源消耗;普通节点还会时刻监督权威节点的行为,进而在权威节点出现非法行为而影响模型的聚合时,再次通过PoA共识机制选举出新的普通节点来接手原权威节点的工作;权威节点在聚合模型之前,会从本轮次的局部模型中筛选出准确率合格的模型,只利用准确率合格的模型来进行聚合,能够进一步提高聚合模型的精度。
如图3示,本申请还公开了一种面向联邦学习的分布式存储装置,所述装置包括:
接收模块301,用于接收任务发布者通过发布智能合约开启的训练任务,其中,所述智能合约部署在区块链上;
训练模块302,用于在通过所述智能合约获取初始模型后,联邦学习节点利用本地数据对所述初始模型进行训练得到局部模型,并确定局部模型的哈希值;
存储模块303,用于控制联邦学习节点将局部模型的哈希值以及局部模型存放至分布式存储系统,并将局部模型的哈希值交易至所述智能合约,其中,局部模型的哈希值与局部模型是一种键与值的关系;
共识模块304,用于通过各普通节点在通过PoA共识机制中投票选举的方式确定本轮训练的权威节点后,权威节点根据所述智能合约中本轮局部模型的哈希值来查找所述分布式存储系统中存放的局部模型;
聚合模块305,用于控制权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,并在确定全局模型的哈希值之后,将全局模型的哈希值以及全局模型存放至分布式存储系统中。
所述装置还包括:
普通节点监督模块,用于控制普通节点监督权威节点的行为,并判断权威节点的行为是否非法;若权威节点的行为是非法的,则普通节点将再次通过投票选举的方式来确定本轮训练中新的权威节点。
所述聚合模块305还包括:
检验单元,用于控制权威节点将查找到的局部模型进行检验,得到局部模型的准确率;
全局模型聚合单元,用于将准确率高于阈值的局部模型作为目标局部模型,通过权威节点将所有目标局部模型进行聚合,得到本轮训练的全局模型。
所述装置还包括:
基于哈希值查找模块,用于基于哈希值的查找方式为基于内容的寻址方式。
所述装置还包括:
全局模型哈希值交易模块,用于通过所述权威节点将全局模型的哈希值交易至所述智能合约;
全局模型查找模块,用于通过联邦学习节点根据所述全局模型的哈希值来查找所述分布式存储系统中存放的全局模型;
循环模块,用于将所述全局模型作为新的初始模型重复步骤S2-S8,直至所述全局模型满足所述智能合约中的训练任务。
在一个实施例中,提供了一种电子设备,具体为计算机设备,包括存储器、处理器以及存储在所述存储器中并能在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项面向联邦学习的分布式存储方法的步骤。
在一个实施例中,提供了一种存储介质,具体为计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时上述任意一项面向联邦学习的分布式存储方法的步骤。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM(Read-Only Memory,只读存储记忆体)或RAM(Random Access Memory,随机存储记忆体)等。
Claims (8)
1.一种面向联邦学习的分布式存储方法,其特征在于,包括:
S1、接收任务发布者在智能合约上发布的训练任务,其中,所述智能合约部署在区块链上;
S2、在通过所述智能合约获取初始模型后,联邦学习节点利用本地数据对所述初始模型进行训练得到局部模型,并确定局部模型的哈希值;
S3、联邦学习节点将局部模型的哈希值以及局部模型存放至分布式存储系统,并将局部模型的哈希值交易至所述智能合约,其中,局部模型的哈希值与局部模型是一种键与值的关系;
S4、各普通节点在通过PoA共识机制中投票选举的方式确定本轮训练的权威节点后,权威节点根据所述智能合约中本轮局部模型的哈希值来查找所述分布式存储系统中存放的局部模型;
S5、权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,并在确定全局模型的哈希值之后,将全局模型的哈希值以及全局模型存放至分布式存储系统中。
2.根据权利要求1所述面向联邦学习的分布式存储方法,其特征在于,所述方法还包括:
普通节点监督权威节点的行为,并判断权威节点的行为是否非法;
若权威节点的行为是非法的,则普通节点将再次通过投票选举的方式来确定本轮训练中新的权威节点。
3.根据权利要求1所述面向联邦学习的分布式存储方法,其特征在于,所述权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,包括:
权威节点对查找到的局部模型进行检验,得到局部模型的准确率;
将准确率高于阈值的局部模型作为目标局部模型,通过权威节点将所有目标局部模型进行聚合,得到本轮训练的全局模型。
4.根据权利要求1所述面向联邦学习的分布式存储方法,其特征在于,所述权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,包括:
权威节点对查找到的局部模型进行验证,得到局部模型的准确率;
在根据各局部模型的准确率来确定各局部模型的加权值之后,权威节点根据各局部模型的加权值将所有局部模型进行加权聚合,得到本轮训练的全局模型。
5.根据权利要求1所述面向联邦学习的分布式存储方法,其特征在于,在确定全局模型的哈希值之后,还包括:
S6、所述权威节点将全局模型的哈希值交易至所述智能合约;
S7、联邦学习节点根据所述全局模型的哈希值来查找所述分布式存储系统中存放的全局模型;
S8、将所述全局模型作为新的初始模型重复步骤S2-S8,直至所述全局模型满足所述训练任务中的目标条件。
6.一种面向联邦学习的分布式存储装置,其特征在于,包括:
接收模块,用于接收任务发布者通过在智能合约上发布的训练任务,其中,所述智能合约部署在区块链上;
训练模块,用于在通过所述智能合约获取初始模型后,联邦学习节点利用本地数据对所述初始模型进行训练得到局部模型,并确定局部模型的哈希值;
存储模块,用于控制联邦学习节点将局部模型的哈希值以及局部模型存放至分布式存储系统,并将局部模型的哈希值交易至所述智能合约,其中,局部模型的哈希值与局部模型是一种键与值的关系;
共识模块,用于通过各普通节点在通过PoA共识机制中投票选举的方式确定本轮训练的权威节点后,权威节点根据所述智能合约中本轮局部模型的哈希值来查找所述分布式存储系统中存放的局部模型;
聚合模块,用于控制权威节点将查找到的局部模型进行聚合后得到本轮训练的全局模型,并在确定全局模型的哈希值之后,将全局模型的哈希值以及全局模型存放至分布式存储系统中。
7.一种设备,其特征在于包括存储器、处理器以及存储在所述存储器中并能在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5任意一项所述面向联邦学习的分布式存储方法的步骤。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5任意一项所述面向联邦学习的分布式存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248089.8A CN114610813A (zh) | 2022-03-14 | 2022-03-14 | 一种面向联邦学习的分布式存储方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248089.8A CN114610813A (zh) | 2022-03-14 | 2022-03-14 | 一种面向联邦学习的分布式存储方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114610813A true CN114610813A (zh) | 2022-06-10 |
Family
ID=81863024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210248089.8A Pending CN114610813A (zh) | 2022-03-14 | 2022-03-14 | 一种面向联邦学习的分布式存储方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610813A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116720594A (zh) * | 2023-08-09 | 2023-09-08 | 中国科学技术大学 | 一种去中心化的分层联邦学习方法 |
CN117251726A (zh) * | 2023-08-28 | 2023-12-19 | 北京邮电大学 | 公共卫生事件检测模型训练方法、检测方法、装置及系统 |
-
2022
- 2022-03-14 CN CN202210248089.8A patent/CN114610813A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116720594A (zh) * | 2023-08-09 | 2023-09-08 | 中国科学技术大学 | 一种去中心化的分层联邦学习方法 |
CN116720594B (zh) * | 2023-08-09 | 2023-11-28 | 中国科学技术大学 | 一种去中心化的分层联邦学习方法 |
CN117251726A (zh) * | 2023-08-28 | 2023-12-19 | 北京邮电大学 | 公共卫生事件检测模型训练方法、检测方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11410207B2 (en) | Blockchain-based resource value evaluation methods and apparatus | |
US20220121995A1 (en) | Automatic generation of training data for anomaly detection using other user's data samples | |
CN104303538B (zh) | 使用签名高速缓冲存储器来最小化行为分析的时延 | |
CN114610813A (zh) | 一种面向联邦学习的分布式存储方法、装置、设备及介质 | |
Liu et al. | Security-aware resource allocation for mobile cloud computing systems | |
Dogani et al. | Multivariate workload and resource prediction in cloud computing using CNN and GRU by attention mechanism | |
Lorido-Botran et al. | An unsupervised approach to online noisy-neighbor detection in cloud data centers | |
Dogani et al. | K-agrued: A container autoscaling technique for cloud-based web applications in kubernetes using attention-based gru encoder-decoder | |
Cui et al. | A secure and decentralized DLaaS platform for edge resource scheduling against adversarial attacks | |
Wang et al. | An Efficient Load Prediction‐Driven Scheduling Strategy Model in Container Cloud | |
CN116881898A (zh) | 权限变更方法、系统、装置及存储介质 | |
Fan et al. | On credibility-based service function chain deployment | |
Ma et al. | Decision model of intrusion response based on markov game in fog computing environment | |
CN115269176A (zh) | 任务分配方法、装置、计算机设备、存储介质和产品 | |
Mendes et al. | Decision-theoretic planning for cloud computing | |
Lv et al. | Distributed computing to blockchain: Architecture, technology, and applications | |
Paranou et al. | Forecasting resource demand for dynamic datacenter sizing in telco infrastructures | |
CN109902831B (zh) | 业务决策处理方法以及装置 | |
Femminella et al. | Comparison of Reinforcement Learning Algorithms for Edge Computing Applications Deployed by Serverless Technologies. | |
Hong et al. | Peer to peer anti-money laundering resource allocation based on semi-markov decision process | |
da Silva et al. | Online Machine Learning for Auto-Scaling Processing Services in the Edge Computing Environment | |
US12028219B2 (en) | Real-time intelligent system mapping | |
Yao et al. | Towards edge-enabled distributed computing framework for heterogeneous android-based devices | |
US11451574B2 (en) | Detecting security threats in storage systems using artificial intelligence techniques | |
US20210312449A1 (en) | Online incremental machine learning clustering in anti-money laundering detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |