Round 0
drag to rotate
Global server model Client node Compressed update packet
Bytes sent this round, per client

Federated Learning Communication Efficiency Simulator (2D)

In cross-device federated learning, thousands of clients never share raw data — only model updates, once per round, over often-slow uplinks. That upload is usually the real bottleneck, not compute, which is why production systems compress every update before it leaves the device. This simulator renders ten clients ringed around a central global model in a draggable 2D radial diagram, each taking a local gradient step toward its own (optionally non-IID) target and sending a compressed update packet — sized on screen by its actual transmitted bytes — back to the server every round. Switch between no compression, top-K sparsification with error feedback, bit quantization, or both together, and watch the trade-off play out live: smaller packets save real bandwidth but inject more noise into the aggregate, visibly slowing the loss curve's descent toward the shared optimum, while the per-client bar chart shows exactly which clients paid the most bytes this round.