AI

連合学習のサーバー処理を外部検証可能に、Gboardが採用

この記事のポイント

  1. 実現したこと

    端末が暗号化した学習例を、端末自身が許可したサーバー側の処理で学習に使えるようになった。

  2. 実現の仕組み

    鍵管理システムが、許可された計算と一致する保護された実行環境にだけ復号鍵を渡す。

  3. 得られた結果

    Googleは、キーボードアプリGboardの英語・日本語の次単語予測で、プライバシー保証と予測精度が改善したとしている。

  4. 従来との違い

    端末や監査者が検証できなかったサーバー側のノイズ付加処理が、公開アクセス方針に記述されたプログラムとして検証可能になった。

端末が暗号化した学習データを、鍵の許可を受けた保護領域で処理し、外部からプログラムを照合する仕組みの編集イラスト
AI生成画像

連合学習のサーバー側処理が、端末の許可したプログラムに制限され、その匿名化処理を外部から検証できるようになった。Googleは、暗号化した学習例を保護された実行環境で処理する新システムをGboardへ導入し、予測精度と計算時間が改善したとしている。

暗号化した学習例を、端末が許可した計算へ渡す

Googleが開発した新しい連合学習システムでは、端末が学習例を暗号化してサーバーへ送る。端末は送信前に、そのデータを処理してよい計算をアクセス方針として許可する。

許可された計算の実行先は、内部状態と処理を保護するTrusted Execution Environments(TEE)である。TEE内で動くロジックは遠隔から検証でき、その機密性と完全性の保護には現世代のTEEの制約が伴う。

鍵管理システム(KMS)は、サーバー側TEEの処理がアクセス方針で許可された計算と一致するときだけ、復号鍵を渡す。この鍵の受け渡しによって、端末が指定した処理の範囲をデータの復号時にも適用する。

公開ログと再現可能なビルドで処理内容を照合する

アクセス方針は、公開透明性ログのRekorに掲載される。外部監査者はログを調べることで、端末のデータへアクセスし得るサーバー処理の全体を追跡できる。

公開された方針は、学習ロジックを実装するPythonプログラムを直接記述する。従来は、差分プライバシー(DP)のためにサーバーが正しくノイズを加えることを端末や監査者が検証できなかったが、新システムでは、その処理を含むプログラムが照合対象になる。

KMSとデータ処理の実行バイナリーは、公開ソフトウェアプロジェクトConfidential Federated Computeのソースコードから再現可能なビルドで生成できる。公開アクセス方針に加え、実際に動かすコードを照合するためのソースコードも利用できる。

複数のTEEで学習し、匿名化した重みを出力する

許可されたPythonプログラムの学習ループは、主TEEが実行する。並列化できる下位処理は複数のワーカーTEEへ委譲され、サーバー側の複数の実行環境で学習を進める。

処理の運用者に見える出力は、指標とDPを適用したモデルの重みに限られる。学習に使う入力をTEE内で処理し、外へ渡すモデルの重みには匿名化処理を適用する。

学習プログラムは、各ラウンドの終了時にKMSで暗号化した復旧状態を保存する。主TEEやワーカーTEEに一時的な障害が発生した場合、この状態を使って学習を復旧することができる。

端末の稼働時間から学習を切り離し、次単語予測へ導入する

新システムは、端末からのアップロードを先に集め、その後にサーバー側の学習処理を実行する。この順序により、端末が利用可能になる時間帯の日内変動によって学習の進行が左右されることを避ける。

Googleは、このシステムをキーボードアプリGboardの英語・日本語の次単語予測モデルへ導入した。プライバシー保証と予測精度が改善し、従来の連合学習システムと比べて計算時間も大幅に短くなったとしている。