当前位置:   article > 正文

【联邦学习论文笔记3】FederatedScope: A Flexible Federated Learning Platform for Heterogeneity

federatedscope

0.摘要

  • 联邦学习(Federated Learning,FL)实现了模型训练的数据隐私保护,但是已有的联邦学习平台不能很好处理学术界和工业界联邦学习场景的异质性(Heterogeneity)。
  • FederatedScope可以处理FL的异构性,采用事件驱动架构;对于新的FL应用程序,开发人员仅需要定义新的事件类型和相应的处理函数指定FL算法,以异步的方式自动执行;该系统提供了丰富的内置算法,包括个性化、联合聚合、隐私保护和攻击;继承联邦超参数优化模块,用户可以自动调优。

1.背景

联邦学习可以解决数据孤岛问题,相应的FL平台也应运而生。但是由于联邦学习的异质性,已有平台不能达到良好的效果。FL中的异质性主要包括五个方面:

  • 1) Heterogeneity in Local
    Data。不同公司或者边缘设备生成的数据存在着质量、数量、标签和分布不同的情况,通过相同的局部训练生成一个全局模型是不现实的。

  • 2) Heterogeneity in Participants’
    Resources。参与者的资源可能存在差异,如计算资源、存储资源、通信带宽、可靠性等。虽然现有的FL平台提供同步训练协议,但是会出现云服务器受到网络拥塞、本地训练缓慢、甚至设备崩溃所造成的延迟的问题。因此,异步训练协议是较好的选择。

  • 3) Heterogeneity in Participants’
    Behaviors。实际FL应用程序需要参与者之间交换各种类型的信息,由于处理不同的交换信息或不同的训练过程所导致的参与者行为的异质性,促使FL平台支持灵活表达参与者丰富的行为。

  • 4) Heterogeneity in Privacy Protection
    Strengths。为了满足不同级别的保护要求,将各种隐私保护技术集成到联邦学习中,如差分隐私(DP)、同态加密(HE)和安全多方计算(MPC)。然而,这些隐私保护技术消耗额外的计算资源。因此,考虑隐私保护与学习效果/效率之间的权衡,每个客户都有权根据自己现有的资源和偏好的保护来调整自己的隐私保护力度。

  • 5) Heterogeneity in Learning
    Goals。为了处理学习目标的异质性,FL平台应该允许参与者以不同的学习目标进行局部训练,并定制局部学习模型共享的部分。

为解决上述问题,本文提出了以下方法:

  • 1) 基础设施方面,FederatedScope采用事件驱动架构,可以灵活方便地描述具有异构信息交换的异步联邦学习、集成异步机器学习中使用的各种现有策略。
  • 2) 内置算法方面,为用户提供了可扩展的模块:a.个性化联邦算法,用于应用客户端特定的训练配置(如超参数)和定制个性化子模块、正则化和多模型交互;b.用于丰富聚合行为的联邦聚合算法;c.满足不同级别保护要求的隐私保护算法; d.隐私攻击算法,用于验证所实现的FL系统和算法的保护强度。
  • 3) 自动调优方面,提供了联邦超参数优化(HPO)模块,用户可以方便地调优FL系统,以解决异构带来的不稳定问题。

2.基础知识

2.1联邦学习

server表示负责协调和聚合的参与者,而其他参与者是clients。FL的训练过程是客户端在本地更新接收到的全局模型,并反馈给服务器进行协同优化,服务器和客户端之间有信息交换,如模型参数、公钥、超参数等。FL的损失函数为:
在这里插入图片描述

2.2 Server & Client

  • 数据。多数情况数据由客户机拥有并存储在私有空间中。客户端可以以一种隐私保护的方式共享从数据中获得的知识(如模型参数)。
  • 模型。模型由服务器和客户端协作维护,可以从交换的信息中获取全局知识。在普通的FL课程中,服务器和客户机共享相同的模型体系结构,模型参数通过服务器的联合聚合来同步。
  • 行为。服务器和客户端的行为可以分为联合行为和训练行为。联邦行为包含与其他参与者交换各种类型的信息。对于客户端来说,训练行为表示的是基于私有数据的局部训练过程。对于服务器,训练行为表示联合聚合。

3.系统设计

