FedAvg Client Drift: Federated Model Aggregation
Interactive 3D federated-learning simulator: watch client devices run local gradient steps on their own non-IID data and drift away from the shared model, then FedAvg pull them back into a single aggregated global model, round after round.
Federated learning trains one shared model across many devices without ever centralizing their data — each round a client downloads the global weights, trains locally on its own private data, and uploads only the updated weights for the server to average. This simulator renders that weight vector as a point on a 3D loss surface: five clients, each holding differently-skewed ("non-IID") data, run local gradient-descent steps that pull their copy of the model toward their own local optimum, then FedAvg's sample-weighted average pulls those drifted copies back into a single global model. Tune the data skew, local epoch count and learning rate to see exactly how client drift emerges and how weighting by sample count changes where the aggregated model ends up.
Interactive 3D federated-learning simulator: watch five clients run local gradient steps on their own non-IID data and drift away from the shared model, then FedAvg's sample-weighted average pulls them back into one aggregated global model.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install