REFL: 联邦学习中智能的设备选择方法
原创 齐天宇 隐私计算研习社
收录于合集#联邦学习54个

现有的FL方案使用随机的参与者选择来提高选择过程的公平性,但是这会导致资源的低效利用和较低的训练质量。
本文系统地解决了FL中资源效率低效的问题,展示了智能参与者选择和合并来自落后参与者的更新的好处。我们演示了这些因素如何在提高训练后的模型质量的同时提高资源效率。
论文标题:REFL: Resource-Efficient Federated Learning
论文链接:https://mcanini.github.io/papers/refl.eurosys23.pdf
1
Introduction
主要挑战是大量学习者在计算能力和数据分布方面的异质性,这可能会影响训练的效果。
精确度时间是一个重要的指标,它取决于培训的统计效率和系统效率。失败的回合和过度参与的参与者会导致计算的浪费,这在以往的FL方法中大多被忽视了。本文目标是优化FL系统的设计,使其在不同的环境下具有资源与精度之比。这意味着减少了达到目标精度所消耗的计算资源,而不会对精度时间产生重大影响。
本文提出REFL,这是一种在不牺牲统计和系统效率的情况下最大化FL系统资源效率的实用方案。REFL通过将参与者更新的集合从聚合分离到更新的模型中来实现这一点。REFL还智能地在可用的参与者中选择将来最不可能可用的参与者。
贡献:
强调学习者有限能力和可用性的资源利用在FL中的重要性,并提出REFL来智能地选择参与者并有效地利用他们的资源。
提出了陈旧感知聚合和智能参与者选择算法,以提高资源利用率,同时对准确性的时间影响最小。
使用真实世界的FL基准来实现和评估REFL,并将其与最先进的解决方案进行比较。
2
Background
在FL聚合中引入了截止时间。

FL的异质性:
数据异质性:Noniid数据;
系统异质性:算力不同;
行为异质性:学员的可获得性因轮次而异;
当前常见的异步算法:
SAFA:落后者参与者的半异步更新;然而,SAFA只允许学习者在有限的陈旧阈值内进行更新;
FiLL支持陈旧度更新,但其协议与FedAvg不兼容;
Oort优先选择学习速度快的学习者来缩短轮次持续时间。
3
The case for REFL
System Efficiency vs. Resource Diversity
当前FL对的设计,要么旨在减少达到准确的时间(系统效率),要么增加学习者池的覆盖率以增强数据分布并公平地分散训练工作量(资源多样性)。但没有考虑学习者的训练成本。
第一个目标导致对某些类别的学习者采取歧视性的做法,要么优先选择计算速度快的学习者,要么优先选择模型更新质量高的学习者(即具有高统计效用的学习者)
第二个目标需要将计算理想地分散到所有可用的学习者上,但代价是可能需要更长的轮次持续时间。
本文的目标是在二者之间取得一种平衡。
Stale Updates & Resource Wastage
SAFA从异步方法中汲取灵感,允许掉队的参与者通过陈旧的更新为全球模型做出贡献。其对所有学员进行培训,并在预设比例的学员返回更新时结束一轮培训。SAFA允许参与者在该轮截止日期后报告,在这种情况下,更新将被缓存并在下一轮中应用。
SAFA+O代表着其预先知道哪些设备会被选择并聚合,可以一定程度减小开销。

原则上,允许陈旧更新可以减少循环持续时间,获得更好的时间准确性,同时保留掉队者的贡献。然而,主要的挑战是平衡参与者的数量,以避免大量的资源浪费。
Participant Selection & Resource Diversity
Oort是通过改变设备选择策略,尽可能选择易于聚合的快速学习者提升准确率的设备,但减少了数据多样性。

同时还要考虑参与者可用性。每个设备参与者可用的时间长短不一。低可用性学习者可能需要特殊考虑,以增加独特参与者的数量,而不会对总体培训时间产生不利影响。

实验结果展示,动态且Noniid的情况下,准确率会下降10%左右。
综上,为了实现更好的模型泛化性能,应该在来自大部分学习者群体的数据样本上联合训练模型。(确保更广泛的学习者覆盖面)
4
REFL design
REFL通过减少延迟参与者的资源浪费和优先考虑可用性降低的参与者来实现这一点。它利用理论支持的方法,根据质量合并陈旧更新。
智能参与者选择(IPS):对提高资源多样性的参与者进行优先排序。
陈旧感知聚合(SAA):在不影响准确性的情况下提高资源效率。

Oort在培训的早期阶段将参与者的选择倾向于更快的学习者,从而错过了有限可用性的学习者,其回合时间是由掉队者决定的。通过允许过时更新。
REFL降低了对落后者的依赖。通过基于估计的可用性对学习者进行优先排序,REFL对更多样化的学习者集合进行采样。
Intelligent Participant Selection (IPS)
IPS增加了资源的多样性,使全球模型能够捕捉广泛分布的学习者数据。此外,它提供了一个可选组件,通过智能地调整每一轮的参与者数量来进一步减少资源浪费。

