《PFL》论文阅读笔记

一、概要

随着联邦学习的发展,简单的聚合算法已经不在有效。但复杂的聚合算法使得联邦学习训练时间出现新的瓶颈。本文提出了并行联邦学习(parallel federated learning,PFL),通过调换中心节点聚合和广播的顺序。本文算法的优点:在全局聚合计算时解锁了边缘节点,在边缘节点本地计算时解锁了中心节点,并且在计算过程中具有灵活的伸缩性。
本文主要贡献:

  1. 处理数据异构和网络掉队
  2. 局部节点参与灵活性
  3. 计算训练过程中的可扩展性
二、关键算法

本文的PFL算法并没有重新设计FL框架,仅仅只是将原计算流程进行了适当的调整,主要包含同步的SPFL和异步的APFL。如图所示,(a)表示FedAvg流程:uploading–>global aggregation–>broadcasting–>local optimization。(b)表示本文提出的SPFL流程:uploading(中心节点接收当前所有边缘局部更新)–>broadcasting(中心节点广播缓存中的全局模型参数)–>全局聚合计算(中心节点利用接收到的局部更新聚合全局模型参数)。该设计可以使得本地一旦优化完成便上传到中心节点,而中心节点一旦接收到本地更新边广播缓存中的全局模型参数。因此边缘节点和中心节点不用等待阻塞。
请添加图片描述
下图是APFL的流程图:

SPFL

同步的PFL并不能处理网络掉队的问题,而是对复杂聚合逻辑做了相应的处理。其流程中对应的处理逻辑分别如下:

  • Local Update:边缘节点接收全局模型参数 w t − 1 ( g ) w_{t-1}^{(g)} wt1(g),然后使用SGD算法更新本地模型,公式: w t ( i ) = w t − 1 ( g ) − γ G t − 1 ( i ) w_{t}^{(i)} = w_{t-1}^{(g)} - \gamma G_{t-1}^{(i)} wt(i)=wt1(g)γGt1(i),其中 t t t为训练轮数, i i i为第 i i i各节点, w t − 1 ( g ) w_{t-1}^{(g)} wt1(g) t − 1 t-1 t1轮时的全局模型, G t − 1 ( i ) G_{t-1}^{(i)} Gt1(i)为通过 w t − 1 ( g ) w_{t-1}^{(g)} wt1(g)计算得到的梯度。
  • Uploading:一旦本地模型训练完成,便计算 δ ( i ) \delta^{(i)} δ(i)并上传到中心节点。
  • Broadcasting:中心节点接收到所有边缘节点的 { δ ( i ) } i = 1 N \{\delta^{(i)}\}_{i=1}^{N} {δ(i)}i=1N,便将缓存中上一轮的聚合结果 w t − 1 ( g ) w_{t-1}^{(g)} wt1(g)广播给边缘节点。这里如果上一轮的聚合结果没有完成,将会阻塞等待其完成。
  • Global Aggregation:一旦广播成功,中心节点便执行下一轮的聚合计算: w t + 1 ( g ) = w t ( g ) + 1 N ∑ i = 1 N δ ( i ) w_{t+1}^{(g)}=w_{t}^{(g)}+\frac{1}{N}\sum_{i=1}^N \delta^{(i)} wt+1(g)=wt(g)+N1i=1Nδ(i)
APFL

