インテル® SGX とインテル® DL ブーストによるプライバシーを保護したマシンラーニング

インテル® oneAPIセキュリティーマシンラーニング

この記事は、Intel AI Blog で公開されている「Better Together: Privacy-Preserving Machine Learning Powered by Intel® SGX and Intel® DL Boost」の日本語参考訳です。


はじめに

マシンラーニング (ML) とディープラーニング (DL) は、多くのアプリケーションにとってますます重要になっています。ML と DL モデルは、まず既知のデータでトレーニングされ、その後、画像の分類やコンテンツの推奨など、新しいデータの解釈に展開されます。一般的に、データ量が増えると、より優れた ML/DL モデルになります。しかし、膨大な量のデータを蓄積することは、プライバシー、セキュリティー、規制面でのリスクを内在しています。

プライバシーを保護したマシンラーニング (PPML: Privacy-Preserving Machine Learning) は、これらのリスクに対処するのに役立ちます。PPML は、暗号技術やプライバシー保護技術、ハードウェア技術などを使用して、ユーザーの機密データや、ML タスクを実行する際のトレーニング済みモデルのプライバシーを保護することを目的としています。

Ant Group はインテルと協力して、インテル® ソフトウェア・ガード・エクステンション (インテル® SGX) と Ant Group のインテル® SGX 用メモリーセーフ・マルチプロセス・ライブラリー OS である Occlum の上に PPML プラットフォームを構築しました。このブログでは、Analytics Zoo 上で動作するソリューションの概要を説明します。また、第 3 世代インテル® Xeon® スケーラブル・プロセッサー上でインテル® ディープラーニング・ブースト (インテル® DL ブースト) を使用して高速化した場合のソリューションのパフォーマンスの利点についても紹介します。

インテル® SGX と Occlum

インテル® SGX は、インテルのトラステッド・エグゼキュ―ション環境 (TEE) であり、メモリー内の特定のアプリケーション・コードとデータを分離するハードウェアベースのメモリー暗号化を提供します。インテル® SGX では、ユーザーレベルのコードが、エンクレーブと呼ばれるプライベートなメモリー領域を割り当てることができます。エンクレーブは、より高い権限レベルで実行されるプロセスから保護されるように設計されています (図 1 を参照)。


図 1. インテル® SGX による保護機能の強化

ホモモルフィック暗号化やディファレンシャル・プライバシーに加えて、インテル® SGX は、オペレーティング・システム、ドライバー、BIOS、仮想マシン・マネージャー、システム管理モデルが侵害された場合でも、ソフトウェア攻撃からデータを保護します。これにより、インテル® SGX は、攻撃者がプラットフォームを完全に制御している場合でも、機密データや鍵の保護を強化することができます。第 3 世代インテル® Xeon® スケーラブル・プロセッサーは、CPU ごとに最大 512GB のトラステッド・エンクレイブが用意されており、インテル® SGX が PPML ソリューションの優れた基盤となることを可能にしています。

2014 年に正式に設立された Ant Group は、10 億人以上のユーザーにサービスを提供しており、世界でも有数のフィンテック (FinTech) 企業です。PPML に積極的に取り組んでいる Ant Group は、インテル® SGX 用のメモリーセーフ・マルチプロセス・ライブラリー OS (LibOS) である Occlum オープンソース・プロジェクトを開始しました。Occlum を使用することで、ソースコードの変更を最小限またはゼロに抑えてインテル® SGX 上で ML ワークロードなどを実行し、ユーザーデータの機密性と完全性を透過的に保護できます。図 2 は、インテル® SGX 用の Occlum アーキテクチャーを示しています。


図 2. インテル® SGX 用の Occlum アーキテクチャー (図の出典: Occlum GitHub (英語))

Analytics Zoo で構築されたエンドツーエンドの PPML ソリューション

Analytics Zoo は、Apache Spark*、Flink*、Ray 上の TensorFlow*、Keras*、PyTorch* で分散処理を行うための、統一されたデータ分析および AI プラットフォームです。Analytics Zoo を使用することで、アナリティクス・フレームワーク、ML/DL フレームワーク、Python* ライブラリーを Occlum LibOS に統合されたものとして保護された状態で実行できます。Analytics Zoo はまた、セキュアなデータアクセス、セキュアな勾配とパラメーターの管理、その他のセキュリティー機能を提供し、連携学習などの PPML ユースケースを実現します。図 3 は、エンドツーエンドの Analytics Zoo PPML ソリューションを示しています。


図 3. 金融サービス、ヘルスケア、クラウドサービスなどのセキュアな分散コンピューティング向けエンドツーエンドの PPML ソリューション

Analytics Zoo PPML プラットフォームにより、Ant Group はインテルと協力して、より安全なエンドツーエンドの分散型推論サービス・パイプラインを構築しました (図 4)。このパイプラインは、TensorFlow*、PyTorch*、Caffe、BigDL、OpenVINO™ モデルなど、広範なディープラーニング・モデルをサポートする軽量の分散型リアルタイム・サービング・ソリューションである、Analytics Zoo Cluster Serving を使用しています。Analytics Zoo Cluster Serving のコンポーネントには、ウェブ・フロントエンド、インメモリーのデータ構造ストアである Redis*、インテル® Optimization for TensorFlow* や OpenVINO™ ツールキットなどの推論エンジンが含まれます。コンポーネントには、Apache Flink* のような分散型ストリーミング・フレームワークも含まれています。