可用性预测模型:使用现成的时间序列模型来预测学习者的未来可用性。其中是轮次持续时间的平均估计。更新方法为,其中 是上一轮的持续时间。并且其会探测每个当前掉队者,计算其剩余时间 ,将 作为上一轮掉队者中能够完成能够完成训练的集合。所以参与者的数量被调整为
Staleness-Aware Aggregation(SAA)
收敛性分析
从理论上证明了带有陈旧更新的FedAvg算法能够收敛并获得收敛速度。考虑个设备的联合优化问题:

陈旧同步更新算法:

收敛性:

减轻陈旧度的影响(加权平均):

5
Evaluation
用FedSacle实现了FL的集成。
benchmark:

数据异构:1、均衡分布;2、均匀分布;3、Zipf分布

系统性能:从真实数据中测量进行随机分配。

可用性模型:90%的准确率。
6
Result



与SAFA相比,REFL耗时基本类似,但资源消耗较少。

加入动态评估时间可用参与者效果会更好。

在全部可用的情况下,Oort在iid情况下效果很好,但在Noniid情况下不能选择足够丰富的数据。由于SAA组件的加入,REFL以较低的资源使用获得了良好的模型质量。

大训练参与者情况下的效果:

未来硬件进步的影响:

作者简介:齐天宇,北京理工大学自动化学院智能信息与控制研究所研究生。主要研究兴趣包括机器学习、联邦学习、隐私保护。知乎:一朵小脑花。
END

隐私计算研习社
开放隐私计算社区
97篇原创内容
公众号
往期推荐
密码学中常见加密算法的python模块整理
上岸!选择你的隐私计算导师!
联邦学习 (FL) 中常见的3种模型聚合方法的 Tensorflow 代码示例
对于多方安全计算,你是否也有这样的疑惑?

欢迎投稿
邮箱:pet@openmpc.com
参与更多讨论,请添加小编微信加入交流群

分享此内容的人还喜欢
上岸!选择你的隐私计算导师!
隐私计算研习社阅读 996不喜欢
不看的原因确定
内容质量低
不看此公众号

可信区块链隐私计算平台研究与实现
隐私计算研习社阅读 457不喜欢
不看的原因确定
内容质量低
不看此公众号

对于多方安全计算,你是否也有这样的疑惑?
隐私计算研习社阅读 502不喜欢
不看的原因确定
内容质量低
不看此公众号

