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