Path: blob/master/site/ja/federated/tutorials/tutorials_overview.md
25118 views
TensorFlow Federated チュートリアル
これらの colab ベースのチュートリアルでは、実際の例を使用して、TFF の主な概念と API について説明します。詳細についてはTFF ガイドを参照してください。
注意: TFF では現在 Python 3.9 以降が必要ですが、Google Colaboratoryのホストランタイムは現在 Python 3.7 を使用しているため、これらのノートブックを実行するには、カスタムローカルランタイムを使用する必要があります。
連合学習を始める
画像分類の連合学習: 連合学習(FL)API の主要部分を紹介し、TFF を使用して、MNIST のような連合データで連合学習をシミュレーションする方法を実演します。
テキスト生成の連合学習: TFF の FL API を使用して、言語モデリングタスク用にシリアル化されたトレーニング済みのモデルを洗練する方法を実演します。
学習に推奨される集計の調整:
tff.learning
の基本的な FL 計算を、堅牢性、差分プライバシー、圧縮などを提供する特殊な集計ルーチンと組み合わせる方法を実演します。行列因数分解のための連合再構成: 一部のクライアントパラメータがサーバーで集約されない、部分的にローカルな連合学習を紹介します。このチュートリアルでは、連合学習 API を使用して、部分的にローカルな行列因数分解モデルをトレーニングする方法を実演します。
連合分析を始める
プライベートヘビーヒッター:
tff.analytics.heavy_hitters
を使用して、連合分析計算を構築し、プライベートヘビーヒッターを検出する方法を実演します。
カスタム連合計算の記述
独自の連合学習アルゴリズムの構築: 例として、連合学習アルゴリズムを使用して、TFF Core API を使用して連合学習アルゴリズムを実装する方法を実演します。
学習アルゴリズムの作成: TFF Learning API を使用して、新しい連合学習アルゴリズム、特に連合平均のバリアントを簡単に実装する方法を実演します。
TFF オプティマイザーを使用したカスタム連合アルゴリズム:
tff.learning.optimizers
を使用して、連合平均化のカスタム反復プロセスを構築する方法を実演します。カスタム連合アルゴリズム、パート 1: 連合コアの概要 および パート 2: 連合平均化の実装: Federated Core API(FC API)が提供する主要な概念とインターフェースを紹介します。
カスタム集計の実装:
tff.aggregators
モジュールのデザイン原理とクライアントからサーバーへの値のカスタム集約を実装するためのベストプラクティスについて説明します。
シミュレーションのベストプラクティス
アクセラレータを使用した TFF シミュレーション(GPU): TFF の高性能ランタイムを GPU で使用する方法を実演します。
ClientData の使用: TFF の ClientData ベースのシミュレーションデータセットを TFF 計算に統合するためのベストプラクティスを示します。
中級および上級チュートリアル
ランダムノイズの生成: 分散型計算でランダム性を使用する際のいくつかの詳細な点を指摘し、ベストプラクティスと推薦されるパターンを提案します。
tff.federated_select を使用して特定のクライアントに異なるデータを送信する:
tff.federated_select
演算子を紹介し、さまざまなデータをさまざまなクライアントに送信するカスタム連合アルゴリズムの簡単な例を実演します。federated_select とスパースアグリゲーションによるクライアント効率の高い大規模モデル連合学習: TFF を使用して非常に大規模なモデルをトレーニングする方法を示します。各クライアントデバイスは、
tff.federated_select
とスパースアグリゲーションを使用して、モデルの一部のみをダウンロードおよび更新します。連合学習研究のための TFF: モデルと更新の圧縮: tensor_encoding API に基づいて構築されたカスタム集計を TFF で使用する方法を示します。
TFF での差分プライバシーによる連合学習: TFF を使用して、ユーザーレベルの差分プライバシーを使用してモデルをトレーニングする方法を示します。
TFF での JAX のサポート: TFF で JAX 計算を使用する方法を示し、TFF が他のフロントエンドおよびバックエンドの ML フレームワークと相互運用できるようにどのように設計されているかを示します。