PyramidFL: A Fine-grained Client Selection Framework for Efficient Federated Learning

作者:都来自Michigan State University

Introduction

由于移动设备和物联网(IoT)每天都在不断地收集大量的个人数据,数据隐私已成为一个重要的问题。巨大的个人数据。作为对这一问题的补救措施、 联合学习(FL)作为一种保护隐私的机器学习(ML)范式出现了,在这种范式中,移动设备和物联网等客户端分布在不同的地方。分布在不同地理位置的客户端,可以协同训练一个ML模型,同时在本地存储他们自己的数据。设备上存储自己的数据。这种能力使FL成为一个核心组件赋予广泛的隐私敏感应用,如人类活动监测。如人类活动监测,家庭自动化和 语音辅助。
在高层次上,FL过程是在一个中央服务器的协调下进行的。中央服务器的协调。在每一轮的联合训练中,中央服务器首先将其当前的模型分发给一群被选中的客户;然后每个参与的客户使用本地的数据对自己的模型进行训练。然后,每个参与的客户使用本地的数据,使用本地随机梯度下降法(SGD)在自己的数据上训练模型,并只将模型的更新发送给中央服务器。到中央服务器;中央服务器汇总来自这些被选中的客户的模型更新 中央服务器汇总来自这些被选中的客户的模型更新并更新模型。这些步骤迭代了很多轮训练,直到模型收敛。

FL通常涉及数以百计,甚至数以百万计的客户。然而,考虑到聚合模型更新的重大开销,在实践中,只有一小部分客户参与了每轮训练。因此,选择哪些客户参与每轮训练是对于联邦训练的性能和效率至关重要至关重要。

请添加图片描述

PyramidFL本质上是一个细粒度的客户选择策略,它不仅专注于这些被选中和没有被选中的客户端的差别,还能充分的利用被选择的客户中的数据和系统异构性,从而去更高效地发挥它们的效用

RELATED WORK

Data Heterogeneity in FL
为了克服数据异构的不利影响,FL中之前的工作的一个主要主题是在服务器端或客户端设计FL优化器,但数据异构性可能导致全局模型对某些客户机没有效果,因此后来的工作提出为每个客户机训练个性化模型,而不是在所有客户机之间共享全局模型。
PyramidFL集中于优化全局模型的time_to_accuracy性能,但也可以拓展到微调或者多任务学习来获得个性化模型。
System Heterogeneity in FL
这部分工作使得不同客户机具有不同能力的异构本地模型,这与传统的联邦学习框架不同,在传统的联邦学习框架中,所有的客户端必须共享相同的模型架构。我们的工作也考虑了系统异质性;但是,我们将这些信息用于客户选择。

System Performance Optimization in FL
为了提高联邦培训的效率,有大量关于降低通信成本的工作,如LotteryFL、AdaQuantFL。而文章的工作在优化FL系统性能方面有相似的目标,然而他们是从客户选择的角度来解决这个问题。
Client Selection in FL
随机选择等简单的客户选择方案已经被广泛使用,特别是在整个训练过程中客户可能只参与一次的场景。新提出的客户端选择方法大多集中在大多数客户端是稳定的,可以参加大多数轮的训练,能使用客户端状态信息作为反馈来指导客户端选择的场景。 与文章最相近的工作是Oort。

Limitation of Existing Works

最新的客户端选择方案Oort,提出将数据和系统异构性同时考虑进去并且联合优化数据和系统高效性。但它最大的不足是选择策略上的粗粒度,即只考虑了被选择与没有被选择的客户端的数据和系统异构性,而没有考虑被选择的客户端内部的这些差异。
(这篇文章对它的对手进行各种实验证明其不足)
综合的缺点是他们选择用于聚合参数的客户机的响应时间区别很大,导致某些响应时间快的客户机被浪费时间;
Limitation#1: Under-exploited Statistical Efficiency
Oort的局部训练策略通过提供一系列固定参数,限制了每个客户的每轮的统计效用
Limitation#2: Under-exploited System Efficiency
在Oort中,每个客户端都被设计成在每一轮中将完整的模型更新上传到中央服务器。然而,这样的设计忽略了一个事实,即并非所有的模型更新都对模型训练有同样的贡献。

请添加图片描述

Contribution:

