《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.rhkb.cn/news/211403.html

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

相关文章

OpenHarmony亮相MTSC 2023 | 质量效率共进,赋能应用生态发展

11月25日,MTSC 2023第十二届中国互联网测试开发大会在深圳登喜路国际大酒店圆满举行。大会以“软件质量保障体系和测试研发技术交流”为主要目的,旨在为行业搭建一个深入探讨和交流的桥梁和平台。OpenAtom OpenHarmony(简称“OpenHarmony”&a…

Spring Boot与Mybatis基础配置(手动写增删改查)

一、 配置 1.新建项目 1.项目基础配置 解释:记得把这个改成start.aliyun.com要不没有java8也就是jdk1.8 2.项目依赖配置 2.配置maven 配置前: 配置后: 3.创建子项目并配置父子项目pom.xml 配置父pom.xml 声明当前项目不是要打成jar包的…

反序列化漏洞详解(二)

目录 pop链前置知识,魔术方法触发规则 pop构造链解释(开始烧脑了) 字符串逃逸基础 字符减少 字符串逃逸基础 字符增加 实例获取flag 字符串增多逃逸 字符串减少逃逸 延续反序列化漏洞(一)的内容 pop链前置知识,魔术方法触…

学习UnitTest框架,轻松打造无懈可击的代码!

一、什么是UnitTest? 1、介绍 unittest是Python自带的一个单元测试框架,它可以做单元测试,也能用于编写和运行重复的测试工作。 它给自动化测试用例开发和执行提供了丰富的断言方法,判断测试用例是否通过,并最终生成…

纯js实现录屏并保存视频到本地的尝试

前言:先了解下:navigator.mediaDevices,mediaDevices 是 Navigator 只读属性,返回一个 MediaDevices 对象,该对象可提供对相机和麦克风等媒体输入设备的连接访问,也包括屏幕共享。 const media navigator…

python爬虫-某公开数据网站实例小记

注意!!!!某XX网站逆向实例仅作为学习案例,禁止其他个人以及团体做谋利用途!!! 第一步:分析页面和请求方式 此网站没有技巧的加密,仅是需要携带cookie和请求…

万界星空科技灯具行业MES介绍

中国是LED照明产品最大的生产制造国,如今,我国初步形成了包括LED外延片的生产、LED芯片的制备、LED芯片的封装以及LED产品应用在内的较为完超为产业链,随着LED照明市场渗诱率的快速警升,LED下游应用市场将会越来越广阔。这也将推动…

智能优化算法应用:基于寄生捕食算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于寄生捕食算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于寄生捕食算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.寄生捕食算法4.实验参数设定5.算法结果6.参考…

3 测试驱动的Spring Boot应用程序开发数据层示例

文章目录 用户故事数据模型选择数据库SQL与NoSQLH2、Hibernate和JPA Spring Boot Data JPA依赖关系和自动配置Spring Data JPA技术栈数据源(自动)配置 实体存储库存储User和ChallengeAttempt显示最近的ChallengeAttempt服务层控制器层用户界面 小结 文章…

【JS】检索树结构,并返回结果节点的路径与子节点

【JS】检索树结构,并返回结果节点的路径与子节点 需求代码效果展示 需求 一个树结构,需要添加条件检索功能,检索结果依然是一个树结构,包含所有的符合要求的节点,以及他们到根节点的路径,与他们的子节点 …

vue项目运行时,报错:ValidationError: webpack Dev Server Invalid Options

在运行vue项目中,遇到报错:ValidationError: webpack Dev Server Invalid Options,如下图截图: 主要由于vue.config.js配置文件错误导致的,具体定位到proxy配置代理不能为空,导致运行项目报错,需…

版本控制系统Git学习笔记-Git基本知识介绍

目录 前言一、版本控制系统1.1 什么是版本控制系统1.2 本地版本控制系统1.3 集中化的版本控制系统1.3 分布式版本控制系统 二、Git简介2.1 数据处理方式2.2 几个特点2.2.1 几乎所有操作都是本地执行2.2.2 Git保证完整性2.2.3 Git一般只添加数据 2.3 Git中文件状态2.3.1 三种文件…

python networkx 网络展示的代码

1、创建一个无权重的图,并展示 edge_list.csv a,b,2 a,c,3 b,c,3 d,e,1 d,f,3 e,k,1 r,l,3 t,l,2import networkx as nx import matplotlib.pyplot as plt G nx.Graph() # 创建无向图 with open(edge_list.csv) as f:for line in f:edge line.strip().split(,)tr…

装修流程篇

装修流程 https://www.xiaohongshu.com/explore/627ba70d00000000210357b3 https://www.xiaohongshu.com/explore/63b6bc0c000000002203776f 半包装修流程 https://www.xiaohongshu.com/explore/64e5ea3b0000000003021711 户型图 效果 https://www.xiaohongshu.com/ex…

掌握大型语言模型(LLM)技术:推理优化

原文链接:Mastering LLM Techniques: Inference Optimization | NVIDIA Technical Blog 大模型相关技术文章已整理到Github仓库,欢迎start! 堆叠Transformer层以创建大型模型可以获得更好的准确性、few-shot学习能力,甚至在各种语言任务中具有…

三、Zookeeper数据模型

目录 1、Znode兼具文件和目录两种特点 2、Znode具有原子性操作

Ubuntu安装过程记录

软件准备 硬件 Acer电脑,AMD a6-440m芯片 64g优盘一个,实际就用了不到5g。 Ubuntu :官网 下载Ubuntu桌面系统 | Ubuntu 下载桌面版Ubuntu 22.04.3 LTS LTS属于稳定版 u盘系统盘制作软件 Rufus :Rufus - 轻松创建 USB 启动…

js模块化的应用!!!(前无古人,后无来者)

简介: 在 ES6 前, 实现模块化使用的是 RequireJS 或者 seaJS(分别是基于 AMD 规范的模块化库, 和基于 CMD 规范的模块化库)。 ES6 引入了模块化,其设计思想是在编译时就能确定模块的依赖关系&#xff0c…

万宾科技水环境综合治理监测系统的融合与应用

随着社会经济的快速发展,我国的水环境污染问题日益凸显,这不仅对生态环境造成了严重破坏,也严重威胁到人民群众的健康和生活质量。为了解决这一问题,城市生命线与水环境综合治理监测系统应运而生,二者的结合将为水环境…

gmid方法设计五管OTA二级远放

首先给出第一级是OTA,第二级是CS的二级运放电路图: gmid的设计方法可以根据GBW、Av、CL来进行电路设计,因此在设计电路之前需要以上的参数要求。 1、为了满足电路的相位裕度至少60,需要对GBW、主极点、零点进行分析。 首先给出其…