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:这也是一篇畅想,虽然经过了一番试验,依旧有一些不足,但是大体上站得住脚。传统的软件生成方式需要程序员编写大量的代码,然后进行测试、发布等一系列繁琐的流程。而实时生成技术则是借助人工智能技术,让…...
基于MCP协议的AI自动化Solana代币发行与资产管理实战
1. 项目概述:当AI助手成为你的Solana发币合伙人 如果你在Solana生态里折腾过,肯定知道发一个币有多麻烦。从构思名字、设计代币经济学、写合约、到部署、创建流动性池、再到上DEX工具(比如Dexscreener)做推广,每一步都…...
WinHex实战:从磁盘底层到数据恢复的完整指南
1. WinHex入门:认识这款数据恢复利器 第一次接触WinHex时,我被它黑底绿字的界面震撼到了——这简直就是黑客电影里的标配工具!作为X-Ways公司开发的专业十六进制编辑器,WinHex远不止是个简单的磁盘查看器。记得有次同事误删了重要…...
Tempera风格在Midjourney中为何始终不达标?:资深提示工程专家拆解v6.1/v6.2渲染底层逻辑
更多请点击: https://intelliparadigm.com 第一章:Tempera风格在Midjourney中的定义性困境 Tempera(蛋彩画)作为一种古老绘画媒介,其细腻笔触、哑光质感与矿物颜料特有的微颗粒反光,在Midjourney等文本到图…...
计算机视觉工程师的周度技术雷达:从论文到产线的工程化筛选方法
1. 这不是一份“论文清单”,而是一份计算机视觉从业者的周度技术雷达 如果你每天刷arXiv、看CVPR会议摘要、追GitHub trending,却总在“读完就忘”和“知道很重要但不知从何下手”之间反复横跳——那你不是一个人。我做CV方向的工程落地和算法选型已经十…...
MagiskBoot深度解析:Android启动镜像处理机制与实战应用
MagiskBoot深度解析:Android启动镜像处理机制与实战应用 【免费下载链接】Magisk The Magic Mask for Android 项目地址: https://gitcode.com/GitHub_Trending/ma/Magisk MagiskBoot作为Magisk项目中的核心工具,专门负责Android启动镜像的解析、…...
避坑指南:ArcGIS处理SRTM DEM时空间参考丢失、裁剪异常的终极解决方案
ArcGIS处理SRTM DEM数据避坑实战手册:从空间参考丢失到精准裁剪的全流程解析 当你从NASA官网下载了SRTM DEM数据,满心欢喜地准备进行地形分析时,是否遇到过这些"玄学"问题?裁剪后的中国地图边界莫名其妙偏移了几百公里&…...
Data Storage and Computation
Data Storage and Computation 数据存储与计算假设一张表有 3 个字段:id BIGINT(8 字节 / 条) name VARCHAR(20)(实际平均 10 字节 / 条) age TINYINT(1 字节 / 条)单行实际数据占用࿱…...
PonyAgent 试用笔记:当 LangGraph 太重、Dify 太黑盒,中小企业的第三条路,一个很实用的智能体框架
PonyAgent 试用笔记:当 LangGraph 太重、Dify 太黑盒,中小企业的第三条路 TL;DR:PonyAgent 是一个用 Python 写的极简智能体框架,单文件入口、.env 一处配置、Redis 挂了能自动降级到内存模式。我用 5 分钟在 Windows 上把它跑了起…...
自动化规则同步:从设计原理到Go/Python实战实现
1. 项目概述:一个自动化同步规则的“守门人”在运维和网络安全领域,我们每天都在和各种规则打交道:防火墙规则、入侵检测规则、内容过滤规则……这些规则是保障系统安全、优化网络流量的核心防线。然而,随着业务扩展和多环境部署&…...
别再死记硬背了!用Python手把手拆解卡尔曼滤波的‘预测-更新’循环
别再死记硬背了!用Python手把手拆解卡尔曼滤波的‘预测-更新’循环 卡尔曼滤波在工程领域就像一位隐形的魔术师——它能从充满噪声的传感器数据中提取出真实信号。但第一次接触那些矩阵方程时,多数人都会陷入"每个字母都认识,连起来完全…...
