We introduce CryptGPU, a system for privacy-preserving machine learning that implements all operations on the GPU (graphics processing unit). Just as GPUs played a pivotal role in the success of modern deep learning, they are also essential for realizing scalable privacy-preserving deep learning. In this work, we start by introducing a new interface to losslessly embed cryptographic operations over secret-shared values (in a discrete domain) into floating-point operations that can be processed by highly-optimized CUDA kernels for linear algebra. We then identify a sequence of "GPU-friendly" cryptographic protocols to enable privacy-preserving evaluation of both linear and non-linear operations on the GPU. Our microbenchmarks indicate that our private GPU-based convolution protocol is over 150x faster than the analogous CPU-based protocol; for non-linear operations like the ReLU activation function, our GPU-based protocol is around 10x faster than its CPU analog. With CryptGPU, we support private inference and private training on convolutional neural networks with over 60 million parameters as well as handle large datasets like ImageNet. Compared to the previous state-of-the-art, when considering large models and datasets, our protocols achieve a 2x to 8x improvement in private inference and a 6x to 36x improvement for private training. Our work not only showcases the viability of performing secure multiparty computation (MPC) entirely on the GPU to enable fast privacy-preserving machine learning, but also highlights the importance of designing new MPC primitives that can take full advantage of the GPU's computing capabilities.
翻译:我们引入了“加密”GPU, 这是一种隐私保护机器学习系统, 用于实施 GPU( 图形处理器) 上的所有操作。 正如 GPU在现代深层学习的成功中发挥了关键作用, 它们对于实现可缩放的隐私保护深层学习也至关重要。 在这项工作中, 我们首先引入一个新的界面, 将加密操作无损地嵌入( 在一个离散域内) 秘密共享值的加密操作中; 对于像 ReLU 激活功能这样的非线性操作, 我们基于 GUDA 的协议仅比 CUPU 模拟程序快10倍。 我们随后确定了“ 通用” 加密协议的序列, 以便能够对 GPUPU 上的线性和非线性操作进行隐私保护评价。 我们的微分标记显示, 我们基于私人的 GPUPU 的共变换协议比类似 CPU 的协议更快; 我们的GPUPU协议仅比 CU CPU 模拟程序快10倍。 我们使用CPU, 我们支持私人的加密加密加密加密加密加密加密加密加密加密加密加密加密加密加密加密加密加密加密加密加密加密加密协议, 将GLVILx 升级的大型GLVILOLOLMD 升级为GVLOLMD 升级的大规模升级数据系统, 。 运行前的大规模升级的大规模升级GMD 升级GMMD, 升级GPM 升级的大规模的大规模升级到GMT 。