← Back to examples

Federated Learning: train together, keep data private

A shared model is sent to many devices. Each trains locally on its own private data — which never leaves the device. Only the updates (what the model learned) travel back and get averaged into a better shared model. Press Run one round and watch the data stay put while the model improves.

Devices:
CENTRAL SERVER — shared model
10%
model accuracy (climbs as rounds complete — no raw data ever arrives here)
Ready. Press “Run one round”.
Round 0 · Raw data transferred to server so far: 0 bytes
🔒 private data stays on device training locally sending update (not data) offline / straggler
Why this is a parallelism topic: every device trains at the same time on its own shard of data — that's data parallelism at planet scale. The server then averages the updates (Federated Averaging) — that's a reduction. It's the map → reduce pattern from Session 14, with a privacy twist: map on private data you never see, reduce only the summaries. Notice some devices go offline (stragglers, Session 09) — the round just uses whoever reports back.