1.提出一个细粒度的基于客户端选择的FL框架:PyramidFL。该框架旨在适应每个参与者的本地训练处理,并采用基于重要性的模型更新dropout,分别优化参与者的数据效率和系统效率,能够提升联邦训练的效率。这个框架不仅能够考虑被选择与没有被选择的客户端的数据和系统异构性,还考虑了被选择的客户端之间的数据和系统异构性,实现细粒度的客户机选择。
这源于两个key insights:

  • 一个客户可以通过在一轮中训练更多本地数据样本来提高数据效率
  • 为之前的模型聚合提供不太重要的模型更新的客户端可以删除一些参数,以减少通信时间,而不弱化模型

2.使用FeaScale实现PyramidFL,并且在多个不同类型的深度学习模型和4个真实世界中重要任务对应的联邦学习数据集上评价其性能。
对比指标为time-to-accuracy(到达目标精度所需的时间)、测试正确性

3. OVERVIEW

图4说明了PyramidFL的整体设计。在服务器端,每轮训练开始时,PyramidFL开始根据客户的效用值选择排名靠前的客户(§4.1),并随机引入新客户参与联邦训练。PyramidFL还要求服务器根据前几轮训练中客户端的状态,为参与者计算基于排名的配置。
原因有两个方面:
首先,参数服务器可以收集这些排名信息,以考虑参与者内部与全局观点的分歧,同时避免数据泄露(§4.2)。
第二,基于排名的配置可以被每个参与者用于他们的本地训练决策。因此,每个参与者可以更新其数据和系统效用,以调整其被选入下一轮训练的可能性(§4.3)。具体来说,每个参与者首先检索他们基于排名的配置的时间消耗,然后调整其本地训练迭代。因此,它可以充分利用空闲时间使大多数参与者看到更多的本地数据样本。此外,每个参与者进一步利用其模型更新重要性的基于排名的配置来确定其模型更新的哪些参数应该被上传(图3(c))。这种方式通过避免不重要的参数上传,这种方式通过避免不重要的模型更新上传来节省宝贵的网络带宽,以充分利用所选客户端的系统效能。同时文章在服务器和客户机两端进一步部署了两个pacers,以平衡统计和系统效用,并克服前几轮效用估计的滞后性(§4.4)。具体来说,服务器端的pacer可以调整开发人员对系统实用程序的首选持续时间),以与统计效能进行讨价还价。而客户端的pacer 在客户端可以设置几个参数来容忍每个客户的陈旧时间消耗和实际时间消耗之间的差异。
请添加图片描述
下面这张图说明了客户端不仅可以通过利用空余时间对本地更多数据进行训练,同时也会丢掉一些对模型更新不重要的参数从而减少上传模型的通信时间。
请添加图片描述
The effectiveness of PyramidFL:
请添加图片描述

4. DESIGN DETAILS

4.1 Utility Function of Client Selection

Server Side: 服务端通过以下公式获得一个客户机列表,/前代表在整合函数FA下客户C的统计效用,/后面代表当前训练轮次中花费时间最多的客户机的时间。
请添加图片描述
Client Side.
选定的客户端可以从两个方面调整其本地训练,以优化其在服务器端的全局效用。
请添加图片描述

4.2 Global Client Selection

Utility Function
请添加图片描述
通过基于排名的分配,文章启发性地获得客户端的系统效用与数据效用。
Importance Ranking Calculation
关键点是如何利用服务器上汇总的全局信息来确定排名标准,以优先考虑那些具有较高真实效用的客户机。
因为对每个参与者的模型更新的重要性可以从以前的训练回合中计算和存储,所以下次被选择的客户机的系统效用。
同时,我们利用了重要抽样及其充分使用的度量梯度范数来确定客户机的排名。
除此之外,文章还进一步收集了过去几轮中每个选定客户端的计算和通信时间,重新评估了其设备类型和网络质量,给定公式5中的首选持续时间,可以计算每个客户机的空闲时间,然后调整其对应的本地训练迭代次数从而训练更多样本数据。

4.3 Local Utility Optimization

在从中心服务器获得全局的共享信息后,客户机可以做以下操作:
Ranking based Dropout
通过梯度规范给予基于重要性的排名,被选择的参与者可以在本地确定其通信的更新。例如,排名在#1的参与者应该有最多的参数要上传,因为它可能是下一轮最重要的客户端。为了实现参数退出,我们利用了在ML文献中广泛使用的退出方案,这只需要丢失参数的百分比,并防止训练模型的过拟合。以下是被选择的客户机Ci线性地计算其更新参数Pi根据其排名表示下降的百分比请添加图片描述Adaptive Local Training
在得到上传更新的退出率后,每个参与者可以进一步调整其局部训练迭代次数。因此,它可以进一步利用计算通信之间的间隔时间来训练到更多的本地数据样本。
请添加图片描述

