CryptGPU: Fast Privacy-Preserving Machine Learning on the GPU
这次分享的是Sijun Tan等人发表在IEEE S&P'21的CryptGPU。
Background & Motivation
目前大多数基于安全多方计算(MPC)的隐私保护机器学习方案都是运行在CPU上的,但是在明文机器学习领域GPU已经成为一项不可缺少的硬件设备。GPU强大的算力能够大大加快机器学习模型,尤其是神经网络的计算速度。为了让MPC的隐私保护机器学习方案也能够充分利用GPU的计算性能、加快基于MPC的隐私保护机器学习训练和预测效率,本文提出了CryptGPU。
本文的主要贡献在于将基于MPC的密码学协议迁移到GPU上,实现了大幅度的性能优化。然而,将MPC技术从CPU迁移到GPU会遇到一系列的挑战。虽然NVIDIA的CUDA平台能够支持一般性的计算,但是将面向CPU的代码直接运行在GPU上并不能直接带来预期的性能提升。为了实现高效的基于GPU的MPC技术,设计者必须要处理CPU和GPU之间的架构差异:
实验显示,对于Falcon中基于CPU的线性层方案,CryptGPU可以带来25-72倍的性能提升。对于卷积操作(卷积核和数据都是秘密分享的),CryptGPU快150倍。即便是对非线性函数,例如ReLU,CryptGPU也能带来10倍的加速。最后,作者在CrypTen的技术上实现了CryptGPU并开源,代码链接。