Opacus: User-Friendly Differential Privacy Library in PyTorch

Abstract

We introduce Opacus, a free, open-source PyTorch library for training deep learning models with differential privacy (hosted at https://opacus.ai). Opacus is designed for simplicity, flexibility, and speed. It provides a simple and user-friendly API, and enables machine learning practitioners to make a training pipeline private by adding as little as two lines to their code. It supports a wide variety of layers, including multi-head attention, convolution, LSTM, and embedding, right out of the box, and it also provides the means for supporting other user-defined layers. Opacus computes batched per-sample gradients, providing better efficiency compared to the traditional “micro batch” approach. In this paper we present Opacus, detail the principles that drove its implementation and unique features, and compare its performance against other frameworks for differential privacy in ML.

Cite

Text

Yousefpour et al. "Opacus: User-Friendly Differential Privacy Library in PyTorch." NeurIPS 2021 Workshops: PRIML, 2021.

Markdown

[Yousefpour et al. "Opacus: User-Friendly Differential Privacy Library in PyTorch." NeurIPS 2021 Workshops: PRIML, 2021.](https://mlanthology.org/neuripsw/2021/yousefpour2021neuripsw-opacus/)

BibTeX

@inproceedings{yousefpour2021neuripsw-opacus,
  title     = {{Opacus: User-Friendly Differential Privacy Library in PyTorch}},
  author    = {Yousefpour, Ashkan and Shilov, Igor and Sablayrolles, Alexandre and Testuggine, Davide and Prasad, Karthik and Malek, Mani and Nguyen, John and Ghosh, Sayan and Bharadwaj, Akash and Zhao, Jessica and Cormode, Graham and Mironov, Ilya},
  booktitle = {NeurIPS 2021 Workshops: PRIML},
  year      = {2021},
  url       = {https://mlanthology.org/neuripsw/2021/yousefpour2021neuripsw-opacus/}
}