Skip to main content
QUICK REVIEW

[論文レビュー] CryptGPU: Fast Privacy-Preserving Machine Learning on the GPU

Sijun Tan, Brian Knott|arXiv (Cornell University)|Apr 22, 2021
Cryptography and Data Security参考文献 50被引用数 12
ひとこと要約

CryptGPU は、GPU を活用したプライバシー保護型機械学習フレームワークであり、すべての暗号操作(線形および非線形)を最適化された 'GPUフレンドリー' プロトコルを用いて GPU 上で実装する。これにより、従来の CPU ベース手法と比較して、プライベートトレーニングで最大 36 倍、プライベートインフェレンスで最大 8 倍の高速化を達成し、ResNet-152 や ImageNet スケールのデータセットを用いた大規模モデルにおける安全なインフェレンスおよびトレーニングを可能にする。

ABSTRACT

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.

研究の動機と目的

  • プライバシー保護型機械学習におけるスケーラビリティのギャップを解消し、安全なマルチパーティ計算(MPC)に GPU 加速を導入すること。
  • プライベートトレーニングおよびインフェレンスを小規模なモデルやデータセットに制限する CPU ベースの MPC プロトコルの性能ボトルネックを克服すること。
  • GPU 実行にネイティブに適合する暗号プロトコルを設計し、CPU-GPU 間のデータ転送と遅延を排除すること。
  • 最新の深層ニューラルネットワーク(例:6000万パラメータを超える ResNet-152)および ImageNet スケールのデータセットに対して、実用的なプライベートインフェレンスおよびトレーニングを可能にすること。
  • GPU ネイティブな暗号操作を活用して、平文学習とプライベート学習の間の性能ギャップを埋めること。

提案手法

  • 秘密分散された暗号操作(離散ドメイン上)を、最適化された CUDA カーネルで実行可能な浮動小数点演算に埋め込むための新規インターフェースを導入する。
  • GPU に最適化されたプリミティブを用いて、GPU フレンドリーな暗号プロトコルのセットを設計し、線形(例:畳み込み)および非線形(例:ReLU)演算をカバーする。
  • 秘密分散、乗算、比較を含むすべての MPC 操作を GPU 上で完全に実装し、CPU のボトルネックを回避する。
  • PyTorch および CrypTen と統合し、機械学習研究者によるシームレスなデプロイを可能にする。
  • GPU のオブザーバビリティとスループットを最大化するため、データレイアウトおよびメモリアクセスパターンを最適化する。
  • カスタム CUDA カーネルを用いて、秘密分散下での同型暗号に類似した操作を高速化し、計算および通信のオーバーヘッドを最小限に抑える。

実験結果

リサーチクエスチョン

  • RQ1すべての MPC 暗号操作を、CPU のオフロードを伴わずに、GPU 加速カーネルに効率的にマッピングできるか?
  • RQ2CPU に最適化されたプロトコルと比較して、GPU アーキテクチャに特化して設計された MPC プロトコルは、どの程度の性能向上を達成できるか?
  • RQ3GPU 加速は、ResNet-152 や ImageNet のような大規模なディープラーニングモデルに対して、どの程度プライベートトレーニングおよびインフェレンスを可能にするか?
  • RQ4既存の MPC フレームワークにおける GPU 利用を妨げる主なボトルネックは何か、そしてそれらはどのように排除できるか?
  • RQ5GPU ネイティブな暗号プロトコルは、十分なセキュリティと効率性を備えており、大規模な実世界のプライバシー保護型機械学習を支えるのに適しているか?

主な発見

  • CryptGPU のプライベート GPU ベース畳み込みプロトコルは、大規模モデルにおいて、CPU ベースの対応プロトコルと比較して 150 倍以上高速である。
  • GPU ベースの ReLU プロトコルは、非線形活性化操作において、CPU バージョンと比較して約 10 倍の高速化を達成している。
  • プライベートインフェレンスにおいて、CryptGPU は大規模なモデルおよびデータセットにおいて、先行する最先端手法(Falcon および CrypTFlow)と比較して 2〜8 倍の改善を達成している。
  • プライベートトレーニングにおいて、CryptGPU は従来の手法と比較して 6〜36 倍の改善を達成しており、Tiny ImageNet 上での AlexNet のトレーニングを 1 年未満で実現可能である。
  • CryptGPU は、6000万パラメータを超えるモデルおよび ImageNet に相当する規模のデータセットに対して、プライベートインフェレンスおよびトレーニングをサポートしており、実用的なスケーラビリティを示している。
  • GPU フレンドリーな MPC プロトコルの体系的設計により、エンドツーエンドの GPU 実行が可能となり、CPU-GPU 間のデータ転送が排除され、遅延が低減された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。