The Python Testbed for Federated Learning Algorithms (PTB-FLA) is a low-code framework developed for the TaRDIS project of the EU Horizon 2020. With the intent to streamline the development of decentralized and distributed applications for edge systems, it is constructed in pure Python, allowing it to be lightweight and easily installed, specifically fitting for small IoT devices. PTB-FLA is designed to support both centralized and decentralized federated learning algorithms and enables peer-to-peer data exchange through time division multiplexing.
Despite its benefits, PTB-FLA has the primary limitation of only being operable on a single PC. Overcoming this drawback, the University of Novi Sad and RT-RK Institute researchers developed the MicroPython Testbed for Federated Learning Algorithms (MPT-FLA), enabling individual application instances to function on various network nodes, such as PCs and IoT devices.
MPT-FLA, like its predecessor, is created with the pure Python ideal in mind, and operates on MicroPython using asynchronous I/O, making it advantageously suitable for edge systems. The validation of MPT-FLA was carried out on a wireless network employing PCs and Raspberry Pi Pico W boards, using application examples adapted from PTB-FLA. The successful validation confirmed equivalent numerical results produced by MPT-FLA and PTB-FLA.
Current Federated Learning (FL) frameworks, such as TensorFlow Federated and BlueFog, are considerably effective in cloud-edge environments. However, they are incompatible with edge-only deployment, lack support for Windows OS, and are complex to install. Uniquely, MPT-FLA serves as an “algorithmic” testbed for machine learning (ML) and artificial intelligence (AI) application development within the TaRDIS project. It employs a Single Program Multiple Data (SPMD) pattern which is similar to MapReduce.
MPT-FLA was tested in an experimental WiFi network set-up, consisting of a Belkin router, two Raspberry Pi Pico W boards and a PC. The objective was to assure that adapted algorithms closely mirrored the numerical results of the originals – and they did.
In conclusion, the MPT-FLA framework broadens PTB-FLA’s support to include applications on diverse network nodes, from PCs to IoT devices, optimally fitting for edge systems. By the middle of 2024, the MPT-FLA tool is planned to be available on GitHub and it is projected that future work will involve the development of cognate benchmark applications and further detailed performance evaluations.
The post MicroPython Testbed for Federated Learning Algorithms (MPT-FLA) Framework published in MarkTechPost highlighted the remarkable advancements in federated learning at the edge.