Federated Learning (FL) is a revolutionary approach to training machine learning models where the data never leaves the devices, ensuring data privacy and security. However, real-world deployment of FL faces challenges such as:
To address these challenges, FLEET (Federated Learning Emulation and Evaluation Testbed) was developed. FLEET is a powerful tool that bridges the gap between FL simulations and real-world deployments by providing a controlled environment for replicating realistic conditions.
FLEET integrates key technologies:
FLEET enables researchers and developers to:
FLEET makes it easy to study the interplay between FL algorithms, network conditions, and system constraints. Key features include:
Whether you're a researcher exploring FL strategies or a developer building FL-based applications, FLEET provides a comprehensive environment to test your ideas.
In this section, we'll walk through the steps to set up and run a basic FLEET experiment.
To use FLEET, ensure you have the following installed:
Start by cloning the FLEET repository:
git clone https://github.com/oabuhamdan/fleet.git
cd fleet
Run the setup script to install dependencies, configure the environment, and build Docker images:
bash config.sh
This script will:
Note: The script checks for prerequisites like Python version, Docker, and Open vSwitch. If any are missing, you'll need to install them manually.
Once the setup is complete, you can run a default experiment using the provided configuration.
sudo .venv/bin/python main.py
What happens?
From the Containernet CLI, start the FL experiment:
containernet> py net.start_experiment()
This command: - Pings all FL clients to ensure network connectivity. - Starts the FL server and client training process.
After the experiment runs, logs and metrics can be found in the static/logs/ directory. Metrics include:
config.sh script.In the next blog post, we’ll dive deeper into Hydra configuration, explaining how to customize datasets, models, and experiment settings. Stay tuned!
Read Next: Building Your First Experiment with Hydra