這些以 Colab 為基礎 的教學課程會引導您透過實務範例瞭解主要的 TFF 概念和 API。「參考文件」可在 TFF 指南中找到。
聯邦學習入門
- 用於圖片分類的聯邦學習 介紹了聯邦學習 (FL) API 的主要部分,並示範如何使用 TFF 在聯邦 MNIST 類型的資料上模擬聯邦學習。
- 用於文字產生的聯邦學習 進一步示範如何使用 TFF 的 FL API 來精簡用於語言建模任務的序列化預先訓練模型。
- 調整學習的建議彙總 說明了
tff.learning
中的基本 FL 運算如何與提供穩健性、差分隱私、壓縮等功能的特殊彙總常式結合使用。 - 用於矩陣分解的聯邦重建 介紹了部分本機聯邦學習,其中某些用戶端參數永遠不會在伺服器上彙總。本教學課程示範如何使用聯邦學習 API 來訓練部分本機矩陣分解模型。
聯邦分析入門
- 私密高頻項目 說明如何使用
tff.analytics.heavy_hitters
來建構聯邦分析運算,以探索私密高頻項目。
編寫自訂聯邦運算
- 建構您自己的聯邦學習演算法 說明如何使用 TFF 核心 API 來實作聯邦學習演算法,並以聯邦平均為例。
- 組合學習演算法 說明如何使用 TFF Learning 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 來訓練非常大型的模型,其中每個用戶端裝置僅下載和更新模型的一小部分,方法是使用
tff.federated_select
和稀疏彙總。用於聯邦學習研究的 TFF:模型和更新壓縮 示範了如何在 TFF 中使用建構於 tensor_encoding API 之上的自訂彙總。
在 TFF 中使用差分隱私的聯邦學習 示範如何使用 TFF 來訓練具有使用者層級差分隱私的模型。
在 TFF 中支援 JAX 說明了如何在 TFF 中使用 JAX 運算,示範了 TFF 如何設計成能夠與其他前端和後端 ML 架構互通。