Skip to content

enriquetomasmb/fedstellar

 
 

Repository files navigation


fedstellar

Fedstellar: A Platform for Decentralized Federated Learning

fedstellar.dev / fedstellar.eu / fedstellar.com / federatedlearning.inf.um.es

About Fedstellar

Documentation Github Last Commit GitHub issues

Fedstellar is a platform that facilitates the training of Federated Learning models in a decentralized fashion across many physical and virtualized devices, which is based on the p2pfl library. Also, the platform enables the creation of a standard approach for developing, deploying, and managing federated applications.

The platform supports the establishment of federations comprising diverse devices, network topologies, and algorithms. It also provides sophisticated federation management tools and performance metrics to facilitate efficient learning process monitoring. This is achieved through extensible modules that offer data storage and asynchronous capabilities alongside efficient mechanisms for model training, communication, and comprehensive analysis for federation monitoring.

The platform incorporates a modular architecture comprising three elements:

  • Frontend: A user-friendly frontend for experiment setup and monitoring.
  • Controller: A controller for effective orchestration of operations.
  • Core: A core component deployed in each device for model training and communication.



Fedstellar is currently being developed by Enrique Tomás Martínez Beltrán in collaboration with the University of Murcia, armasuisse, and the University of Zurich (UZH). Also, highlighting the contributions of Pedro Guijas in the development of the base library, p2pfl.

University of Murcia armasuisse University of Zurich

For any questions, please contact Enrique Tomás Martínez Beltrán (enriquetomas@um.es). If you are interested in knowing more about the base of this project, please visit the p2pfl library.

Support

If you are having issues, please create an issue or start a discussion.

Contributing

Contributions are what make the open source community such an amazing place to learn, create and get inspired. Fedstellar platform is specially designed to be extended with little effort.

Any contributions you make are greatly appreciated. To do so, follow the next steps:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU GPLv3 License. See LICENSE for more information.

Acknowledgements

We would like to thank the following projects for their contributions which have been adapted or extended in this project: