Learning from History for Byzantine Robust Optimization
About
Byzantine robustness has received significant attention recently given its importance for distributed and federated learning. In spite of this, we identify severe flaws in existing algorithms even when the data across the participants is identically distributed. First, we show realistic examples where current state of the art robust aggregation rules fail to converge even in the absence of any Byzantine attackers. Secondly, we prove that even if the aggregation rules may succeed in limiting the influence of the attackers in a single round, the attackers can couple their attacks across time eventually leading to divergence. To address these issues, we present two surprisingly simple strategies: a new robust iterative clipping procedure, and incorporating worker momentum to overcome time-coupled attacks. This is the first provably robust method for the standard stochastic optimization setting. Our code is open sourced at https://github.com/epfml/byzantine-robust-optimizer.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Linear regression | Synthetic Linear Regression (n=50, d=50, K=40, ε=0.2) (train/test) | Average Local Error0.334 | 204 | |
| Linear regression | Synthetic Multi-task Linear Regression (n=d=50, K=40, epsilon=0.2) | Global Error (L2-norm)0.334 | 192 | |
| Local prediction | HAR (20% train) | Local Prediction Error3.7 | 102 | |
| Multi-task Linear Regression (Local Parameter Estimation) | Synthetic Multi-task Linear Regression (n=d=50, ε=0.2) (test) | Local L2 Error1.339 | 102 | |
| Linear regression | Synthetic Multi-task Dataset d=50, K=20, epsilon=0.2 (test) | Local Error1.275 | 102 | |
| Local prediction | HAR 60% (train) | Local Prediction Error3.5 | 102 | |
| Local prediction error | HAR 50% (train) | Error Rate3.5 | 102 | |
| Logistic Regression | Logistic regression d=50, K=20, epsilon=0.2 varying per-task sample size n (test) | Local Error2.977 | 102 | |
| Multi-task Logistic Regression | Synthetic Multi-task Logistic Regression (n=d=50, epsilon=0.2) | Local Error2.983 | 102 | |
| Linear regression | Linear Regression (synthetic) | Local Error1.23 | 101 |