[论文解读] Flower: A Friendly Federated Learning Research Framework
Flower 是一个可扩展、框架无关的联邦学习框架,能够在真实边缘设备和仿真环境中进行大规模队列实验,具备异构性支持和安全聚合。
Federated Learning (FL) has emerged as a promising technique for edge devices to collaboratively learn a shared prediction model, while keeping their training data on the device, thereby decoupling the ability to do machine learning from the need to store the data in the cloud. However, FL is difficult to implement realistically, both in terms of scale and systems heterogeneity. Although there are a number of research frameworks available to simulate FL algorithms, they do not support the study of scalable FL workloads on heterogeneous edge devices. In this paper, we present Flower -- a comprehensive FL framework that distinguishes itself from existing platforms by offering new facilities to execute large-scale FL experiments and consider richly heterogeneous FL device scenarios. Our experiments show Flower can perform FL experiments up to 15M in client size using only a pair of high-end GPUs. Researchers can then seamlessly migrate experiments to real devices to examine other parts of the design space. We believe Flower provides the community with a critical new tool for FL study and development.
研究动机与目标
- 激发对可扩展的 FL 框架的需求,以体现现实世界的异构性和规模。
- 将 Flower 介绍为一个全面、可扩展的 FL 框架,桥接仿真和真实设备部署。
- 展示 Flower 支持大规模队列(多达数百万客户端)和异构环境的能力。
- 展示包括安全聚合和跨框架/移动设备集成在内的实际能力。
提出的方法
- 通过 Strategy 抽象定义具有全局(服务器)和本地(客户端)计算的端到端 FL 框架架构。
- 提供与语言和 ML 框架无关的核心组件,以实现异构客户端实现。
- 引入 Virtual Client Engine(VCE)以最大限度地利用硬件资源,支持大规模实验。
- 实现适用于半诚实威胁模型的安全聚合协议(SecAgg 和 SecAgg+),并以效率为目标。
- 将 Flower 与 TFF、Syft、FedScale 和 LEAF 进行比较,涵盖单节点/多节点、可扩展性、异构性和框架无关性等属性。
- 描述通信栈(gRPC 双向流)、字节数组消息的序列化以及 ClientProxy 抽象。
实验结果
研究问题
- RQ1联邦学习框架如何在支持异构设备的同时扩展到数百万客户端?
- RQ2统一框架能否实现 FL 实验中仿真到真实设备的无缝转换?
- RQ3系统异构性和网络条件对 FL 收敛性和效率有何影响?
- RQ4安全聚合在真实设备实验中对 FL 可行性有何影响?
- RQ5在可扩展性、异构性和框架无关性方面,Flower 与现有的 FL 框架相比如何?
主要发现
- Flower 能够在使用小型计算资源(两张高端 GPU)的情况下将 FL 实验扩展至多达 1500 万个客户端。
- Flower 在仿真中可在每轮支持多达 1000 个并发客户端,总体达到 100 万客户端,超过若干同行在并发参与和扩展方面。
- 在 FEMNIST/字符分类任务中,随着每轮活跃客户端数量增加,Flower 的表现与同行相比具有竞争力,甚至更快。
- 在真实异构设备(Jetson、Raspberry Pi、Android)上部署 Flower 是可行的,且可观测到可测量的训练时间和能耗,剖面分析中每轮开销低于 100 ms。
- Virtual Client Engine(VCE)通过在需要时再延迟实例化客户端,显著提高利用率并降低内存占用,使在常见硬件上进行大规模实验成为可能。
- Flower 的安全聚合实现理论开销低于某些传统 MPC 方法,并且对掉线具有鲁棒性。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。