フェデレーテッドランタイム
フェデレーテッドランタイムとは、機械学習モデルや複雑なアプリケーションが単一の中央サーバー上ではなく、分散化されたデバイスやサーバーのネットワーク全体で実行される計算環境を指します。すべての生データを一箇所に集約するのではなく、ランタイムはデータソース上でモデルをローカルにトレーニングまたは実行するプロセスを管理します。
現代のデータ集約型アプリケーションでは、データ主権、プライバシー規制(GDPRなど)、帯域幅の制限により、中央集権的なデータ集約は非現実的または違法になります。フェデレーテッドランタイムは、計算をデータに近づけることでこれらの問題に対処し、機密情報がローカルに留まることを保証しながら、グローバルなモデル改善に貢献します。
このプロセスでは通常、中央オーケストレーターがグローバルモデルまたはトレーニングタスクをさまざまなローカルノード(クライアント)に配布します。各ローカルノードは、独自のローカルデータセットを使用してモデルをトレーニングまたは実行します。生データではなく、結果として得られたモデルの更新またはパラメータのみがオーケストレーターに送信されます。その後、オーケストレーターはこれらの更新を集約(例:フェデレーテッドアベレージングを使用)して改善されたグローバルモデルを作成し、次のトレーニングラウンドのために再配布します。
フェデレーテッドランタイムは、機密データが関わるシナリオで極めて重要です。例えば、医療(病院データでの診断モデルのトレーニング)、モバイルデバイス学習(キー入力をアップロードせずにキーボード予測を改善)、およびエッジでリアルタイム推論が必要なIoT展開などがあります。
フェデレーテッドランタイムを実装するには、システム異種性(ノード間の異なるハードウェア/ソフトウェア)、パラメータ交換のための通信オーバーヘッド、および非IID(非同一かつ独立に分布した)ローカルデータにもかかわらずモデルの収束を保証することに関連する複雑さが伴います。
この概念は、データソースの近くでデータを処理することに焦点を当てたエッジコンピューティングと大きく重複しており、また、データ漏洩に対する数学的な保証を追加するためにフェデレーテッドラーニングの上に重ねられることが多い技術である差分プライバシーとも重複しています。