Byzantine-Robust Learning on Heterogeneous Datasets via Bucketing
About
In Byzantine robust distributed or federated learning, a central server wants to train a machine learning model over data distributed across multiple workers. However, a fraction of these workers may deviate from the prescribed algorithm and send arbitrary messages. While this problem has received significant attention recently, most current defenses assume that the workers have identical data. For realistic cases when the data across workers are heterogeneous (non-iid), we design new attacks which circumvent current defenses, leading to significant loss of performance. We then propose a simple bucketing scheme that adapts existing robust algorithms to heterogeneous datasets at a negligible computational cost. We also theoretically and experimentally validate our approach, showing that combining bucketing with existing robust algorithms is effective against challenging attacks. Our work is the first to establish guaranteed convergence for the non-iid Byzantine robust problem under realistic assumptions.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Image Classification | CIFAR-10 (test) | Accuracy72.42 | 1063 | |
| Image Classification | CIFAR-100 (test) | -- | 429 | |
| Linear regression | Synthetic Linear Regression (n=50, d=50, K=40, ε=0.2) (train/test) | Average Local Error0.657 | 204 | |
| Linear regression | Synthetic Multi-task Linear Regression (n=d=50, K=40, epsilon=0.2) | Global Error (L2-norm)0.657 | 192 | |
| Local prediction | HAR (20% train) | Local Prediction Error3.7 | 102 | |
| Local prediction | HAR 60% (train) | Local Prediction Error3.5 | 102 | |
| Local prediction error | HAR 50% (train) | Error Rate3.5 | 102 | |
| Linear regression | Synthetic Multi-task Dataset d=50, K=20, epsilon=0.2 (test) | Local Error1.447 | 102 | |
| Multi-task Linear Regression (Local Parameter Estimation) | Synthetic Multi-task Linear Regression (n=d=50, ε=0.2) (test) | Local L2 Error1.654 | 102 | |
| Logistic Regression | Logistic regression d=50, K=20, epsilon=0.2 varying per-task sample size n (test) | Local Error3.386 | 102 |