3.1 基础设施

  • 1)Event-driven Architecture.
    FL的过程可以用event-handler描述:参与者等待特定的事件(如模型的参数被广播给客户端)来触发相应的处理程序(如基于本地数据的训练模型)。具体而言,events可以被分为两类:消息传递有关,检查某些可定制条件的满足情况。用户可以从各自的角度独立地表达服务器和客户端的行为,更容易地实现FL算法,模块化程度更高。
  • 2)Events Related to Message Passing
    服务器和客户端的信息交换被抽象为消息。消息包括构造、训练、评估等。服务器和客户端接收到消息可以看作是事件,后续行为可以用处理函数(即处理程序)来描述,以处理接收到的消息。处理函数可能执行的操作包括:(i)保存消息;(ii)检查某些触发条件,如检查是否已收到所有反馈;(iii)执行训练行为,例如根据本地数据更新模型;(iv)向他人发送一些消息,例如,向服务器发送更新后的模型。
  • 3)Events Designed for Asynchronous Training
    图1演示了联邦学习的异步训练协议,在每一轮开始时,服务器对客户机的子集进行采样并广播模型参数,抽样的客户机根据私有数据执行本地训练,并返回更新后的模型参数,如果服务器能够及时接收到采样客户机的所有反馈(如第0轮所示),则会引发事件“all_received”,并相应地执行联合聚合来生成新的全局模式。
    在这里插入图片描述
    如果由于异常一些客户端无法及时返回更新的模型,使用异步训练协议,如果从足够多的客户机接收到反馈,还可能触发“超时”事件,服务器将开始执行联邦聚合。如果服务器等待太长时间而没有从客户端得到足够的反馈,则会触发“timeout_w_remedy”事件,并执行“补救措施”,例如重新启动训练回合,额外采样可靠的客户端,自适应调整时间预算等。根据相应事件中的用户定义配置,如果这种过时仍然是可容忍的,则可以保存并添加到聚合中。

3.2 内置算法

3.2.1 Personalized Federated Algorithms

个性化算法类型包括:应用客户定制的训练配置,如超参数;用定制子模块集成全局模型;定制客户训练行为,如规范化、多模型交互等;改变服务器的聚合行为,如模型插值。

3.2.2 Federated Aggregation Algorithms

提供了各种联邦聚合算法,如FedOpt、FedNova、FedProx等,引入了新的交换消息类型,并改变了服务器和客户机的行为。将这些联邦聚合算法实现为插件,通过在配置中指定插件来使用。

3.2.3 Privacy Protection Algorithms

预置各种原子模块作为插件来支持差分隐私(DP)算法,如噪声注入、权重/梯度剪切等。这些模块可以通过配置来打开/关闭,开发人员可以将不同的模块结合合适的超参数来实现某种DP算法。

3.2.4 Privacy Attack Algorithms

根据攻击者目标的类型,典型攻击包括成员推断攻击、属性推断攻击、类代表攻击和训练数据/标签推断攻击。可以将隐私攻击根据攻击者的行为分为被动攻击和主动攻击。FederatedScope中提供了最先进的隐私攻击算法的实现:(i)隶属关系推断攻击:梯度反演攻击(主动攻击);(ii)属性推断攻击(被动攻击);(iii)类代表攻击:DMU-GAN(主动攻击);(iv)训练数据/标签推断攻击(被动攻击)。

3.3 Auto-tunning

除了基本的超参数优化(HPO)方法外,FederatedScope中加入了低保真HPO策略。

3.3.1 HPO Methods

为减轻优化超参数的工作量,系统提供内置的基本HPO方法,如网格搜索,随机搜索,高斯过程等。为了平衡调优过程中的有效性和效率,提供了Hyperband和PBT来利用低保真策略,只需执行几轮或降低客户端采样率即可实现,使FL算法在实践中可以实现HPO。提供了最新的联邦HPO方法FedEx的实现,参数化一个策略来采样超参数配置。

3.3.2 Evaluation and Monitoring

为了简化定制算法的手动调优,提供了许多本地更新和本地评估的指标,包括训练/验证/测试损失和精度。建立了更全面的评估方法和指标。数据集和主干模型统一在DataZoo和ModelZoo中,同时还提供了一些针对个性化FL的评价指标。

4. 系统实现

4.1 通信模块

