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 エンドポイントとやり取りするために、以下の手順を実行する必要があります:
- Clone the Model Repository: ユーザーは Hugging Face から特定のモデルリポジトリをローカルマシンにクローンします。
- Environment Setup: ユーザーは Python 3.10 を使用してローカルに Concrete ML と依存関係をインストールします(Hugging Face エンドポイントとの互換性のために必要)。
- Execution: 提供されたスクリプト(例:
play_with_endpoint.py)を使用して、ユーザーは入力データをローカルで量子化および暗号化し、エンドポイントに送信します。 - 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.zip、server.zip、versions.json ファイルを生成し、それらを concrete-ml と FHE タグ付きで Hugging Face Hub にアップロードして発見しやすくすることを含みます。
今後の強化策
Zama と Hugging Face は、より高性能な CPU マシンの提供、Concrete ML を Hugging Face インターフェースに深く統合すること(例: 専用の「プライバシー保護推論エンドポイント」ボタン)、および複数サーバーマシン間で FHE 推論キーを保持するための不揮発性・共有状態ストレージの提供により、体験の向上を目指しています。