paint-brush
Federated Learning on Edge Sensing Devices: State of the Art Federated Learning Software Platformsby@escholar
128 reads

Federated Learning on Edge Sensing Devices: State of the Art Federated Learning Software Platforms

tldt arrow

Too Long; Didn't Read

In this section, we introduce some prominent software frameworks for building FL applications. In addition, we provide a list of popular testbeds crucial for the model deployment and evaluation on real devices.
featured image - Federated Learning on Edge Sensing Devices: State of the Art Federated Learning Software Platforms
EScholar: Electronic Academic Papers for Scholars HackerNoon profile picture

This paper is available on arxiv under CC 4.0 license.

Authors:

(1) Berrenur Saylam;

(2) Ozlem Durmaz ¨ ˙Incel.

Highlights

Abstract & Introduction

Federated Learning: Collaborative and Privacy-Preserving Model Training

State of the Art Federated Learning Software Platforms and Testbeds

Sensors and Edge-Sensing Devices

Federated Learning Applications on Sensing Devices

Discussion

Conclusions, Acknowledgment, and References

3. State of the Art Federated Learning Software Platforms and Testbeds

In this section, we introduce some prominent software frameworks for building FL applications. In addition, we provide a list of popular testbeds crucial for the model deployment and evaluation on real devices.


3.1. Software Platforms


Frameworks provide developers and researchers with powerful tools and resources to implement FL algorithms and conduct experiments in a distributed and collaborative manner Kholod et al. (2020). We review the commonly used FL software platforms in the literature:


TensorFlow (TFF (2023)): TensorFlow Federated (TFF) is developed by Google specifically for applying deep learning over distributed data, with a particular focus on mobile keyboard prediction and ondevice learning. TFF consists of two API layers: Core and FL API. The Core API offers default implementations of FL algorithms such as FedAvg and FedSgd, while the FL API allows for the definition of custom federated algorithms.


TFF currently supports simulation mode which is a controlled environment rather than being executed on real distributed devices or edge nodes. It allows researchers and developers to fine-tune the algorithms and observe their behavior under various conditions without the complexity and overhead of dealing with real distributed systems.


LEAF (Caldas et al. (2018)): LEAF is an open-source modular benchmarking framework. It comprises three components: datasets, evaluation frameworks, and reference implementations. LEAF supports various learning paradigms, including federated, meta-learning, multitask, and on-device learning. It provides a benchmarking environment for evaluating FL algorithms.


PySyft (Community (2023)): PySyft is a framework focusing on secure and private deep learning applications compatible with popular deep learning libraries such as PyTorch and TensorFlow. It enables static and dynamic computations and incorporates privacy-preserving techniques into the FL workflow. PySyft leverages PyGrid, an API for managing and deploying PySyft-powered models to interact with edge devices.


• Flower (Beutel et al. (2020)): Flower is a user-friendly FL framework that provides a facility for large-scale data scenarios and is designed to support heterogeneous FL device environments. One of its significant contributions is the ability to run FL algorithms directly on edge devices.


Flower also facilitates conducting experiments at the algorithmic level and considers system-related factors such as computing capability and bandwidth. It has been successfully tested in scenarios involving millions of clients.


• Fate (Fedai (2023)): Federated AI Technology Enabler (Fate) is developed by WeBank and offers extensive customization options for FL algorithms. It comprises various components, including FATEFlow, FederatedML, FATEBoard, FATE Serving, Federated Network, KubeFATE, and FATE-Client.


Fate supports horizontal and vertical data partitions, allowing for flexibility in data distribution. However, it currently employs a centralized implementation, where a server coordinates all the FL processes. It can be deployed in both simulated and federated modes.


• OpenFL (Intel (2023)): OpenFL is an open-source project initiated by Intel. It provides a bash-script-based framework for FL and emphasizes secure communication between clients. OpenFL consists of two main components: the abrogator and the collaborator.


