Skip to main content
QUICK REVIEW

[논문 리뷰] CryptGPU: Fast Privacy-Preserving Machine Learning on the GPU

Sijun Tan, Brian Knott|arXiv (Cornell University)|2021. 04. 22.
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 네이티브 암호화 연산을 활용해 복소수와 비공개 딥 러닝 간 성능 격차를 해소한다.

제안 방법

  • GPU에서 실행 가능한 최적화된 CUDA 커널을 통해 실수형 연산으로 실행 가능한 비밀 공유 암호화 연산(이산 도메인 내)을 통합하는 새로운 인터페이스를 도입한다.
  • GPU 최적화된 원자적 기반을 사용해 선형(예: 컨볼루션) 및 비선형(예: ReLU) 연산을 위한 'GPU 우아한' 암호화 프로토콜 세트를 설계한다.
  • 비밀 공유, 곱셈, 비교와 같은 모든 MPC 연산을 GPU에서 완전히 실행하여 CPU 병목 현상을 방지한다.
  • PyTorch 및 CrypTen과 통합하여 기계학습 연구자들이 간편하게 배포할 수 있도록 한다.
  • GPU 점유율과 처리량을 극대화하기 위해 데이터 레이아웃과 메모리 접근 패턴을 최적화한다.
  • 사용자 정의 CUDA 커널을 사용해 비밀 공유 하에 있는 히든 유사 연산을 가속화하여 계산 및 통신 오버헤드를 최소화한다.

실험 결과

연구 질문

  • RQ1모든 암호화 연산을 CPU 오프로딩 없이 GPU 가속 커널에 효율적으로 매핑할 수 있는가?
  • RQ2CPU 최적화 프로토콜과 비교해 GPU 아키텍처에 특화된 MPC 프로토콜을 설계할 경우 성능 향상은 어느 정도 기대할 수 있는가?
  • RQ3GPU 가속이 ResNet-152와 ImageNet과 같은 대규모 딥 러닝 모델에서 비공개 학습과 추론을 얼마나 잘 지원할 수 있는가?
  • RQ4기존 MPC 프레임워크에서 GPU 활용을 방해하는 주요 병목 요소는 무엇이며, 이를 어떻게 제거할 수 있는가?
  • RQ5GPU 네이티브 암호화 프로토콜이 실세계의 대규모 프라이버시 보장 기계학습을 위한 충분한 보안성과 효율성을 확보할 수 있는가?

주요 결과

  • CryptGPU의 비공개 GPU 기반 컨볼루션 프로토콜은 대규모 모델에서 CPU 기반 대비 150배 이상 빠른 성능을 보였다.
  • GPU 기반 ReLU 프로토콜은 비선형 활성화 연산에서 CPU 버전 대비 약 10배의 성능 향상을 달성했다.
  • 비공개 추론의 경우, 대규모 모델과 데이터셋에서 기존 최고 성능 기준(Falcon 및 CrypTFlow) 대비 2배에서 8배의 성능 향상을 기록했다.
  • 비공개 학습의 경우, 이전 방법 대비 6배에서 36배의 성능 향상을 기록했으며, 이는 Tiny ImageNet에서 AlexNet을 1년 이내에 학습시킬 수 있음을 의미한다.
  • CryptGPU는 6000만 개 이상의 가중치를 가진 모델과 ImageNet 규모의 데이터셋에서 비공개 추론과 학습을 지원하여 실용적인 확장성을 입증했다.
  • GPU 우량 MPC 프로토콜의 체계적 설계 덕분에 GPU 전용 실행이 가능해졌으며, CPU-GPU 데이터 전송이 제거되고 지연이 감소했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.