异步的PFL同时对边缘节点的网络掉队问题和中心节点的复杂聚合算法逻辑做了优化。每个边缘节点和中心节点都有不同的clocks,并且中心节点的clock只和其中一个边缘节点有关,例如对于第 t t t个中心节点的clock,APFL的流程如下:

  • Local Update:边缘节点 i i i完成和中心节点的通信,并接收到全局模型 w t − 1 ( g ) w_{t-1}^{(g)} wt1(g),然后更新本地模型: w t ( i ) = w t − 1 ( g ) − γ G t − 1 ( i ) w_{t}^{(i)} = w_{t-1}^{(g)} - \gamma G_{t-1}^{(i)} wt(i)=wt1(g)γGt1(i)
  • Uploading:完成本地模型更新之后,上传本地梯度 δ ( i ) \delta^{(i)} δ(i),在边缘节点 i i i本地训练和梯度上传过程中,有 n n n个其他边缘节点和中心节点通信。因此,当中心节点接收到边缘节点 i i i的本地更新之后,中心节点的clock已经是 t + n + 1 t+n+1 t+n+1
  • Broadcasting:中心节点在接收到边缘节点 i i i的本地更新 δ ( i ) \delta^{(i)} δ(i)后,将缓存中最新的全局模型发送给边缘节点 i i i,这里的最新全局模型可能是 w t + n ( g ) w_{t+n}^{(g)} wt+n(g),也可能是 w t + n − r ( g ) w_{t+n-r}^{(g)} wt+nr(g),表示中心节点在clock t t t到clock t + n t+n t+n中任意clock聚合得到的结果。
  • Global Aggregation:中心节点在上一轮聚合过程中,会接收到一部分边缘节点上传的 δ ( i ) \delta^{(i)} δ(i)。因此,聚合计算: w t + n + 1 ( g ) = w t + n + 1 − p ( g ) + 1 N ∑ i = 1 C t δ ( i ) w_{t+n+1}^{(g)}=w_{t+n+1-p}^{(g)}+\frac{1}{N}\sum_{i=1}^{C_t} \delta^{(i)} wt+n+1(g)=wt+n+1p(g)+N1i=1Ctδ(i),其中 C t C_t Ct表示中心节点接收的 δ ( i ) \delta^{(i)} δ(i)的数据量, p p p属于 C t C_t Ct。通常 C t C_t Ct只包含一个边缘节点。
SPFL和APFL的异同
  1. SPFL的中心节点更新 w w w时需要等待所有边缘节点的上传,APFL不需要。

  2. SPFL和APFL相比普通的FL有不同的加速。

  3. SPFL和APFL的收敛分析中,都能有不错的收敛。(很多数学上的分析,可以移步论文)

三、总结

从实验结果看,本文提出的算法对中心节点场景的模型训练加速优化具有很好的参考意义。


论文地址:点这里

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

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

相关文章

这4个磁盘备份方法可以帮你轻松保护重要数据安全!

怎样备份磁盘中存储的重要数据?在我们的日常工作与学习中,数据丢失的情况时有发生(比如自己的照片、视频、文档等被误删或者丢失),多数用户可以通过专业的数据恢复软件来找回数据。但若情况比较严重的话,为…

PyQt6 QPushButton按钮控件

​锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计32条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话…

【刷题笔记】两数之和II_二分法||二分查找||边界||符合思维方式

两数之和II_二分法||二分查找 1 题目描述 https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/ 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设…

统信UOS 1060操作系统上更新系统

往期好文:统信UOS/麒麟KYLINOS禁用USB存储 hello,大家好啊!在数字化时代,操作系统的安全性和稳定性对我们的日常工作和生活至关重要。今天,我要给大家介绍的是关于在统信UOS 1060操作系统上,如何通过控制中…

Facebook广告投放效果不佳?这些投放技巧我不允许你不知道!

众所周知,Facebook广告对于跨境卖家来说是非常有效的站外引流渠道,通过Facebook广告投放可以提高跨境卖家的产品销量和排名,但是有时明明广告已经投放出去了,却无法被受众看到,完全没有获得成果,或许你会怪…

CRM系统的数据分析和报表功能对企业重要吗?

竞争日益激烈,企业需要更加高效地管理客户关系,以获取更多的商机。为此,许多企业选择使用CRM系统。在CRM中,数据分析功能扮演着重要的角色。下面就来详细说说,CRM系统数据分析与报表功能对企业来说重要吗? …

pandas(八)--实战一下

背景 收到一批数据,数据形式。采集数据的间隔时间是10分钟,全天采集数据,每天的数据量是144条 处理后的数据形式 分析 去除表格中的q的异常值,置为0去除重复行将原始表格中的date分裂成日期和时间缺失的时间点数据补0&#x…

Unity C++交互

一、设置Dll输出。 两种方式: 第一:直接创建动态链接库工程第二:创建的是可执行程序,在visual studio,右键项目->属性(由exe改成dll) 二、生成Dll 根据选项Release或Debug,运行完上面的生成解决方案后…

如何修改Window电脑的远程登陆端口