Local Utility Optimization请添加图片描述

4.4 Put All the Pieces Together

整体算法流程:
1.在每一轮训练开始时,PyramidFL会收集上一轮的统计和系统反馈信息以了解客户端的重要性(计算和通信时间消耗),并更新这些被探索的客户端的信息(第6行),包括统计效用、消耗的墙钟时间。
PyramidFL的pacer可以调整 首选轮次持续时间与步幅Δ来平衡流浪者惩罚和统计效用.
接下来通过公式7计算每个客户机的效用值,并选取指定比例的根据统计与系统效用排序的客户机。为了引入新的客户机,该算法会获取一定比例且在之前没有被选择过的客户机,优先考虑那些拥有更快的系统速度的还没被选过的客户机。
接下来,我们在公式(8)中计算了基于排名的局部效用优化方法。因此,选定的客户可以在本地做出他们本地的训练决策。例如,每个选定的客户机计算要通信的模型更新参数的dropout率,并对其进行调整局部训练迭代次数,实现时间上的平衡。

请添加图片描述

5.整体架构与流程

我们已经使用FedScale [26]实现了这个模型,这是一个用于联邦学习的基准和开源评估平台。
FedScale :Lai, Fan, et al. “Fedscale: Benchmarking model and system performance of federated learning at scale.” International Conference on Machine Learning. PMLR, 2022.
请添加图片描述

1.在Parameter Server端,开发人员首先将FL作业以及用于客户端选择的特定标准一起提交给客户端聚合器;
2.随着客户从上一轮的反馈,客户聚合器分别收集和更新客户信息和全局模型;
3.客户端选择器生成符合开发人员效用标准 (统计和系统效用两方面) 的合格客户端列表,以用于下一轮训练;
4.Pacer通过调整每个回合的持续时间来控制两个效用之间的平衡;
5.客户端分发器检索参与者列表和信息以及最新的全局模型;
6.上面检索到的信息可以传输给相应的客户端的接收器;
7.给定客户端的本地数据、计算和通信资源;
8.模型训练器通过自适应训练迭代启动其本地训练过程;
9.执行器根据基于排名的配置进行通信模型更新,这个过程可能会丢弃一些对于模型更新重要性低的参数。

EVALUATION

数据集是来自四个不同规模的针对联邦学习任务的数据集,且遵循了在联邦场景下真正的non-i.i.d,在数据数量、分布和输出都有所不同。
在这里插入图片描述
请添加图片描述
System Heterogenity
对于本地计算资源仿真,文章使用AI-Benchmark中数百种设备类型的深度学习模型,并将它们分配给在这些数据集的客户.

Evaluation Metrics:
Time-to-Accuracy:
Time-to-Accuracy是指训练ML模型以达到目标精度的挂钟时间

Test Accuracy:
测试精度是指通过联邦学习训练的模型获得的测试数据集的精度

下面的表2展示了文章模型与Oort之间的对比
请添加图片描述
表10体现了文章模型在
请添加图片描述
请添加图片描述
消融实验
感觉对理解这篇文章的思路作用不大,可以需要的时候去论文里看

CONCLUSION

1.由于最先进的技术Oort未能以细粒度的方式实现效用函数,导致次优的time-accuracy。
于是这篇文章提出PyramidFL。该框架使servers定义统计效率(即精度)和系统效率(例如,时间)对应的效用函数,从所有客户中选择top-K客户机参与下一轮训练。

2.此外,服务器在统计效率方面计算参与者级别的重要性排名,以及在考虑每轮训练时间限制的情况下,参与者可以用多少个训练epochs来看到更多的数据,然后分享这些信息,使每个参与者可以优化他们的本地训练,以在未来几轮中为客户选择提供最具竞争力的效用。其中效能优化包括提高其统计效率的自适应数据epochs,和提高其系统效率的基于重要性的参数丢弃率。

3.与SOTA相比,PyramidFL消耗的壁钟、、时间更少(加速比优化了2.71X-13.66X),同时达到了更高的最终精度/复杂度(优化了3.68%-7.33%),适用于各种现实生活中的FL应用的多个ML模型和优化器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值