Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
software [2021/01/15 14:33]
guirguis
software [2021/09/23 09:34] (current)
guirguis
Line 2: Line 2:
  
 DCL has a github page where most new software projects are published: [[https://​github.com/​LPD-EPFL/​]] DCL has a github page where most new software projects are published: [[https://​github.com/​LPD-EPFL/​]]
 +
 +===== Garfield =====
 +
 +Designed for the DSN '21 paper: "//​Garfield:​ System Support for Byzantine Machine Learning//​."​
 +
 +Garfield is a library that transparently makes machine learning (ML) applications,​ initially built with popular (but fragile) frameworks, e.g., TensorFlow and PyTorch, Byzantine-resilient. Garfield relies on a novel object-oriented design, reducing the coding effort, and addressing the vulnerability of the shared-graph architecture followed by classical ML frameworks. It encompasses various communication patterns and supports computations on CPUs and GPUs, allowing addressing the general question of the practical cost of Byzantine resilience in ML applications. Garfield has been thoroughly experimented with three main ML architectures:​ (1) a single server with multiple workers, (2) several servers and workers, and (3) peer–to–peer settings. Using Garfield, we highlight interesting facts about the cost of Byzantine resilience. In particular, (1) Byzantine resilience, unlike crash resilience, induces an accuracy loss, (2) the throughput overhead comes more from communication than from robust aggregation,​ and (3) tolerating Byzantine servers costs more than tolerating Byzantine workers.
 +The source code of Garfield was evaluated by experts from C4DT@EPFL, and the open-source version was also used in other projects.
 +
 +[[https://​github.com/​LPD-EPFL/​Garfield|Code]]
  
 ===== FeGAN ===== ===== FeGAN =====