Hugging Face エンドポイントでプライバシー保護推論を実行する

Zama と Hugging Face は、プライバシー保護機械学習フレームワークである Concrete ML を Hugging Face エンドポイントと統合しました。この統合により、開発者は Fully Homomorphic Encryption(FHE)を利用した事前コンパイル済みモデルをデプロイでき、秘密鍵を必要とせずに暗号化データ上で直接計算を行うことができ、推論中にユーザーデータがプライベートに保たれます。

Hugging Face エンドポイントを介した FHE 駆動推論

ユーザーは、"Inference Endpoint (dedicated)" オプションを使用して、Hugging Face Hub から直接 FHE 対応モデルをデプロイできます。Concrete ML モデルは現在 GPU をサポートしていないため、デプロイ時には CPU バックエンドのマシンを選択する必要があります(現在は最大 8 vCPU が利用可能です)。

クライアント側ワークフロー

ユーザーはデプロイされた FHE エンドポイントとやり取りするために、以下の手順を実行する必要があります:

  1. Clone the Model Repository: ユーザーは Hugging Face から特定のモデルリポジトリをローカルマシンにクローンします。
  2. Environment Setup: ユーザーは Python 3.10 を使用してローカルに Concrete ML と依存関係をインストールします(Hugging Face エンドポイントとの互換性のために必要)。
  3. Execution: 提供されたスクリプト(例: play_with_endpoint.py)を使用して、ユーザーは入力データをローカルで量子化および暗号化し、エンドポイントに送信します。
  4. Decryption: エンドポイントは暗号化された予測を返し、ユーザーはそれをローカルで復号および逆量子化して最終結果を取得します。

カスタムハンドラによる技術実装

この機能は Hugging Face の custom inference handlers によって実現されています。Zama は handler.py ファイルを実装し、EndpointHandler のカスタム __call__ メソッドを定義しました。これにより、エンドポイントは特定の FHE 操作をサポートできるようになります:

  • save_key: FHE 評価キーを保存します。
  • append_key: 大きな FHE 評価キーを小さなパーツに分割して保存します。
  • inference: 暗号化データ上で FHE 推論を実行します。

モデルのパフォーマンスと利用可能性

Zama は、さまざまな機械学習タスクとそれぞれの Hugging Face CPU エンドポイント上での実行時間を示す、いくつかの事前コンパイル済みサンプルモデルを提供しています:

モデル種別 データセット HF エンドポイント上の実行時間
ロジスティック回帰 Synthetic 0.4 秒
DecisionTree Spam 2.0 秒
QNN Iris 3.7 秒
CNN MNIST 24 秒

制限事項と今後の方向性

統合によりプライバシー保護推論が可能になりましたが、いくつかの技術的制約があります。

  • Volatile Key Storage: 評価キーはエンドポイントの RAM に保存されます。エンドポイントが再起動するとキーは失われ、再送する必要があります。
  • Scaling: RAM がマシン間で共有されていないため、複数インスタンスにまたがる大量トラフィックの処理は困難です。
  • Hardware Constraints: CPU バックエンドエンドポイントの現在の上限である 8 vCPU は、高負荷アプリケーションを制限する可能性があります。

カスタム FHE モデルの準備

開発者は Zama の既存リポジトリをフォークし、creating_models.py を自分のデータセットとタスクに合わせて修正することで、独自の事前コンパイル済みモデルを作成できます。このプロセスは Concrete ML でモデルを訓練し、client.zipserver.zipversions.json ファイルを生成し、それらを concrete-mlFHE タグ付きで Hugging Face Hub にアップロードして発見しやすくすることを含みます。

今後の強化策

Zama と Hugging Face は、より高性能な CPU マシンの提供、Concrete ML を Hugging Face インターフェースに深く統合すること(例: 専用の「プライバシー保護推論エンドポイント」ボタン)、および複数サーバーマシン間で FHE 推論キーを保持するための不揮発性・共有状態ストレージの提供により、体験の向上を目指しています。

Sources