FedAT:分层机制更新的联邦学习

文章链接:FedAT: A Communication-Efficient Federated Learning Method with Asynchronous Tiers under Non-IID Data

发表会议: SC’21 (International Conference for High Performance Computing, Networking, Storage, and Analysis) 高性能计算,体系结构领域顶级会议,CCF-A

目录

  • 1.背景介绍
    • 联邦学习模式
    • 通信方式比较
  • 2.内容摘要
    • FedAT
    • 实验结果
  • 3.文章总结

1.背景介绍

联邦学习(Federated Learning,FL)涉及在大规模分布式设备上训练模型,同时保持本地训练数据私有化。这种形式的协作学习需要考虑模型的收敛速度,准确性,客户端之间平衡问题和通信成本多方面的新权衡。
新的挑战包括:

  1. 落伍者问题,其中客户端由于数据或(计算和网络)资源异构性而滞后,
  2. 通信瓶颈,其中大量客户端将其本地更新传送到中央服务器并使服务器瓶颈。
  • 现有的线性优化方法大多只关注一维的权衡空间进行优化。
  • 现有的解决方案使用异步模型更新或基于分层的同步机制来处理掉队问题。
    然而,异步方法很容易造成网络通信瓶颈,而分级可能会引入偏差,因为分级更倾向于响应延迟更短的更快的层。

联邦学习模式

传统联邦学习,在一个集中式服务器的协调下,一个共享的模型从多个分布式客户端联邦中学习得到。由于安全和隐私的原因,FL部署中的不同客户端不会彼此共享数据。每个客户端使用其(分散的)本地数据来训练本地模型,而集中式服务器则聚合本地模型的学习梯度来训练全局模型

在这里插入图片描述
FL通常涉及大量的客户端,这些客户端具有高度异构的硬件资源(CPU、内存和网络资源)和Non-i.i.d数据。数据资源和数据的异构性对FL算法提出了独特的挑战。此外,随着客户端数量的增加,客户端如何与服务器通信成为一个重要的设计选择。


通信方式比较

主流的通信方式有同步通信(联邦平均,FedAvg)和异步通信(FedAsync)。

通讯方式优点缺点
同步通信稳定性高: 同步通信确保所有参与方在更新模型时保持同步,保持数据一致
收敛性保证:当参与方的数据分布和损失函数是一致的时候,可以稳定收敛
通信开销高: 同步通信需要等待所有参与方完成计算
并行性受限: 所有参与方必须等待其他参与方的反馈
异步通信系统鲁棒:当系统中存在掉线者(stragglers),异步通信系统更鲁棒
通信开销低,并行性高:可以独立更新模型,无需等待
存在通信瓶颈:特别是服务器需要向参与的多方用户更新模型
收敛性不稳定: 异步通信中参与方的更新顺序是不确定的

2.内容摘要

本文提出了一种新的基于异步层的联邦学习方法:FedATFedAT协同地结合了同步层内训练和异步跨层训练。通过分层桥接同步和异步训练,FedAT通过提高收敛速度和测试精度使掉队效应最小化。FedAT使用一种感知掉队者的、加权的聚合启发式来引导和平衡训练,以进一步提高准确度。
FedAT使用Encoded Polyline Algorithm压缩上行和下行链路通信,将通信成本降至最低。结果表明,与最先进的FL算法相比,FedAT算法的预测性能提高了21.09%,通信成本降低了8.5倍。

FedAT

为了克服两种通信方式的不足,本文设计了FedAT,利用分层机制结合同步和异步进行FL训练。

FedAT中,客户机根据它们的响应延迟(即客户机完成一轮训练所用的时间)划分到不同的逻辑层种。 FedAT中的所有逻辑层同时参与全局训练,每一层以自己的速度进行。 单个层内的客户端以同步方式更新与该特定层相关联的模型,而每一层作为一个逻辑的、粗粒度的训练实体,异步更新一个全局模型。 可简单的概括为“层内同,层间异”。

更快的层,每轮响应延迟更短,推动全局模型训练更快地收敛;
较慢的层通过将模型更新异步发送到服务器,从而参与到全局训练中,进一步提高模型的预测性能。
在这里插入图片描述
如果将异步更新的层模型平等地聚合到全局模型中,可能会导致有偏差的训练(倾向于更快的层),因为性能更好的层往往比性能较低的层更频繁地更新全局模型。为了解决这一问题,本文提出了一种新的加权聚合启发式算法,将更高的权重分配给较慢的层。

此外,为了最小化异步训练带来的通信成本,FedAT使用Encoded Polyline Algorithm压缩客户机和服务器之间传输的模型数据。简而言之,FedAT分层机制异步层间模型更新加权聚合方法Encoded Polyline Algorithm这四个部分协同起来,在最大限度提高收敛速度和预测性能的同时,最小化通信成本。


实验结果

在这里插入图片描述

上表显示了所有数据集的预测性能和测试准确度的方差结果。当每个训练过程收敛在全局迭代预算内之后,报告最佳测试准确度。对于2类CIFAR10数据集,FedAT比最佳基线FL方法FedAvg高7.44%,比最差基线方法FedAsync高18.78%。

