FedDebug: Systematic Debugging for Federated Learning Applications

Waris Gill, Ali Anwar, Muhammad Ali Gulzar
1/9/2023
cs.SEcs.CVcs.DC

No official code found. Best implementation: SEED-VT/FedDebug (8 stars, MIT, last commit 2024-07-02).

Abstract

In Federated Learning (FL), clients independently train local models and share them with a central aggregator to build a global model. Impermissibility to access clients' data and collaborative training make FL appealing for applications with data-privacy concerns, such as medical imaging. However, these FL characteristics pose unprecedented challenges for debugging. When a global model's performance deteriorates, identifying the responsible rounds and clients is a major pain point. Developers resort to trial-and-error debugging with subsets of clients, hoping to increase the global model's accuracy or let future FL rounds retune the model, which are time-consuming and costly. We design a systematic fault localization framework, FedDebug, that advances the FL debugging on two novel fronts. First, FedDebug enables interactive debugging of realtime collaborative training in FL by leveraging record and replay techniques to construct a simulation that mirrors live FL. FedDebug's breakpoint can help inspect an FL state (round, client, and global model) and move between rounds and clients' models seamlessly, enabling a fine-grained step-by-step inspection. Second, FedDebug automatically identifies the client(s) responsible for lowering the global model's performance without any testing data and labels--both are essential for existing debugging techniques. FedDebug's strengths come from adapting differential testing in conjunction with neuron activations to determine the client(s) deviating from normal behavior. FedDebug achieves 100% accuracy in finding a single faulty client and 90.3% accuracy in finding multiple faulty clients. FedDebug's interactive debugging incurs 1.2% overhead during training, while it localizes a faulty client in only 2.1% of a round's training time.

View on arXivView PDF

Code Implementations(1)

SEED-VT/FedDebugCommunity100%
MIT

FedDebug is a novel testing and debugging technique that localizes faulty clients in Federated Learning.

81Python, DockerfileJan 3, 20232 years agoMIT
clientsdebuggingdeep-learningdeep-neural-networksdifferential+10 more

Similar Papers

Cite this paper

@article{gill2023feddebug,
  title  = {FedDebug: Systematic Debugging for Federated Learning Applications},
  author = {Waris Gill and Ali Anwar and Muhammad Ali Gulzar},
  year   = {2023},
  eprint = {2301.03553},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2301.03553v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2301.03553.svg)](https://codeofpaper.com/paper/2301.03553)

Discussion