Federated Learning is a distributed learning paradigm where training occurs across multiple clients, each with their own local datasets. This enables the creation of common robust models without sharing sensitive local data, helping solve issues of data privacy and security.
The federated learning (FL) server orchestrates the collaboration of multiple clients by first sending an initial model to the FL clients. The clients perform training on their local datasets, then send the model updates back to the FL server for aggregation to form a global model. This process forms a single round of federated learning and after a number of rounds, a robust global model can be developed.
- FL server: manages job lifecycle, orchestrates workflow, assigns tasks to clients, performs aggregation
- FL client: executes tasks, performs local computation/learning with local dataset, submits result back to FL server
- FL algorithms: FedAvg, FedOpt, FedProx etc. implemented as workflows
Note
Here we describe the centralized version of FL, where the FL server has the role of the aggregrator node. However in a decentralized version such as swarm learning, FL clients can serve as the aggregator node instead.
- Types of FL
- horizontal FL: clients hold different data samples over the same features
- vertical FL: clients hold different features over an overlapping set of data samples
- swarm learning: a decentralized subset of FL where orchestration and aggregation is performed by the clients
Federated learning facilitates data privacy and data locality by ensuring that the data remains at each site. Additionally, privacy preserving techniques such as homomorphic encryption and differential privacy filters can also be leveraged to further protect the transferred data.
By training with a variety of data sources across different clients, a robust and generalizable global model can be developed to better represent heterogeneous datasets.
With the ability to perform training at the edge, federated learning can be highly scalable across the globe. Additionally only needing to transfer the model weights rather than entire datasets enables efficient use of network resources.
An important application of federated learning is in the healthcare sector, where data privacy regulations and patient record confidentiality make training models challenging. Federated learning can help break down these healthcare data silos to allow hospitals and medical institutions to collaborate and pool their medical knowledge without the need to share their data. Some common use cases involve classification and detection tasks, drug discovery with federated protein LLMs, and federated analytics on medical devices.
Furthermore there are many other areas and industries such as financial fraud detection, autonomous vehicles, HPC, mobile applications, etc. where the ability to use distributed data silos while maintaining data privacy is essential for the development of better models.
Read on to learn how FLARE is built as a flexible federated computing framework to enable federated learning from research to production.