通信模块由信息和通信器组成。因为异构消息是在服务器和客户端交互,使用TYPE来区分不同类型的消息。此外,如图2所示,在消息中记录SENDER和RECEIVER用于跟踪和验证,PAYLOAD表示所包含的用于交换的信息。
在这里插入图片描述
通信器由服务器和客户端托管,用于相互交换消息。从服务器和客户机的角度来看,通信器充当黑箱,因为它只向服务器和客户机公开高级接口,如SEND和RECEIVE,而隐藏通信后端的细节。在通信器的支持下,能够为FL课程的独立模式(通过模拟通信器)和分布式模式(通过基于gRPC或其他协议的通信器)提供统一的接口。

4.2 训练器&聚合器

客户端只需要使用训练器公开的高级接口,如TRAIN和EVALUATE,进行局部训练并得到结果,而不需要考虑训练器内部定义的详细的训练行为,这有助于将参与者的训练行为和联合行为解耦。服务器的聚合器以客户的反馈作为输入(如更新的模型和训练数据的统计数据),输出聚合后的数据。

4.3 构建FL过程

用户可以首先抽象参与者之间交换的消息类型,然后将服务器和客户端的行为转化为处理函数作为子例程来处理接收到的不同类型的消息。如图3所示,在使用FederatedScope时,要执行普通的FedAvg,服务器需要处理两种类型的消息,即处理join以允许新客户端加入FL课程,以及处理更新的模型以执行聚合。对于客户端来说,他们应该在本地数据上训练模型,并在从服务器接收模型时返回反馈(如更新的模型)。定义了这些消息类型和处理程序之后,发送join到服务器的客户端可以触发FL过程。
在这里插入图片描述

4.4 DataZoo

从各种FL应用场景中收集和预处理广泛使用的数据集,如表1所示,为DataZoo中提供的数据集提供统一的数据加载器,允许开发人员通过配置自动下载、预处理和获取数据。
在这里插入图片描述

4.5 ModelZoo

提供了ModelZoo来统一FL应用中使用的骨干模型,其中包括广泛使用的模型体系结构,如用于计算机视觉任务的ConvNet和VGG,用于自然语言处理任务的LSTM,以及用于图学习的GNNs、GraphSAGE和GPR-GNN。允许开发人员像在集中训练中一样定制新的模型架构或训练配置。

5. 实验

5.1 Benchmarks

基准测试结果见表2,根据文献选择建议的模型,例如:FEMNIST使用ConvNet2模型,Ciao使用GCN模型。此外,采用了不同的FL算法进行比较,如FedAvg、FedOpt和FedProx。结果表明,不同的模糊推理算法适用于不同的模糊推理应用,可能与数据的类型、数据分布的异质性、采用的模型的归纳偏差、抽样的客户端数量等有关,这些在联邦学习中仍然是一个有待解决的问题。

5.2 Personalization

提供了内置PFL算法的经验评估,包括FedBN, pFedMe, Ditto和FedEM。实验结果如表3所示。PFL算法在一些数据集上可以带来显著的改进,如FEMNIST和MultiTask。然而,采用的个性化FL算法有时会影响模型的性能。例如,当在莎士比亚上应用pFedMe时,与那些没有个性化的模型相比,模型性能下降6.43%。
在这里插入图片描述

5.3 隐私保护

评估提供的隐私保护模块的有效性,包括内置的DP算法和实现的隐私攻击者。差分隐私:隐私保护强度增大,学习模型的性能下降更明显,这说明共享的信息信息量更少。隐私攻击:采用DLG方法在FEMNIST上对FedAvg进行训练数据推理攻击,实现的隐私攻击者可以在一定程度上恢复结果。

5.4 Auto-Tuning

采用连续二分算法(SHA)和随机搜索(RS)作为HPO调度器,评估了FederatedScope中提供的低保真HPO的有效性。在网络Cora上训练GCN模型,设置SHA的总训练轮数为81轮,样本大小分别为81、27和9,每次试验的训练轮数分别为1、3和9。可视化HPO过程显示给定分配的SHA优于所有RS设置。

参考网址

[1] https://github.com/alibaba/FederatedScope
[2] https://federatedscope.io
[3] https://mp.weixin.qq.com/s/j-zi1rn9TX4xTRwgfKKCTA

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/249906
推荐阅读
相关标签
  

闽ICP备14008679号