Facebook AI Research(FAIR)はOpacusのリリースを発表した。OpacusはPyTorchフレームワークを使用して深層学習モデルをトレーニングするときに差分プライバシー技術を適用する高速ライブラリである。Opacusは、他のプライバシーライブラリと比較して桁違いの高速化を実現できる。
ライブラリについては、FAIRブログで説明されている。OpacusはPrivacyEngineのAPIと実装を提供する。PrivacyEngineでは、トレーニング中にPyTorchオプティマイザーに直接接続される。Opacusは、PyTorch Autogradコンポーネントでフックを使用することで、サンプルごとの勾配を効率的に計算できる。これは、差分プライバシーの重要な処理である。トレーニングにより、既存のモデル提供コードを変更せずにデプロイできる標準のPyTorchモデルが生成される。FAIRは次のように述べている。
私たちは、研究者やエンジニアがMLで差分プライバシーを採用するためのより簡単な方法を提供し、実フィールドでのDP研究を加速することを望んでいます。
差分プライバシー(DP)は、データプライバシーの数学的定義である。DPのコアコンセプトは、データセットのクエリ操作にノイズを追加して、データセットから単一のデータ要素を削除しても、そのクエリの結果が変更される可能性が非常に低くなるようにすることである。この確率はプライバシーバジェットと呼ばれる。連続する各クエリは、データセットの合計プライバシーバジェットの一部を消費する。それが発生すると、それ以上のクエリを実行することはできず、一方で、それによってプライバシーを保証する。
この概念を機械学習に適用する場合、通常はトレーニングステップ中に適用され、モデルが特定の入力サンプルについて学習「しすぎない」ことを効果的に保証する。ほとんどの深層学習フレームワークは確率的勾配降下法(SGD)と呼ばれるトレーニングプロセスを使用するため、プライバシーを保護するバージョンはDP-SGDと呼ばれる。バックプロパゲーションステップ中に、通常のSGDは、入力「ミニバッチ」全体に対して単一の勾配テンソルを計算する。これは、モデルパラメーターの更新に使用される。ただし、DP-SGDでは、ミニバッチ内の個々のサンプルの勾配を計算する必要がある。このステップの実装は、Opacusの速度向上の鍵である。
個々の勾配を計算するために、OpacusはIan Goodfellow氏によって開発された効率的なアルゴリズムを使用する。Ian Goodfellow氏は生成的敵対的ネットワーク(GAN)モデルの発明者である。この手法を適用して、Opacusは各入力サンプルの勾配を計算する。各勾配は最大の大きさにクリップされ、データの外れ値のプライバシーを確保する。勾配は単一のテンソルに集約され、モデルパラメータが更新される前にノイズが結果に追加される。各トレーニングステップは入力データの「クエリ」を構成し、プライバシーバジェットの支出を構成するため、Opacusはこれを追跡し、リアルタイム監視と、バジェットが消費されたときにトレーニングを停止するオプションを提供する。
Opacusの開発において、FAIRとPyTorchチームはOpenMinedと協力した。OpenMinedはMLとAIのプライバシー技術の開発を専門とするオープンソースコミュニティである。OpenMinedは以前、MLプライバシー研究のフレームワークであるFacebookのCrypTenに貢献した。そして、PySyftと呼ばれるDPライブラリやPyGridと呼ばれるフェデレーテッドラーニングプラットフォームなどの独自のプロジェクトを開発した。FAIRのブログ投稿によると、OpacusはOpenMinedのライブラリのコア依存関係になった。PyTorchの主要な競合であるGoogleのディープラーニングフレームワークTensorFlowは、2019年の初めにDPライブラリをリリースした。ただし、ライブラリはTensorFlowの新しい2.xバージョンと互換性がない。
ライブラリを使用するために、OpacusのソースコードとチュートリアルはGitHubで入手できる。