Skip to content

IgorSokoloff/rr_with_compression_experiments_source_code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Federated Optimization Algorithms with Random Reshuffling and Gradient Compression

This is a repository with Python 3 source code for the experimental part of the paper Federated Optimization Algorithms with Random Reshuffling and Gradient Compression arXiv:2206.07021.

The structure of the repository

Path Description
logistic_regression Experiments for Training Machine Learnin Model: L2 Regulirized Logistic Regression on LIBSVM datasets across 20 clients.
neural_nets Experiments for Training Deep Neural Network model: ResNet-18 on CIFAR-10 across 10 clients.

Reference

In case you find the methods or code useful for your research, please consider citing

@article{sadiev2022federated,
  title={Federated Optimization Algorithms with Random Reshuffling and Gradient Compression},
  author={Sadiev, Abdurakhmon and Malinovsky, Grigory and Gorbunov, Eduard and Sokolov, Igor and Khaled, Ahmed and Burlachenko, Konstantin and Richt{\'a}rik, Peter},
  journal={arXiv preprint arXiv:2206.07021},
  year={2022}
}

Information about Authors

Paper Abstract

Gradient compression is a popular technique for improving communication complexity of stochastic first-order methods in distributed training of machine learning models. However, the existing works consider only with-replacement sampling of stochastic gradients. In contrast, it is well-known in practice and recently confirmed in theory that stochastic methods based on without-replacement sampling, e.g., Random Reshuffling (RR) method, perform better than ones that sample the gradients with-replacement. In this work, we close this gap in the literature and provide the first analysis of methods with gradient compression and without-replacement sampling.

We first develop a distributed variant of random reshuffling with gradient compression (Q-RR), and show how to reduce the variance coming from gradient quantization through the use of control iterates.

Next, to have a better fit to Federated Learning applications, we incorporate local computation and propose a variant of Q-RR called Q-NASTYA. Q-NASTYA uses local gradient steps and different local and global stepsizes.

Next, we show how to reduce compression variance in this setting as well. Finally, we prove the convergence results for the proposed methods and outline several settings in which they improve upon existing algorithms.


Reference Materials

We would like to provide several resources of information regarding technologies that has been used during creating experimental part. If you have Matlab or R background you may found this usefull.

Python Relative Material

Numpy Relative Material

Matplotlib Relative Material

PyTorch Relative Material

FL_PyTorch Relative Material

About

Q-RR, DIANA-RR, Q-NASTYA, NASTYA-DIANA, QSGD, DIANA, FedCOM and FedPAQ on logistic loss with L2 regularization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages