NeurIPS 2021poster90 citations

Enabling Fast Differentially Private SGD via Just-in-Time Compilation and Vectorization

Pranav Shankar Subramani, Nicholas Vadivelu, Gautam Kamath

Abstract

A common pain point in differentially private machine learning is the significant runtime overhead incurred when executing Differentially Private Stochastic Gradient Descent (DPSGD), which may be as large as two orders of magnitude. We thoroughly demonstrate that by exploiting powerful language primitives, including vectorization, just-in-time compilation, and static graph optimization, one can dramatically reduce these overheads, in many cases nearly matching the best non-private running times. These gains are realized in two frameworks: one is JAX, which provides rich support for these primitives through the XLA compiler. We also rebuild core parts of TensorFlow Privacy, integrating more effective vectorization as well as XLA compilation, granting significant memory and runtime improvements over previous release versions. Our proposed approaches allow us to achieve up to 50x speedups compared to the best alternatives. Our code is available at https://github.com/TheSalon/fast-dpsgd.

differential privacyDPSGDJAXvectorizationjust-in-time compilation
BibTeX
@inproceedings{
subramani2021enabling,
title={Enabling Fast Differentially Private {SGD} via Just-in-Time Compilation and Vectorization},
author={Pranav Shankar Subramani and Nicholas Vadivelu and Gautam Kamath},
booktitle={Advances in Neural Information Processing Systems},
editor={A. Beygelzimer and Y. Dauphin and P. Liang and J. Wortman Vaughan},
year={2021},
url={https://openreview.net/forum?id=hw2VfWAr6t6}
}