BrainTorrent: A Peer-to-Peer Environment for Decentralized Federated Learning

背景

最近想要找一些去中心化联邦的论文看,然后找到了一篇Peer-to-Peer的文章。这些文章所用于去中心化的方法一般都是从网络协议入手,与上一篇分享的用gossip协议来完成去中心化的出发点一样。于是今天想分享一下这篇Peer-to-Peer的论文顺便对目前的去中心化的工作做一个小的总结

传统FL VS P2PFL

在这里插入图片描述
上图描述的是传统FL和P2PFL的比较。
传统FL在每一个round的训练方式是:

  • 每一个client在本地用本地数据集训练出一个本地模型
  • 每个client将训练好的本地模型发送到Server中
  • Server聚合收到的所有模型
  • Server将聚合得到的模型发回给每个client

P2PFL在每一个round的训练方式是:

  • C 1 C_1 C1向其他的四个client发送ping请求
  • C 2 C_2 C2 C 3 C_3 C3有更新版本的模型, C 4 C_4 C4 C 5 C_5 C5没有更新版本的模型,因此 C 2 C_2 C2 C 3 C_3 C3将他们的模型发送给 C 1 C_1 C1
  • C 1 C_1 C1 C 2 C_2 C2 C 3 C_3 C3发送给它的两个模型和自身的模型进行聚合
  • C 1 C_1 C1用自身的数据集对聚合之后的模型进行微调

算法

每个client上都维护着一个vector v ∈ N N v \in \mathbb{N}^N vNN,包含了该client上的模型的版本还有最新用于聚合的其他 N − 1 N-1 N1个client上模型的版本

在这里插入图片描述

算法步骤如下:

  • 在训练的开始每个client先用本地的数据集训练本地模型几个轮次
  • 然后在每个round,执行以下步骤:
    • 随机选择一个client C i C_i Ci
    • C i C_i Ci向剩下的 N − 1 N-1 N1个client发送ping请求
    • 对于每个 C j C_j Cj(其中 j ∈ { 1 , . . . , i − 1 , i + 1 , . . . , N } j\in \{1,...,i-1,i+1,...,N\} j{1,...,i1,i+1,...,N}),如果它的模型版本大于 C i C_i Ci最近一次聚合所使用的 C j C_j Cj的版本,那么 C j C_j Cj将新的模型 W j W^j Wj和数据集大小 a j a_j aj发送给 C i C_i Ci
    • C i C_i Ci使用公式 W ← W + a j a W j W\leftarrow W + \frac{a_j}{a}W^j WW+aajWj聚合模型
    • C i C_i Ci使用本地数据集对聚合得到的模型进行微调
    • C i C_i Ci更新本地的版本数据 v i v^i vi
  • 重复步骤(2)直至模型收敛

总结-网络协议实现去中心化

上周和这周分享的论文都是关于如何实现去中心化联邦,方法都是使用已有的网路协议来对传统的联邦聚合方法进行改进,达到去中心化的效果。使用gossip协议的优点在于,可以通过segmentation来达到降低单条通信链路上的开销,不足之处在于所有训练节点达成共识(每个节点上的模型一样)的过程过慢,并且整体通信开销要大;P2P的优点在于比起gossp协议,可以让所有训练节点达成公式,但是通信开销依旧是一个瓶颈。接下来打算继续看看有没有其他相关的网络协议可以有更好的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值