联邦学习论文阅读三:ChainFL

Secure and Efficient Federated Learning Through Layering and Sharding Blockchain

论文地址:https://arxiv.org/abs/2104.13130
本篇文章以课程汇报PPT的形式进行展示,如需获取博主PPT评论区留言。

文章目录

  • 联邦学习论文阅读三:ChainFL
    • 1. Introduction
      • 1.1 问题来源
      • 1.2 问题论述
      • 1.3 本文贡献
    • 2. RELATED WORKS
    • 3. OUR PROPOSED CHAINFL SYSTEM
    • 4. IMPLEMENTATION
    • 5. 代码

1. Introduction

1.1 问题来源

区块链被引入到FL系统中,将范式转变为去中心化的方式,从而进一步提高了系统的安全性和学习可靠性。遗憾的是,由于资源消耗巨大、事务吞吐量有限、通信复杂度高,区块链系统的传统共识机制和架构难以处理大规模的FL任务。

1.2 问题论述

  • 传统FL在无信任边缘计算环境下的一些安全和效率问题,具体表现为:
  1. Security Issues:传统的FL系统依赖于一个中央聚合器来编排整个训练过程。因此,它很容易受到单点故障(SPOF)和有针对性的攻击,导致服务瘫痪。此外,中央聚合器在每一轮选择少数相同的物联网设备的潜在偏差将损害全局模型的准确性。此外,传统的FL无法处理模型在传输和学习过程中的信任问题,例如恶意IoT设备产生的有毒模型。
  2. Efficiency Issues:大多数FL系统以同步方式运行,其中中央服务器等待所有参与物联网设备上传本地模型,然后在每一轮更新。因此,离散点的存在不可避免地会降低算法的收敛速度,这些离散点是指完成一次训练迭代所需时间较长的设备。另一方面,在异步训练中,由于从全局模型的旧版本(称为陈旧模型)训练的模型可能会在更新中使用,因此全局模型将是不稳定的。
  • 引入区块链后的挑战
  1. 高计算成本,区块链的PoW共识带来的高计算成本。
  2. 有限的可伸缩性,PoW共识由于密集的哈希计算导致事务吞吐量较低,无法随着区块链节点的增加扩展其事务处理效率。此外,PBFT (Practical Byzantine Fault Tolerance)协议[17]由于通信交换频繁,其吞吐量受到网络带宽的限制。
  3. 巨大的存储要求,区块链节点存储有限。
  4. 掉队者,大多数区块链支持的FL系统,如BlockFL、PIRATE和DeepChain以同步方式处理。因此,掉队者会降低训练效率,这与传统的FL类似。目前,基于区块链的异步训练研究较少,更不用说对陈旧模型的检测了。

1.3 本文贡献

  • 作者提出了一种由分级区块链驱动的新型FL系统ChainFL,旨在为大规模物联网网络提供安全有效的FL解决方案。作者设计了一个基于raft的区块链分片体系结构来提高可伸缩性,并设计了一个改进的基于daga的主链来实现跨分片交互。
  • 定义了ChainFL执行FL任务的操作流程和交互规则。为了提高学习效率,ChainFL将同步和异步训练相结合,以减轻掉队者的拖累。基于改进的DAG共识设计了虚拟修剪机制,消除了异常模型的影响。
  • 建立了基于Hyperledger Fabric的分片网络原型,实现了ChainFL的子链层,开发了基于dag的区块链实现了ChainFL的主链层,实现了跨层交互。原型采用链下存储方案,降低了两层区块链节点的存储需求。
  • 广泛的评估结果表明,与FedAvg和AsynFL相比,ChainFL对于cnn和rnn提供了可接受的,有时更好的收敛速度(高达14%),并增强了FL系统的鲁棒性(最高可达3倍)。


2. RELATED WORKS

该章节介绍了论文使用的相关技术,主要是一些区块链的相关技术,感兴趣的可以去看论文原文,接下来的文章我将按课程汇报的方式给大家呈现,想获取本人的课程汇报PPT请在评论区留言。

  • 区块链简介
    – 联邦学习简介:数据存储在本地,数据在本地训练,将训练后的参数或者梯度上传到中心服务器,由中心服务器进行参数聚合后,将聚合后的参数下发到本地,继续进行下一轮训练,实现了数据不出界,保证了各方隐私安全,解决数据孤岛问题,但目前实际上已经有实验证明参数也会泄露隐私,因此对参数还需要进一步处理。
    本文关注的是横向联邦学习
    – 本文结构

3. OUR PROPOSED CHAINFL SYSTEM

为了解决上述问题,本文提出了一个两层区块链驱动的链层框架(ChainsFL),该框架由多个子链网络(子链层)和一个基于直接无环图(DAG)的主链(主链层)组成,子链层为小范围的信息交换限制了每个分片的规模,主链层允许每个分片并行和异步地共享和验证学习模型,提高了跨分片验证的效率。

  • 1)设备层:该层由参与FL任务的设备组成,如手机、车辆、智能家电等。FL中这些设备的职责是维护本地收集的数据,然后训练本地模型。此外,设备需要将更新的本地模型打包到带有一些附加信息(如授权信息和时间戳)的事务中,然后将事务提交给子链。
  • 2)子链层:每个分片中部署的子链是独立的,负责协调分片中的设备同步完成训练任务。每个子链中使用的Raft共识。考虑到Raft协议计算复杂度较低,通过分片减少leader的事务处理量,有效消除了其原有的瓶颈(即单个节点性能限制的吞吐量)。
  • 子链的Raft共识
  • 3)主链层:主链采用基于DAG架构的异步共识机制,顶点表示事务,边表示对另一个事务的批准。主链网络中的每笔交易都包含一个分片训练的模型。未被任何其他交易批准的交易被称为提示。与其他区块链系统不同的是,由于图的结构,主链不依赖单链作为单个可信度来源。因此,能够内生地容忍分叉的主链能够异步地处理事务。此外,主链网络中的每个边缘节点都维护一个可以用来构建DAG的本地分类账。
  • 4)应用层:通过智能合约触发FL任务。FL任务请求者通过签署智能合约来发布任务,声明其任务需求和完成任务的条件。相应的,参与任务的设备和边缘节点在任务完成时将获得一定的奖励。
    – 主链DAG共识
  • 存储:
  1. 数据存储在链下数据库中,数据的hash存入链上。
  2. 是一个点对点的分布式系统文档分布式存储,IPFS的企业愿景是搭建一个全球的分布式系统互联网,用于取代传统式去中心化的网络服务器方式,全部的IPFS连接点构成一个分布式系统互联网,每一个连接点都能够储存文档。客户能够从IPFS搭建的互联网中以DHT(DistributedHashTable,分布式系统哈希表)的方法获得文档。

4. IMPLEMENTATION

实验细节详见论文原文。

5. 代码

  • 项目地址:https://github.com/shuoyuan/ChainsFL-implementation