群体学习 笔记
背景
如今,在一些疾病的诊断领域,AI的准确率已经超过了医生。靠谱的诊断结果背后,是建立海量数据集上的机器学习。但实际上,可用于训练的医疗数据非常分散,想要把世界各地的数据都集合起来又会引发对数据所有权、隐私性、保密性、安全性的担忧,甚至数据垄断的威胁……
常用的方法如联邦学习,可以解决上述的一些问题,但该模型的参数由“中央协调员”( central coordinator)处理,造成了“权力”的集中,且它的星形架构也导致容错性降低。群体学习的引入在一定程度上可以解决这些问题。
架构
群体学习VS联邦学习
群体学习与传统的联邦学习(CS架构)不同,它没有中央参数服务器,不需要将参数上传到中央服务器进行聚合,数据和模型参数都在本地储存,拥有更高的隐私性以及安全性。与其说群体学习是一种全新的机器学习方式,我更倾向于认为它是一种去中心化联邦学习新的范式,它将去中心化硬件基础设施、分布式机器学习与区块链结合,从而安全加入成员节点、动态选举领导者、聚合模型参数。
联邦学习(Fedearted Learning,FL)
定义: 联邦学习(Federated Learning)是一种分布式机器学习技术,其核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,在不需要交换本地个体或样本数据的前提下,仅通过交换模型参数或中间结果的方式,构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡,即“数据可用不可见”、“数据不动模型动”的应用新范式 。
联邦学习按架构划分为:中心化联邦学习(具有中央服务器/中央协调方)的CS架构,去中心化的联邦学习(P2P对等网络)架构和委员会架构。
经典联邦学习框架(CS架构)的训练过程可以简单概括为以下步骤:
协调方建立基本模型,并将模型的基本结构与参数告知各参与方;
各参与方利用本地数据进行模型训练,并将结果返回给协调方;
协调方汇总各参与方的模型,构建更精准的全局模型,以整体提升模型性能和效果。
在对等架构(P2P)中,由于没有第三方服务器的参与,参与方之间直接交互,需要更多的加解密操作。在整个过程中,所有模型参数的交互都是加密的。
委员会架构分为固定委员会和动态委员会两种,动态委员会主要是指区块链类型的架构(有点类似群体学习),固定委员会主要是指MPC(多方安全计算)类型的架构。
委员会架构BFLC:
知乎 联邦学习圆桌会议 论文 《A Blockchain-based Decentralized Federated Learning Framework with Committee Consensus》
引入: 传统的FL架构更容易偏向某个节点(权利集中)恶意的中央节点可以通过对模型投毒,进而从模型更新中收集用户信息。BAFFLE利用区块链去除了中心化聚合器,通过智能合约代替中央聚合器的作用。
BFLC VS SL
BAFFLE关于模型的参数以及更新等都存储在区块链中;
BAFFLE是在一定数量的更新块后进行模型聚合,SL是经过同步时间SI后选取领导者
攻击
只有攻击者掌握了超过51%的计算资源才能实现攻击,当攻击发生时还可以进行回退(之前保存在区块链的信息)
区块链(BlockChain,BC)
区块链是一种链式结构,将数据块遵循时间顺序组合并与密码学、共识机制、智能合同等技术结合所形成的一种去中心化的公共账簿技术。具有如下特点:数据难篡改、去中心化、可追溯、去信任化:
1.去中心化: 系统中的所有结点都参与数据的记录和验证,将计算结果通过分布式传播发送给各个结点;在部分结点遭受损坏的情况下,整个系统的运作并不会受到影响,相当于每个参与的结点都是“自中心”。
2.基于共识建立信任(去信任化): 只需要信任共同的算法就可以建立互信,通过算法为参与者创造信用、产生信任和达成共识,不需要第三方机构。
3.数据难篡改: 时间戳存储了网络中所执行的所有交易历史,可为每一笔数据提供检索和查找功能,并可借助区块链结构追本溯源,逐笔验证。根据“少数服从多数”原则,从概率上讲,要篡改历史信息,必须同时控制整个系统中超过50%的结点。
群体学习(SL)
群体学习结合了分布式机器学习和区块链这两种技术,拥有这两种技术的优势:各节点之间权利对等,有较高的安全性和容错性。
SL框架主要组成部分( FL for BC 区块链网络 )
-
(Swarm 边缘节点)
1.SL节点:运行用户定义的深度学习算法,并迭代更新本地模型 - (Swarm 协调器节点)
2.SN节点(Swarm Network 节点):相互交流以维护模型的全局状态信息,通过以太坊区块链平台跟踪训练进度
3.SWCI节点(Swarm Learning Command Interface 节点):安全地连接到SN节点以查看SL框架的状态,并进行控制和管理
4.SPIFFE SPIRE server node:SN节点和SL节点都包含一个SPIRE Agent Workload Attestor 插件,该插件与SPIRE服务器节点通信以证明其身份并获取和管理SPIRE可验证身份文档(SVID)
5.LS节点(License server node 许可证服务器节点):下载和管理许可证以运行SL框架
SPIFFE 和 SPIRE 项目提供了一个生产级别的身份认证框架。
SPIFFE ( Secure Production Identity Framework For Everyone ):是一套开源标准,用于在动态和异构环境中安全地识别软件系统。
SPIRE ( SPIFFE Runtime Environment ):是 SPIFFE 标准的一套生产就绪实现,它执行节点证明和工作负载证明,可以安全地向服务颁发身份凭证,并根据预定义的条件集合验证其他服务的身份。
简单过程:
SL在分布式的节点上进行训练,动态选取领导者,新节点通过区块链智能合约注册,获取模型,并进行本地模型训练,直到满足定义的同步条件(SI:同步时间)。接下来,通过 Swarm 应用程序编程接口 (API) 交换模型参数,并在开始新一轮训练之前,合并创建一个更新参数的最新模型。
【注】其中区块链仅记录模型状态以及训练进度等元数据,不记录模型参数;在每一个SI结束时,其中一个SL节点被区块链选为领导者,领导者从每个节点收集局部模型(如何收集?),并通过平均它们的训练参数更新全局模型。
参数通过类似于管道(pipeline)的端口API进行交换。
思考
个人认为SL模型是基于区块链的联邦学习(BFL)的一种新的范式。
==本人对此领域的研究尚未深入,有任何问题欢迎大家积极指出,一起交流!文章来源:https://www.toymoban.com/news/detail-773545.html
参考文献:
[1]Jialiang Han, Yun Ma, Yudong Han, Ying Zhang and Gang Huang. “Demystifying Swarm Learning: A New Paradigm of Blockchain-based Decentralized Federated Learning” (2023).
[2]Stefanie Warnat-Herresthal et al. “Swarm Learning for decentralized and confidential clinical machine learning…” (2021).
[3]登上Nature封面的群体学习,无需中央协调员,比联邦学习更优秀(https://baijiahao.baidu.com/s?id=1702788856189355655&wfr=spider&for=pc)
[4]联邦学习的架构(爱吃牛油果的璐璐:联邦学习的架构)
[5]Yuzheng Li, Chuan Chen, Liu Nan, Huawei Huang, Zibin Zheng, & Qiang Yan (2021). A Blockchain-Based Decentralized Federated Learning Framework with Committee Consensus IEEE Network.文章来源地址https://www.toymoban.com/news/detail-773545.html
到了这里,关于群体学习Swarm Leaning学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!