FastFederatedLearning speeds up and customizes federated learning

Efficiently Distributed Federated Learning

PerformanceArtificial IntelligenceDistributed, Parallel, and Cluster Computing

Summary

Federated Learning lets many computers train AI models together without sharing their data. Most existing tools don’t let users easily change how machines talk to each other and can be slow. The authors built a new open-source tool called FastFederatedLearning that runs faster by using efficient code and lets users set any way for machines to connect. Their tests show it can work up to nearly four times faster than a popular existing tool across various computers. They plan to add easier interfaces and flexible communication options so federations can change and grow over time.

What this means in practice

Authors

Gianluca Mittone, Robert Birke, Marco Aldinucci

Abstract

Federated Learning (FL) is experiencing a substantial research interest, with many frameworks being developed to allow practitioners to build federations easily and quickly. Most of these efforts do not consider two main aspects that are key to Machine Learning (ML) software: customizability and performance. This research addresses these issues by implementing an open-source FL framework named FastFederatedLearning (FFL). FFL is implemented in C/C++, focusing on code performance, and allows the user to specify any communication graph between clients and servers involved in the federation, ensuring customizability. FFL is tested against Intel OpenFL, achieving consistent speedups over different computational platforms (x86-64, ARM-v8, RISC-V), ranging from 2.5x and 3.69x. We aim to wrap FFL with a Python interface to ease its use and implement a middleware for different communication backends to be used. We aim to build dynamic federations in which relations between clients and servers are not static, giving life to an environment where federations can be seen as long-time evolving structures and exploited as services.