FEDAT:A Communication-Efficient Federated Learning Method With Asynchronous Tires Under Non-IID Data

背景

目前的联邦学习架构存在着以下问题:

  • 流浪者问题(straggler problem):由于数据的异构和通信效率的不一致,中央服务器需要等待最慢的那个设备把数据返回之后才能进行下一轮的训练
  • 大量的设备需要将自身的模型参数上传给服务器,这构成了系统的传输瓶颈
    并且现有的很多联邦学习算法不能同时解决上面两个问题,一些研究者基于传统的联邦学习算法提出了异步训练的新训练架构,但是这种新的异步训练方法往往会造成更严重的通信开销

贡献

本篇论文为了解决上面两个问题,提出了一种新型的联邦学习方法FedAT,这种算法通过分层结合了同步训练和异步训练,提高了收敛的速度和在测试集上的表现,以至于能够减少“流浪者效应”,此外,使用基于折线编码(polyline-encoding-based)的压缩方法对模型的下载和上传进行了压缩,降低了通信的开销

算法

FedAT算法框架包含三个主要的部分:

  • 用于聚合全局模型的中央服务器
  • 在逻辑上划分为不同性能层的一组客户端
  • 用于描述客户端性能的一个分层模块,会根据每个客户端的响应延迟来对客户端进行分层

对客户端进行分层

将参与联邦学习的客户端分为M层 { t i e r 1 , t i e r 2 , . . . , t i e r M } \{tier_1,tier_2,...,tier_M\} {tier1,tier2,...,tierM},其中 t i e r 1 tier_1 tier1是最快的层, t i e r M tier_M tierM是最慢的层,在中央服务器上会保存M个模型 w t i e r 1 t , w t i e r 2 t , . . . , w t i e r M t w^t_{tier_1},w^t_{tier_2},...,w^t_{tier_M} wtier1t,wtier2t,...,wtierMt,分别对应着每一层的客户端的模型的聚合

每一层都会进行同步的联邦学习训练:与传统的联邦学习一样,对该层的客户端进行随机采样之后,每个客户端计算本地的loss并将模型上传到服务器中进行该层模型的聚合。但是对于不同层的模型而言,进行的是异步的训练也就是响应速度快的层模型不会等到相应慢的层模型完成聚合之后再进行下一轮的训练

这样子“流浪者问题”不再是限制系统收敛速度的瓶颈,但是会导致另外的问题:响应速度快的层模型经过的训练轮次要比响应速度慢的层要多得多,因此如果按照传统的联邦平均方式那些相应慢的层将很难对全局模型造成影响,为了解决这个问题,论文提出了一种新的在服务器端的目标函数

跨层模型聚合

假设有 M M M层,并且到某个时间点之前各层的更新次数为 T t i e r 1 , T t i e r 2 , . . . , T t i e r M T_{tier_1},T_{tier_2},...,T_{tier_M} Ttier1,Ttier2,...,TtierM,总数为 T = T t i e r 1 + T t i e r 2 + . . . + T t i e r M T = T_{tier_1} + T_{tier_2} + ... + T_{tier_M} T=Ttier1+Ttier2+...+TtierM,则目标函数为:

f ( w ) = ∑ m = 1 M T t i e r ( M + 1 − m ) T f t i e r m ( w ) f(w) = \sum_{m=1}^M \frac{T_{tier_{(M+1-m)}}}{T} f_{tier_m}(w) f(w)=m=1MTTtier(M+1m)ftierm(w)

简单理解便是,训练得越多,单个更新所占得权重越小,也就是保证了那些更新慢的层模型对于全局模型的一个影响力

算法步骤

在这里插入图片描述
整个训练过程与传统的联邦学习训练过程不同之处在于:

  • 传统的联邦学习对于全部参与的客户端进行采样,FedAT每一层都会对该层的客户端进行采样
  • 传统的联邦学习采样之后的客户端会将自身模型上传给服务器并更新全局模型,FedAT采样之后的客户端将自身模型上传给服务器但只是更新自己所在层的一个层模型,然后中央服务器再对各个层的模型进行聚合得到全局模型
  • 传统的联邦学习的整个训练过程都是同步的,FedAT只有在同一层的模型训练才是同步的,不同层的模型训练是异步的,快设备不同等待慢设备的参数返回才进行下一轮的训练

实验

在这里插入图片描述
可以看到在三个数据集上,FedAT算法的收敛速度、模型性能都比TiFL算法和传统的FedAvg算法要好,并且对于一般的联邦异步训练方法FedAsync,FedAT算法的性能有着显著的优势

总结

该篇论文的一个主要的思想是“分层思想”,也就是将快设备和慢设备进行分开训练,让得快设备不需要等待慢设备的参数返回才能进行下一轮的训练,这是为了解决系统的时延瓶颈。又为了解决上述框架带来的在快设备的多次训练下慢设备的更新被忽略的问题,论文通过调整各个层的模型权重来解决这个问题。我觉得这篇论文各个部分的想法都比较直接和自然,但是这个分层的思想也许能带来些启发

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值