Ditto: Fair and Robust Federated Learning Through Personalization
Authors: Tian Li, Shengyuan Hu, Ahmad Beirami, Virginia Smith
ICML 2021 | Conference PDF | Archive PDF | Plain Text | LLM Run Details
| Reproducibility Variable | Result | LLM Response |
|---|---|---|
| Research Type | Experimental | Empirically, across a suite of federated datasets, we show that Ditto not only achieves competitive performance relative to recent personalization methods, but also enables more accurate, robust, and fair models relative to state-of-the-art fair or robust baselines. |
| Researcher Affiliation | Collaboration | 1Carnegie Mellon University 2Facebook AI. Correspondence to: Tian Li <tianli@cmu.edu>. |
| Pseudocode | Yes | Algorithm 1: Ditto for Personalized FL |
| Open Source Code | Yes | Our code, data, and experiments are publicly available at github.com/litian96/ditto. |
| Open Datasets | Yes | We use datasets from common FL benchmarks (Caldas et al., 2018; Smith et al., 2017; TFF), which cover both vision and language tasks, and convex and non-convex models. Detailed datasets and models are provided in Table 4 in Appendix C. |
| Dataset Splits | Yes | We split local data on each device into train/test/validation sets randomly, and measure performance on the test data. For each device, we select λ locally based on its local validation data. We further assume the devices can make a binary decision on whether the attack is strong or not. For devices with very few validation samples (less than 4), we use a fixed small λ (λ=0.1) for strong attacks, and use a fixed relatively large λ (λ=1) for all other attacks. For devices with more than 5 validation data points, we let each select λ from {0.05, 0.1, 0.2} for strong attacks, and select λ from {0.1, 1, 2} for all other attacks. |
| Hardware Specification | No | The paper describes the datasets and models used, and provides details on the experimental setup, but does not explicitly mention any specific hardware specifications like GPU models, CPU models, or cloud resources used for running experiments. |
| Software Dependencies | No | The paper mentions using TensorFlow Federated, but it does not specify a version number for it or for any other key software components, libraries, or dependencies used in the experiments. |
| Experiment Setup | Yes | We split local data on each device into train/test/validation sets randomly, and measure performance on the test data. For each device, we select λ locally based on its local validation data. We further assume the devices can make a binary decision on whether the attack is strong or not. For devices with very few validation samples (less than 4), we use a fixed small λ (λ=0.1) for strong attacks, and use a fixed relatively large λ (λ=1) for all other attacks. For devices with more than 5 validation data points, we let each select λ from {0.05, 0.1, 0.2} for strong attacks, and select λ from {0.1, 1, 2} for all other attacks. |