推論エンジンとストリーミング・フレームワークは、Occlum 上のインテル® SGX エンクレーブ内で動作します。ウェブ・フロントエンドと Redis* は、TLS (Transport Security Layer) プロトコルによって暗号化されています。その結果、ユーザーデータやモデルを含む推論パイプラインのデータは、ストア中、移動中、使用中にかかわらず、より確実に保護されます。


図 4. 推論サービス・パイプライン

インテル® DL ブーストにより高速化されたエンドツーエンドの PPML ソリューション

このソリューションでは、以下のようなエンドツーエンドの推論パイプラインを実装しています。

  1. RESTful http API がユーザーの入力を受け取り、Analytics Zoo の pub/sub API がユーザーの入力を Redis* で管理された入力キューに送ります。ユーザーデータは暗号化によって保護されます。
  2. Analytics Zoo は、入力キューからユーザーの入力を取得して、Apache Flink* のような分散型ストリーミング・フレームワーク上の推論エンジンを使用して推論を実行します。推論エンジンと分散型ストリーミング・フレームワークは、Occlum を使用してインテル® SGX で保護されています。インテル® oneAPI ディープ・ニューラル・ネットワーク・ライブラリー (インテル® oneDNN) は、インテル® DL ブーストと INT8 を利用して、分散型推論パイプラインのパフォーマンスを向上します。
  3. Analytics Zoo は、分散環境から推論出力を収集して、Redis* が管理する出力キューに送ります。 その後、RESTful http API を使用して、推論結果を予測値としてユーザーに返します。出力キュー内のデータ、および HTTP 通信は暗号化されています。

パフォーマンス解析

インテルと Ant Group は、表 1 に示す第 3 世代インテル® Xeon® スケーラブル・プロセッサーとその他のテクノロジーを搭載したシステムで、Analytics Zoo PPML ソリューションのパフォーマンスを検証しました。

図 5 はテストの結果を示しています。推論ソリューションがインテル® SGX で保護されている場合、ResNet50 の推論パイプラインは、インテル® SGX で保護されていない推論パイプラインと比較して、わずかにスループットが低下します。一方、インテル® DL ブーストと INT8 を利用した場合、インテル® SGX で保護された推論パイプラインは、スループットが 2 倍に向上しました。


図 5. インテル® SGX、インテル® DL ブースト、第 3 世代インテル® Xeon® スケーラブル・プロセッサーによるハイパフォーマンスなセキュリティー機能

インテル® SGX をベースにした Analytics Zoo PPML ソリューションは、トラステッド・エグゼキュ―ション環境 (TEE) のメリットを継承しています。ほかのデータ・セキュリティー・ソリューションと比較して、セキュリティー・レベルとデータ・ユーティリティー・レベルで卓越したパフォーマンスを達成しており、プレーンテキストと比較してもパフォーマンスへの影響はわずかです。インテル® DL ブーストとインテル® oneDNN は、Analytics Zoo PPML 推論ソリューションのパフォーマンスをさらに向上させます。表 2 は、本ソリューション (TEE) の強みを、ホモモルフィック暗号化 (HE)、ディファレンシャル・プライバシー (DP)、セキュア・マルチパーティー・コンピュテーション (MPC)、プレーンテキストと比較してまとめたものです。


表 2. Analytics Zoo PPML ソリューション (TEE) とほかのアプローチの比較

まとめ

法規制が複雑さを増す中で、顧客のデータ・プライバシーを保護することは、企業にとってこれまで以上に重要な課題となっています。PPML によって、企業は膨大な量のセンシティブなデータの取り扱いに伴うセキュリティー・リスクを最小限に抑えつつ、強力な AI 技術の探求を続けることができます。

Occlum、インテル® SGX、インテル® DL ブースト、Analytics Zoo を利用して構築された Analytics Zoo PPML は、ビッグデータ AI ワークロードのデータ・セキュリティーとパフォーマンスを確保するためのソリューション・プラットフォームを確立します。Ant Group とインテルは、PPML ソリューションを共同で実装および検証しており、今後も AI とデータ・セキュリティーにおけるベスト・プラクティスを探求していきます。

関連情報

テストに使用したシステム構成:

System Configuration: 2-node, Intel® Xeon® Platinum 8369B Processor, 2 sockets, 32 cores per socket, HT On, Turbo ON, Total Memory 1024 GB (16 slots/ 64GB/ 3200 MHz), EPC 512GB, SGX DCAP Driver 1.36.2, Microcode: 0x8d05a260, Ubuntu 18.04.4 LTS, 4.15.0-112-generic kernel. Tested by Intel on 3/20/2021.

Software Configuration: LibOS Occlum 0.19.1, Flink 1.10.1, Redis 0.6.9, OpenJDK 11.0.10, Python 3.6.9

Workload Configuration: Model: Resnet50, Deep Learning Framework: Analytics Zoo 0.9.0, OpenVINO™ 2020R2, Dataset: Imagenet, BS=16 per instance, 16 instances/2 socket, Datatype: FP32/INT8

All performance data is tested in lab environment.

法務上の注意書き

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex
Performance results are based on testing as of dates shown in configurations and may not reflect all publicly available ​updates. See backup for configuration details. No product or component can be absolutely secure.
© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others​.

タイトルとURLをコピーしました