Authors: Christophe Roux, Max Zimmer, Sebastian Pokutta
This repository contains the code to reproduce the experiments from the ICLR25 paper "On the Byzantine-Resilience of Distillation-Based Federated Learning". The code is based on PyTorch 1.9 and the experiment-tracking platform Weights & Biases.
Experiments are started from the following file:
main.py
: Starts experiments using the dictionary format of Weights & Biases.
The rest of the project is structured as follows:
byzantine
: Contains the attacks and defenses used in the paper.runners
: Contains classes to control the training and collection of metrics.models
: Contains all model architectures used.utilities.py
: Contains useful auxiliary functions and classes.config.py
: Configuration for the datasets used in the experiments.public_config.py
: Contains the configuration for the public datasets.metrics.py
: Contains the metrics used in the experiments.strategies.py
: Contains the different strategies used, such as FedAVG and FedDistill.
Define the parameters in the main.py
defaults-dictionary and run it with the --debug flag. Or, configure a sweep in Weights & Biases and run it from there (without the flag).
In case you find the paper or the implementation useful for your own research, please consider citing:
@inproceedings{roux2025on,
title={On the Byzantine-Resilience of Distillation-Based Federated Learning},
author={Christophe Roux and Max Zimmer and Sebastian Pokutta},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025},
url={https://openreview.net/forum?id=of6EuHT7de}
}