使用与TiFL相同的分层方案,FedAT在所有实验中均实现了比TiFL更高的准确性。这是因为(1)局部约束迫使局部模型更接近服务器模型,(2)FedAT新的加权聚合启发式算法可以更有效地吸引来自较慢层的离散客户端,从而获得更好的预测性能。FedAvg具有与TiFL最接近的预测性能,因为它们都遵循相同的同步更新策略。另一方面,FedAsync的表现最差,因为它只是在一轮中从一个客户端聚合权重,并且没有有效的方法来处理掉队者。

从图所示的收敛时间轴图中也可以清楚地注意到性能差异。FedAT收敛到最优解的速度比所有其他三个比较方法都快。


3.文章总结

本文提出了一种新的同步-异步训练模型,该模型最大限度地提高了预测性能,并将通信成本降至最低。FedAT综合了以下模块:(1)处理掉队者的分层策略;(2)异步方案更新层间全局模型,提高预测性能;(3)一种新的加权聚集启发式算法,FL服务器使用它来平衡来自异构、分散层的模型参数;(4)基于多线段编码的压缩算法,以最小化通信成本。

本文证明FedAT具有可证明的性能保证。并且通过实验验证了理论分析。实验表明,与最先进的FL方法相比,FedAT实现了最高的预测性能,收敛速度最快,并且通信效率高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/157822.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进程空间管理:用户态和内核态

用户态虚拟空间里面有几类数据,例如代码、全局变量、堆、栈、内存映射区等。在 struct mm_struct 里面,有下面这些变量定义了这些区域的统计信息和位置。 unsigned long mmap_base; /* base of mmap area */ unsigned long total_vm; /* Total page…

通过xshell传输文件到服务器

一、user is not in the sudoers file. This incident will be reported. 参考链接: [已解决]user is not in the sudoers file. This incident will be reported.(简单不容易出错的方式)-CSDN博客 简单解释下就是: 0、你的root需要设置好密码 sudo …

SpringCloud(七) Feign远程调用

目录 一, RestTemplate远程调用存在的问题 二, Feign的远程调用 2.1 什么是Fegin 2.2 Feign的使用(代替RestTemplate) 1. 引入依赖 2. 添加注解 3. 编写Feign的客户端 4. 测试 5. 总结 2.3 自定义配置 1. 配置文件方式 2. Java代码方式 三, Feign使用优化 3.…

Python 框架学习 Django篇 (八) 代码优化、数据库冗余处理

我们开发软件系统的时候,需要不断的反思我们代码里面是否有可以优化的地方。而优化的重点之一,就是把冗余的代码优化为可以复用的库。我们在前面编写了一些功能,但是其中存在很多冗余的方法 mgr/medicine.py mgr/k8s.py mgr/medicine.py 打开…

【网络安全 --- 任意文件上传漏洞靶场闯关 6-15关】任意文件上传漏洞靶场闯关,让你更深入了解文件上传漏洞以及绕过方式方法,思路技巧

一,工具资源下载 百度网盘资源下载链接地址: 百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan…

NoSQL数据库使用场景以及架构介绍

文章目录 一. 什么是NoSQL?二. NoSQL分类三. NoSQL与关系数据库有什么区别四. NoSQL主要优势和缺点五. NoSQL体系框架 其它相关推荐: 系统架构之微服务架构 系统架构设计之微内核架构 鸿蒙操作系统架构 架构设计之大数据架构(Lambda架构、Kap…

CCF_A 计算机视觉顶会CVPR2024投稿指南以及论文模板

目录 CVPR2024官网: CVPR2024投稿链接: CVPR2024 重要时间节点: CVPR2024投稿模板: WORD: LATEX : CVPR2024_AuthorGuidelines CVPR2024投稿Topics: CVPR2024官网: https://cvpr.thecvf.com/Conferences/2024CV…

你一般会什么时候使用CHATGPT?

在当今数字时代,人们对于人工智能(AI)的依赖程度日益增加,而ChatGPT作为一种强大的自然语言处理工具,吸引了人们的广泛关注和应用。那么,人一般在什么时候会想要使用ChatGPT呢?这个问题涵盖了多…

GPT与人类共生:解析AI助手的兴起

随着GPT模型的崭新应用,如百度的​1​和CSDN的​2​,以及AI助手的普及,人们开始讨论AI对就业市场和互联网公司的潜在影响。本文将探讨GPT和AI助手的共生关系,以及我们如何使用它们,以及使用的平台和动机。 GPT和AI助手…

【驱动开发】注册字符设备使用gpio设备树节点控制led三盏灯的亮灭

注册字符设备使用gpio设备树节点控制led三盏灯的亮灭 设备树: 头文件: #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct {unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int OD…

[架构之路-250/创业之路-81]:目标系统 - 纵向分层 - 企业信息化的呈现形态:常见企业信息化软件系统 - 企业内的数据与数据库

目录 一、数据概述 1.1 数据 1.2 企业信息系统的数据 1.3 大数据 1.4 数据与程序的分离思想 1.5 数据与程序的分离做法 1.6 数据库的基本概念 1.7 企业数据来源 1.8 企业数据架构 二、常见的数据库类型 2.1 数据库分类 2.1 数据库类型 2.2 常见的数据库类型、应用…

5.1 创建和销毁线程

方法 pthread_create(thread, attr, start_routine, arg)pthread_exit(status)pthread_cancel(thread)pthread_attr_init(attr)pthread_attr_destroy(attr) 创建线程 最开始main()程序只有一个默认的线程,其他的线程需要由编程人员显式创建。pthread_create()可以…