Federated Learning (FL) is a promising technique for the collaborative training of deep neural networks across multiple devices while preserving data privacy. Despite its potential benefits, FL is hindered by excessive communication costs due to repeated server-client communication during training. To address this challenge, model compression techniques, such as sparsification and weight clustering are applied, which often require modifying the underlying model aggregation schemes or involve cumbersome hyperparameter tuning, with the latter not only adjusts the model's compression rate but also limits model's potential for continuous improvement over growing data. In this paper, we propose FedCompress, a novel approach that combines dynamic weight clustering and server-side knowledge distillation to reduce communication costs while learning highly generalizable models. Through a comprehensive evaluation on diverse public datasets, we demonstrate the efficacy of our approach compared to baselines in terms of communication costs and inference speed.
A complete description of our work can be found in our paper (and in our arxiv version).
Create a new Python enviroment (virtualenvs, anacoda, etc.) and install all required packages via:
foo@bar:~$ pip install -r requirements.txt
From the root
directory of this repo, run:
# Standard FedAvg
foo@bar:~$ ./run.py --datasets cifar10 --method fedavg
# FedAvg + Client-side compression via weight-clustering
foo@bar:~$ ./run.py --datasets cifar10 --method fedavg
# FedCompress (Ours)
foo@bar:~$ ./run.py --datasets cifar10 --method fedavg
NOTE: You can configure all federated parameters (i.e. number of federated rounds, etc.,) by adjusting them in the
configs.py
file.
If you use this repository, please consider citing:
@inproceedings{tsouvalas2024communicationefficient, author={Tsouvalas, Vasileios and Saeed, Aaqib and Ozcelebi, Tanir and Meratnia, Nirvana}, booktitle={ICASSP 2024 - 2024 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)}, title={Communication-Efficient Federated Learning Through Adaptive Weight Clustering And Server-Side Distillation}, year={2024}, pages={5805-5809}, doi={10.1109/ICASSP48485.2024.10447174} }