Skip to content

Latest commit

 

History

History
214 lines (112 loc) · 17.8 KB

README.md

File metadata and controls

214 lines (112 loc) · 17.8 KB

Awesome #30DaysOfFLCode Awesome

A community curated and contributed list of helpful resources and materials about Federated Learning and PETs as part of the #30DaysOfFLCode Challenge by OpenMined.

#30DaysOfFLCode Challenge

Two main rules:

  1. Study Federated Learning (and/or any other PETs) for at least 1 hour/day for 30 days
  2. Share Your Progress Daily by posting on social media using #30DaysOfFLCode and engage with other participants.

Publicly commit to the challenge: Hold yourself accountable by making a public statement saying you intend to participate in the program

Discover more on www.30DaysOfFLCode.com.

Contributing

We welcome contributions! Please follow these steps to contribute:

  1. Fork this repository
  2. Add your resource(s)
  3. Submit a pull request

Find all the information and instructions on how to contribute in CONTRIBUTING.md.


Awesome Resources

Please find below all the contributed resources, organised by category (click to expand on the resources!)

🛠️ Tools
👤 Differential Privacy

Articles

Videos

Books

🔏 Homomorphic Encrpytion

Articles

📡 Federated Learning

Tutorials

  • From Centralised to Decentralised Training: An Intro to Federated Learning - A Jupyter Notebook tutorial aimed to provide a practical overview with code examples to all the the foundational concepts tackled in federated learning. This tutorial was written by Andrej Jovanović, Sree Harsha Nelaturu and Luca Powell and presented at the 2024 iteration of the Deep Learning Indaba.

  • Collection of Tutorials in Federated Learning from Tensor Flow - A TensorFlow Colab Notebook collection of Federated Learning tutorials designed to provide practical examples of Federated Learning, covering concepts from basic to advanced levels.

  • Federated Learning for Credit Scoring - A detailed blog post exploring the application of federated learning to credit scoring. It discusses key concepts such as silo vs. device architectures, horizontal vs. vertical federated learning, and non-IID data challenges, and includes source code examples.

  • Flower Framework Tutorials - This webpage contains Flower Framework Tutorials on Federated Learning, Quickstart tutorials with Flower Framework, How-To Guides and Reference Docs.

  • FedN Tutorials by Scaleout Systems - Collection of Introductory tutorials on FedN, setting up FedN Project, using the FedN API Client, Developer Guide and much more.

  • NVFlare by NVIDIA - A great collection of tutorials in form of a Catalog on Federated Learning using NVFlare by NVIDIA.

  • Tutorials on FATE (Federated AI Technology Enabler) - Collection of tutorials on FATE framework (an industrial grade FL Framework), quickstart, pipelines, ML Tutorials and much more.

  • OpenFL Running the Federation Tutorials - These tutorials use the Jupyter Lab server to understand the APIs used in Open Federated Learning (OpenFL).

  • SubstraFL Tutorials by Owkin - These tutorials are for getting started with SubstraFL, which is a open-source Federated Learning Framework developed by Owkin Research focused on Healthcare.

  • FedML Tutorials by TensorOpera (Previously FEDML) - Getting started tutorials on Federated Learning for FedML by TensorOpera. FedML is a library for large-scale distributed training, model serving, and federated learning.

  • FedLab Tutorials - Tutorials for FedLab (A flexible Federated Learning Framework based on PyTorch) by SMILELab-FL. FedLab aims to standardize FL simulation procedure, including synchronous algorithm, asynchronous algorithm and communication compression.

  • PFL Tutorials by Apple - A collection of tutorial notebooks for pfl which is a simulation framework for accelerating research in Private Federated Learning by Apple Research.

Articles

Courses

🎮 Games & Simulations
  • DP Vision - Test your image recognition skills with differentially private images! Players manage a privacy budget to reveal image details, aiming to identify the correct image within 5 guesses while minimizing privacy loss.

  • Guess Who (DP Edition) - A privacy-preserving twist on the classic game where players ask yes/no questions with adjustable accuracy levels. Lower epsilon means less reliable but more private answers, teaching the privacy-utility tradeoff.

  • WORDPL - A Wordle-style game with differential privacy mechanics. Players guess 5-letter words while managing privacy budgets that affect the accuracy of feedback, demonstrating how DP noise impacts information gathering.

  • Federated Learning Hyperparam Tuning Game - Understand and play with federated learning hyperparams! In-browser tensorflow-js simulation of FedAvg to understand and gain intuition about IID and Non-IID Federated Learning settings.

  • Differentially Private Tetris - A unique twist on classic Tetris where players manage a privacy budget to reveal blocks, demonstrating differential privacy concepts through gameplay. Experience privacy-utility tradeoffs in an engaging way.

  • The Unlearning Protocol - An interactive game exploring machine learning unlearning and fairness concepts. Players select data points that least impact the dataset, providing hands-on experience with data removal and model fairness considerations.

🛡️ Multiple PETs and Others

Articles

  • Beyond Privacy Trade-offs with Structured Transparency - Structured Transparency: a five-part framework to combine multiple PETs, such as secure computation and federated learning, to maximise their value, and to reduce lingering use-misuse trade-offs in multiple domains.

Courses

  • The Private AI Series - Learn how privacy technology is changing our world and how you can lead the charge.

  • Secure and Private AI - Learn skills to build AI systems that prioritize security and privacy using cutting-edge techniques. The course introduces tools and methods for securely handling sensitive data in AI applications, including Federated Learning, Differential Privacy, and Encrypted Computation.

Videos

Books

  • Optimization Algorithms for Distributed Machine Learning - Textbook discussing SoTA optimization algorithms for distributed/federated machine learning. Access to materials requires subscription.

  • Data Privacy Handbook - A short guide from the Utrecht University on data privacy regulations and classical techniques used to make the data private like de-indetification through ommision and other statistical methods.

Experiments