The framework allows for the customization of various aspects, including logging mechanisms, data split methods, and aggregation logic. However, it requires manual client-side handling.


Among the listed FL software platforms, Flower and PySyft are particularly relevant for working with sensor data and edge devices, including IoT devices. Flower is a user-friendly framework supporting large-scale data scenarios and heterogeneous FL device environments. It enables running FL algorithms directly on edge devices, making it suitable for IoT devices.


Flower considers system-related factors such as computing capability and bandwidth, making it a valuable choice for edge devices in sensor networks. PySyft, on the other hand, focuses on secure and private deep-learning applications. It is compatible with popular deep-learning libraries and allows for interactions with edge devices.


With its privacy-preserving techniques, PySyft can be applied to IoT devices, ensuring data security during the FL workflow. These frameworks provide the necessary support and customization options to address the challenges associated with edge computing and facilitate efficient FL on resource-constrained devices.


3.2. Testbeds


Testbeds play a crucial role in deploying and evaluating FL on the target devices. They provide open, accessible, and reliable facilities to validate technological solutions and foster research collaboration.


One example testbed is the Fed4FIRE project[1] , which aims to develop a common federation framework integrating EU and US testbeds. By enabling experiments across different domains, the project facilitates the assessment of Software Defined Networks (SDN), explores edge computing use cases, and highlights the benefits of interconnecting these testbeds.


In the realm of FL algorithms, the PTB-FLA Python Testbed Popovic et al. (2023) offers a Python-based framework specifically designed for smart IoT devices in edge systems. It supports centralized and decentralized algorithms, providing advantages such as a small application footprint and simple installation with no external dependencies.


While the current version has limitations, such as a maximum number of nodes and edges and a lack of networking support, PTB-FLA shows promise for developing FL algorithms targeting IoT devices, and future implementations aim to expand its capabilities. This testbed includes swarms of simply IoT devices (no computers) on its roadmap that may utilize MicroPython as an OS, which is becoming more prevalent in embedded systems.


The FeatureCloud testbed[2] provides a controlled environment for developers to test their FL applications. It offers workflow and testbed execution modes, allowing collaborative federated training and standalone app testing.


With features like simultaneous test runs, monitoring panels, configuration settings, and result storage, developers can quickly validate and manage their FL apps before deployment in a federated environment.


For realistic evaluation of FL systems, the FLAME testbed Cho et al. (2022), introduces a novel data partitioning scheme that distributes datasets among numerous client devices while preserving the multi-device nature of FL.


This testbed generates many users, each owning a small number of labelled data samples, enabling developers to assess FL algorithms and models in a scalable setting. The FLAME testbed contributes to reproducibility and further research by open-sourcing its source code and federated HAR datasets.


These testbeds provide valuable platforms for researchers and developers to experiment, validate, and refine their technologies in edge devices and FL domains.


Among these testbeds, Fed4FIRE, PTB-FLA, FeatureCloud, and FLAME, demonstrate support for edge devices in federated learning. Fed4FIRE aims to integrate various testbeds, including those supporting IoT, to enable experiments across different domains and emphasize the importance of providing open and interoperable testing facilities for IoT researchers and innovators. PTB-FLA specifically targets smart IoT devices in edge systems, offering a Python-based framework with a small application footprint suitable for smart IoTs.


FeatureCloud provides a controlled environment for testing FL applications and supports IoT devices, allowing developers to validate and manage their apps before deployment in a federated environment.


Similarly, FLAME supports IoT devices and creates a realistic evaluation environment for FL systems by generating users with labelledW data samples, enabling developers to assess FL algorithms in a more realistic IoT setting. These testbeds collectively contribute to advancing research and innovation in federated learning on IoT devices by offering experimentation, validation, and refinement platforms.


[1] https://www.fed4fire.eu/news/innovation-through-the-fed4fire-federated-testebds/


[2] https://featurecloud.ai/


This paper is available on Arxiv under a CC 4.0 license.