主要步骤如下: 1、找到运行对话框,一种方法是:开始->附件->运行;另外一种是快捷键winR组合键。 2、Regedit,在对话框中输入regedit命令,然后回车。备份注册表。手动备份注册表 2.1选择“ 开始 ”&am…

如何使用 CSS columns 布局来实现自动分组布局?

最近在项目中碰到这样一个布局,有一个列表,先按照 4 2 的正常顺序排列,当超过 8 个后,会横向重新开始 4 2 的布局,有点像一个个独立的分组,然后水平排列,如下 图中序号是 dom 序列,所…

【算法心得】When data range not large, try Bucket sort

https://leetcode.com/problems/maximum-number-of-coins-you-can-get/description/?envTypedaily-question&envId2023-11-24 I solve this problem by sorting piles first, and choose piles for(let i1;i<(piles.length/3)*2;i2) but: o(≧口≦)o Problem must …

ISCTF2023新生赛Misc部分WP

ISCTF2023新生赛部分WP MISC&#xff1a;签到&#xff1a;你说爱我&#xff1f;尊嘟假嘟&#xff1a;小蓝鲨的秘密&#xff1a;easy_zip:杰伦可是流量明星&#xff1a;蓝鲨的福利&#xff1a;Ez_misc:PNG的基本食用:小猫&#xff1a;MCSOG-猫猫&#xff1a;镜流:stream&#xf…

基于OpenCV的手势识别系统设计与开发

摘要 随着计算机技术与信息处理技术迅速发展&#xff0c;智能化电子设备逐渐进入到日常的生产和生活中&#xff0c;与此同时&#xff0c;人们对电子设备操作过程的便捷化也提出了新的要求&#xff0c;这也促使计算机进行图像处理的技术也得到了发展。近些年兴起的模式识别技术…

1.自动化运维工具Ansible的安装

1.物料准备 四台服务器&#xff0c;其中一个是主控机&#xff0c;三个为host 2.安装 在主控机上安装ansible 2.1 设置EPEL仓库 Ansible仓库默认不在yum仓库中&#xff0c;因此我们需要使用下面的命令启用epel仓库。 yum install epel-release -y2.2 执行安装命令 yum i…

网站上https协议,nginx配置SSL,443端口

nginx配置ssl 要给自己的网站上ssl证书&#xff0c;使用https协议。首先你需要有证书文件&#xff0c;这个文件是你买的服务&#xff0c;买过之后别人会给你。 就是这样的文件&#xff1a; 然后你就把文件上传到服务器的一个位置&#xff0c;你记住这个位置&#xff0c;后面配…

java审计之java反序列化-CC链

介绍 序列化的本质是内存对象到数据流的一种转换&#xff0c;我们知道内存中的东西不具备持久性&#xff0c;但有些场景却需要将对象持久化保存或传输。 在Java工程中&#xff0c;序列化还广泛应用于JMX&#xff0c;RMI&#xff0c;网络传输&#xff08;协议包对象&#xff09…

Java-MyBatis

1.基础 1.1 pom <dependencies><!--MyBatis核心--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.7</version></dependency><!--MySql驱动--><dependency&…

看看京东的接口优化技巧,确实很优雅!!

大家好&#xff0c;最近看到京东云的一位大佬分享的接口优化方案&#xff0c;感觉挺不错的&#xff0c;拿来即用。建议收藏一波或者整理到自己的笔记本中&#xff0c;随时查阅&#xff01; 下面是正文。 一、背景 针对老项目&#xff0c;去年做了许多降本增效的事情&#xf…

10分钟的时间,带你彻底搞懂JavaScript数据类型转换

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热衷分享有趣实用的文章&#xff0c;希望大家多多支持&#xff0c;一起进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 JS数据类型 3种转换类型 ToBoolean ToString ToNumber 对象转原…

token认证机制,基于JWT的Token认证机制实现,安全性的问题

文章目录 token认证机制几种常用的认证机制HTTP Basic AuthOAuthCookie AuthToken AuthToken Auth的优点 基于JWT的Token认证机制实现JWT的组成认证过程登录请求认证 对Token认证的五点认识JWT的JAVA实现 基于JWT的Token认证的安全问题确保验证过程的安全性如何防范XSS Attacks…