HomeAI & Machine LearningFedAvg Client Drift: Federated Model Aggregation

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.

AI & Machine Learning3DModerate60 FPS📱 Mobile-adapted⇄ 2D version
federated-learning-model-aggregation ↗ Open standalone

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.

⚙ Under the hood

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.

federated learningFedAvgmodel aggregationnon-IID dataclient driftmachine learning

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)