Federated Learning

2 min read

Federated learning is a machine learning approach where a model is trained across multiple decentralized devices or servers, each holding its own local data, without that data ever leaving its source. Instead of aggregating raw data in a central location, federated learning sends the model to the data. Each participant trains a local copy, and only the model updates (gradients or weights) are shared and aggregated into a global model.

This approach was popularized by Google for improving keyboard predictions on Android devices, where training data consisted of sensitive user typing patterns that should never leave the phone. Since then, federated learning has found applications in healthcare (training diagnostic models across hospitals without sharing patient records), finance (fraud detection across banks without exposing transaction data), and telecommunications.

Key technical challenges include handling non-IID (non-identically distributed) data across participants, minimizing communication overhead between nodes and the central server, defending against adversarial participants who may try to poison the model, and ensuring convergence despite heterogeneous hardware and network conditions. Frameworks like TensorFlow Federated, PySyft, and NVIDIA FLARE provide tools to build and manage federated learning workflows.

For organizations that need to work with distributed data while respecting privacy regulations and data sovereignty requirements, federated learning is a practical alternative to traditional centralized training. It allows collaborative model building without any single participant having to share their raw data.