写下你的留言
相关文章:
REFL: 联邦学习中智能的设备选择方法
原创 齐天宇 隐私计算研习社 收录于合集#联邦学习54个现有的FL方案使用随机的参与者选择来提高选择过程的公平性,但是这会导致资源的低效利用和较低的训练质量。本文系统地解决了FL中资源效率低效的问题,展示了智能参与者选择和合并来自落后参与者的更新…...
Linux:NFS服务器
目录NFS服务器的介绍例NFS服务器的介绍 1,NFS(网络文件系统),主要用于服务器分享提供文件或文件系统等服务,与其他服务器有所不同,主打的是分享,所以没有配置文件,只需要在 /etc/ex…...
电子技术——数字逻辑反相器
电子技术——数字逻辑反相器 在学习完如何通过CMOS数字电路实现组合逻辑,接下来我们评估这种数字CMOS电路的性能。首先,我们考虑最基本的部件——反相器。 电压传导特性 下图是一个反相器的原理图: 在之前,我们已经介绍了MOSFE…...
python的多线程编程之锁
1、 背景概述 在上篇文章中,主要讲述了python中的socket编程的一些基本方面,但是缺少关于锁的相关概念,从而在这篇文章中进行补充。 由于在python中,存在了GIL,也就是全局解释器锁,从而在每次进行获得cpu的…...
Android Framework-进程间通信——Binder
我们知道,同一个程序中的两个函数之间能直接调用的根本原因是处于相同的内存空间中。 比如有以下两个函数A和B: /*Simple.c*/ void A() { B(); } void B() { }因为是在一个内存空间中,虚拟地址的映射规则完全一致,所以函数A和B之…...
有趣的小知识(二)浏览器内的秘密:了解Cookie基础知识
一、简介 Cookie是一种小型的文本文件,由Web服务器发送给Web浏览器,并存储在用户的计算机硬盘上。它通常用于记录用户的偏好、登录状态、购物车信息等,以便在用户下次访问该网站时能够提供更好的用户体验。Cookie通常包含网站的名称、Cookie的…...
Spring框架
DI:依赖注入IOC:控制反转AOP:面向切面IOC容器:存放管理各种对象Spring优势:低耦合。(降低组件之间的关联性,实现软件各层之间的解耦)声明式事务管理(基于AOP来管理)和其他框架的整合(…...
mysql8的表锁排查
information_schema.innodb_trx ##正在运行的事务信息。 sys.innodb_lock_waits ##处于锁等待的关联事务信息。 performance_schema.threads ##SQL线程及线程号、进程号、OS线程号等信息 # 查询锁的情况 select * from performance_schema.data_locks where object_name =t_xxx…...
【C语言】深度理解指针(上)
前言🌊谈到指针,想必大家都不陌生。它不仅是C语言的重难点,还是不少C初学者的噩梦。本期我们将深度探讨一些较为复杂的指针以及指针的妙用,带领大家感受指针的魅力😝。首先,我们先来复习复习指针的概念&…...
最近我的视频播放浅学总结
因为想做一个类似苹果的同播共享功能,这一段时间对音视频做了一些浅浅的学习,现简单总结记录。 我的需求是找到一个尽可能简单的方案来两人播放一段视频,并且能够进度和操作同步,所以基本不能有延迟,同时能够显示WebV…...
【C/C++基础知识点】输出n位斐波那契数列
目录 前言什么是斐波那契数列兔子的故事小知识点收尾前言 在软件行业已经有快十年,技术虽然一般般,但是足够应付额解决编程入门的相关问题! 都说十年磨一剑,积累到一定经验,是时候发挥自己的价值,给予入门的同行些许的帮助! 为什么要写收费专栏,其实原因很简单,时间就…...
C语言拔高知识——指针的进阶(万字大文超详细)
在之前的文章中,我已经讲解过了初阶指针的内容,今天就来讲一讲指针的进阶! 上篇指针地址:保姆式指针讲解,超详细,适合初学者_指针详解_陈大大陈的博客-CSDN博客 目录 1. 字符指针 2. 指针数组 3. 数组指…...
程序员推荐的良心网站合集!(第二期)
今天来给大家推荐几个程序员必看的国外良心网站合集第二期合集。 Semantic Schoolar 由微软联合创始人Paul Allen开发的免费学术搜索引擎,不仅可以通过时间线快速定位想要的文献,还有强大的筛选功能可以精准的找到自己想要的文献,想要什么搜…...
【Java核心知识】spring boot整合Mybatis plus + Phoenix 访问Hbase与使用注意
为了Phoenix能让开发者通过SQL访问Hbase而不必使用原生的方式?引用Phoenix官网上的一句话:SQL is just a way of expressing what you want to get not how you want to get it. 即SQL不是一种数据操作技术,而是一种特殊的表达方式。只是表示…...
lua实现游戏全局鼠标点击效果
前言 最近在优化项目,策划提了一个需求,需要实现一个通用点击特效。 尝试1 首先想到的是改变鼠标指针样式,这个以前学过,还有点印象,以前刚开始学unity的时候,记得看到过一个方法可以改变游戏中鼠标指针样式。 方法如下:选择“Edit”——>“Project Setting”,打…...
MyBatis源码分析(二、续)SqlSource创建流程,SQL如何解析?如何将#{id}变成?的
文章目录实例一、SqlSource处理入口二、SqlSource处理逻辑1、XMLScriptBuilder 构造方法2、解析动态sql3、DynamicSqlSource4、RawSqlSource解析sql(1)parse方法解析sql写在后面实例 此处我们分析的sql: <select id"selectBlog&quo…...
用 C 语言开发一门编程语言 — 函数库的设计与实现
目录 文章目录目录前言前文列表基础功能演示数字运算变量与代数运算列表处理Lambda 函数条件分支字符串源文件加载函数库列表处理函数库条件分支函数库数学库前言 通过开发一门类 Lisp 的编程语言来理解编程语言的设计思想,本实践来自著名的《Build Your Own Lisp》…...
网络层IP协议与数据链路层以太网协议
文章目录一、IP协议IP地址地址管理路由选择DNS二、以太网协议以太网帧MTU一、IP协议 IP协议是我们网络层的代表协议,今天我们就来一起学习一下吧,我们这里介绍的主要是IPv4协议。 版本:指定IP协议的版本,版本的取值只有4&#x…...
JDK动态代理详解
1.什么是动态代理 可能很多小伙伴首次接触动态代理这个名词的时候,或者是在面试过程中被问到动态代理的时候,不能很好的描述出来,动态代理到底是个什么高大上的技术。不方,其实动态代理的使用非常广泛,例如我们平常使用…...
实时的软件生成 —— Prompt 编程打通低代码的最后一公里?
PS:这也是一篇畅想,虽然经过了一番试验,依旧有一些不足,但是大体上站得住脚。传统的软件生成方式需要程序员编写大量的代码,然后进行测试、发布等一系列繁琐的流程。而实时生成技术则是借助人工智能技术,让…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
