ホモモルフィック暗号を用いた暗号化データの感情分析
TL;DR
Hugging Face は、Concrete-ML ライブラリを介して完全同型暗号 (FHE) を使用し、暗号化データ上で感情分析を実行する方法を実証しました。BERT トランスフォーマーの埋め込みと XGBoost 分類器を組み合わせることで、サーバー上でユーザーの入力データを一切復号せずに感情予測を提供できます。
ホモモルフィック暗号によるプライバシー保護推論
同型暗号は、事前に復号することなく暗号化データ上で計算を実行できるようにします。これは、プライベートメッセージの分析など、ユーザーのデータが推論プロセス中でも機密性を保たなければならない機微なアプリケーションにとって重要です。
これを実装するために、Hugging Face は Concrete-ML ライブラリを利用しました。このライブラリは、暗号学の深い専門知識がなくてもデータサイエンティストが FHE 環境で機械学習モデルを展開できるようにします。
技術アーキテクチャ: トランスフォーマーと XGBoost
このシステムは、暗号互換性を保ちながら生テキストを感情予測に変換するために、2 段階のパイプラインを採用しています。
1. トランスフォーマーによるテキスト表現
生テキストは FHE に適さないため、システムはトランスフォーマーを使用してテキストの隠れ表現(埋め込み)を生成します。
- 使用モデル: Stanford Sentiment Treebank データセットでファインチューニングされた BERT トランスフォーマー(
cardiffnlp/twitter-roberta-base-sentiment-latest)。 - プロセス: テキストをトークナイズし、トランスフォーマーに通します。システムは最終隠れ層の状態を抽出し、すべてのトークンの表現を平均して 768 次元のテキストレベルベクトルを作成します。
- クライアント側実行: テキストからテンソルへの変換はクライアントマシン上で行う必要があります。暗号化は得られたトランスフォーマー表現に対して適用されます。
2. XGBoost による分類
768 次元のベクトルは XGBoost 分類器に入力されます。XGBoost は深層ニューラルネットワークよりも FHE との互換性が高いです。
- トレーニング: 公開されている Twitter 航空会社感情データセットを使用し、
GridSearchCVでハイパーパラメータを最適化してモデルを学習させました。 - 最適パラメータ: 最良のモデルは
max_depth: 1、n_bits: 3、n_estimators: 50を使用しました。 - 性能: このモデルはテストセットで 85.04% の精度を達成しました。
FHE 実行とパフォーマンス
XGBoost モデルが学習されたら、Concrete-ML を使用して FHE 推論エンジンにコンパイルされます。
- 推論の一貫性: 暗号化データ上で行われた予測(
execute_in_fhe=True)は、平文での予測と同一です。 - 実行時間: 1 件のツイートに対する FHE 推論は、16 コア CPU で約 4.4 秒かかります。
- コンパイル時間: モデルのコンパイルには約 9.3 秒かかります。
デプロイワークフロー
デプロイは、データプライバシーを確保するためにクライアント‑サーバープロトコルに従います。
- 鍵生成: クライアントは秘密鍵と公開鍵のペアを生成します。
- 暗号化: クライアントはテキストのトランスフォーマー表現をエンコード、量子化し、公開鍵で暗号化します。
- サーバー側予測: サーバーは暗号化データを受け取り、公開評価鍵を用いて予測を実行します。サーバーは復号された入力を見ることはありません。
- 復号: サーバーは暗号化された予測結果をクライアントに返し、クライアントは自分の秘密鍵で復号します。
このアーキテクチャは、クライアントアプリケーションに Gradio、サーバーに FastAPI、ASGI サーバーに Uvicorn を使用し、Hugging Face Spaces 上でホストされたデモとして実装されました。