Non-IID distribution, communication overhead, stragglers, and poisoning attacks — the four hard problems that turn federated learning from a neat idea into a real engineering challenge.
The fundamental assumption of classical ML — that data is independently and identically distributed (IID) — is violated in FL. A phone in São Paulo has text in Portuguese; one in Tokyo has Japanese characters. A hospital specialising in paediatrics has different patient distributions than one specialising in oncology. When data is non-IID, local models diverge in different directions, and averaging them produces a model that fits no client well.
The severity is measured by a Dirichlet parameter α: α→∞ means IID (uniform labels across clients); α→0 means maximally non-IID (each client has only one label). Li et al. (2020) showed that FedAvg accuracy on CIFAR-10 drops from 74% (IID) to 51% (α=0.1) — a 23-point penalty purely from data heterogeneity.
A ResNet-50 model has 25 million parameters — at float32, that's 100MB per upload per client. With 1,000 clients per round, a single round requires 100GB of uploads. Google's Gboard FL system runs hundreds of rounds — the communication bill would be astronomical without compression.
In cross-device FL, the server cannot wait indefinitely for slow clients. If the round waits for the slowest 1% of phones, it could take hours. If it proceeds without them, those clients' data is never used. This is the straggler problem: synchronous FL tolerates it badly; asynchronous FL handles it naturally but introduces a bias towards faster clients.
Because the server aggregates updates from untrusted clients, a malicious participant can corrupt the global model by sending carefully crafted poisoned updates. Untargeted poisoning degrades overall accuracy. Backdoor attacks embed a hidden trigger: the model behaves normally on clean data but misclassifies anything with the trigger pattern (e.g. a specific pixel pattern always predicts the attacker's target class).
Say the answer out loud before revealing — recalling is what makes it stick.
Why does non-IID data hurt FL convergence?
What is gradient compression and why is it necessary in FL?
What is the straggler problem in FL?
What is a backdoor attack in FL and why is it dangerous?