連合学習 API
連合学習 API について説明します。
連合学習
連合学習とは、複数のクライアントで学習されたモデルをサーバで集約することで、データの安全性を保ちながらモデルの精度を高める手法です。
xData Edge では、複数の xData Edge を協調させて連合学習を実現するために、xData Edge 間でモデルストアに格納されているモデルを転送する API を提供します。
モデルストア
モデルを保存・共有する空間として、モデルストアと呼ばれる機能を提供します。
モデルストアは、任意の識別子(DDC)で作成され、1つのモデルストアに複数のモデルを保存することができます。
※ 現時点で、保存できるモデルは最大255MBのサイズ制限があります
モデル・モデル情報
モデルは、任意のファイルです。
モデルには、model_idと呼ばれるidが付与され、モデルを特定するために使用されます。
モデルに対してシステムが付与する1対1のメタデータ(更新日付やモデルステート等)をモデル情報と呼びます。 また、モデル情報にユーザー固有あるいは連合学習アルゴリズム固有のメタデータを含むことができ、これを単にメタデータと呼びます。
上流情報
xData Edge の連合学習 API では、モデルストアごとに、モデルのフィードバック先となる上位ノードのエンドポイント URL やモデルストア名を指定できます。 これを、モデルストアの上流情報と呼びます。
モデルを上位ノードに転送 (フィードバック) するときには、あらかじめ設定された上流情報にしたがって転送されます。 また、上位ノードで集約されたモデルの転送を受ける (トランスファー) ときにも、あらかじめ設定された同じ上流情報にしたがって転送を受けます。
連合学習 API 一覧
xData Edge の利用者は連合学習 API を利用して、以下の操作を実行できます。
| API メソッド | 説明 |
|---|---|
| fl.feedback | モデルストア内のモデルを上流のモデルストアにフィードバックします。 |
| fl.request_transfer | 上流のモデルストアから最新の集約済みモデルを取得してモデルストアに格納します。 |
| fl.create_upstream_info | モデルストアに、モデルのフィードバック先となる上流ノードのモデルストアを登録します。 |
| fl.update_upstream_info | モデルストアに登録されている上流情報を更新します。 |
| fl.delete_upstream_info | モデルストアから、モデルのフィードバック先となる上流情報を削除します。 |
| fl.list_upstream_info | モデルストアの上流情報を一覧表示します。 |
| fl.get_upstream_info | モデルストアの上流情報を取得します。 |