これらのcolab ベースのチュートリアルでは、実際の例を使用して、主要な TFF の概念と API について順を追って説明します。リファレンス ドキュメントは、 TFF ガイドにあります。
フェデレーテッド ラーニングの概要
- 画像分類のための Federated Learningでは、Federated Learning (FL) API の主要部分を紹介し、TFF を使用して連合 MNIST のようなデータで連合学習をシミュレートする方法を示します。
- テキスト生成のための Federated Learning は、 TFF の FL API を使用して、言語モデリング タスク用にシリアル化された事前トレーニング済みモデルを改良する方法をさらに示します。
- 学習用に推奨される集計の調整では、
tff.learning
の基本的な FL 計算を、堅牢性、差分プライバシー、圧縮などを提供する特殊な集計ルーチンと組み合わせる方法を示します。 - Matrix Factorization の Federated Reconstruction は、一部のクライアント パラメーターがサーバーに集約されない、部分的にローカルなフェデレーション ラーニングを導入します。このチュートリアルでは、Federated Learning API を使用して、部分的にローカルな行列分解モデルをトレーニングする方法を示します。
連合分析の開始
- Private Heavy Hitters では、
tff.analytics.heavy_hitters
使用して連携分析計算を構築し、プライベート ヘビー ヒッターを発見する方法を示します。
カスタム連合計算の作成
- Building Your Own Federated Learning Algorithm では、フェデレーテッド アベレージングを例として、TFF コア API を使用してフェデレーテッド ラーニング アルゴリズムを実装する方法を示します。
- 学習アルゴリズムの構成では、TFF 学習 API を使用して、新しい連合学習アルゴリズム、特に連合平均化のバリアントを簡単に実装する方法を示します。
- カスタム フェデレーテッド アルゴリズムと TFF オプティマイザー では、
tff.learning.optimizers
を使用してフェデレーテッド アベレージングのカスタム反復プロセスを構築する方法を示します。 - カスタム フェデレーテッド アルゴリズム、パート 1: フェデレーテッド コアの概要およびパート 2: フェデレーテッド アベレージングの実装では、フェデレーテッド コア API (FC API) によって提供される主要な概念とインターフェイスを紹介します。
- カスタム集計の実装では、
tff.aggregators
モジュールの背後にある設計原則と、クライアントからサーバーへの値のカスタム集計を実装するためのベスト プラクティスについて説明します。
シミュレーションのベスト プラクティス
アクセラレータ (GPU) を使用した TFF シミュレーションは、 TFF の高性能ランタイムを GPU で使用する方法を示しています。
ClientData を操作すると、 TFF のClientDataベースのシミュレーション データセットを TFF 計算に統合するためのベスト プラクティスが得られます。
中級および上級のチュートリアル
ランダム ノイズ生成では、分散型計算でランダム性を使用する際の微妙な点を指摘し、ベスト プラクティスと推奨パターンを提案します。
tff.federated_select を使用して特定のクライアントに異なるデータを送信する では、
tff.federated_select
演算子を紹介し、異なるデータを異なるクライアントに送信するカスタム連合アルゴリズムの簡単な例を示します。federated_select とスパース アグリゲーションによるクライアント効率の大規模モデル フェデレーテッド ラーニングは、
tff.federated_select
とスパース アグリゲーションを使用して、各クライアント デバイスがモデルの小さな部分のみをダウンロードして更新する非常に大きなモデルをトレーニングするために TFF を使用する方法を示しています。TFF for Federated Learning Research: Model and Update Compression は、 tensor_encoding APIに基づいて構築されたカスタム集計を TFF で使用する方法を示しています。
TFF の差分プライバシーを使用したフェデレーテッド ラーニングでは、 TFF を使用して、ユーザー レベルの差分プライバシーを使用してモデルをトレーニングする方法を示します。
TFF での JAX のサポートは、 TFF でJAX計算を使用する方法を示し、TFF が他のフロントエンドおよびバックエンド ML フレームワークと相互運用できるように設計されていることを示しています。