这些 基于 Colab 的教程将引导您使用实际示例了解主要的 TFF 概念和 API。参考文档可以在 TFF 指南 中找到。
联合学习入门
- 用于图像分类的联合学习 介绍了联合学习 (FL) API 的关键部分,并演示了如何使用 TFF 在联合 MNIST 类数据上模拟联合学习。
- 用于文本生成的联合学习 进一步演示了如何使用 TFF 的 FL API 来改进用于语言建模任务的序列化预训练模型。
- 调整推荐的聚合以进行学习 展示了如何将
tff.learning
中的基本 FL 计算与提供鲁棒性、差分隐私、压缩等功能的专用聚合例程相结合。 - 用于矩阵分解的联合重建 介绍了部分本地联合学习,其中一些客户端参数永远不会在服务器上聚合。本教程演示了如何使用联合学习 API 来训练部分本地矩阵分解模型。
联合分析入门
- 私有热门项目 展示了如何使用
tff.analytics.heavy_hitters
来构建联合分析计算以发现私有热门项目。
编写自定义联合计算
- 构建您自己的联合学习算法 展示了如何使用 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
运算符,并提供了一个将不同数据发送到不同客户端的自定义联合算法的简单示例。通过联合选择和稀疏聚合实现客户端高效的大模型联合学习 展示了如何使用 TFF 来训练一个非常大的模型,其中每个客户端设备只下载和更新模型的一小部分,使用
tff.federated_select
和稀疏聚合。用于联合学习研究的 TFF:模型和更新压缩 演示了如何将基于 tensor_encoding API 的自定义聚合用于 TFF。
TFF 中使用差分隐私的联邦学习 演示了如何使用 TFF 训练具有用户级差分隐私的模型。
TFF 中对 JAX 的支持 展示了如何在 TFF 中使用 JAX 计算,演示了 TFF 如何设计为能够与其他前端和后端 ML 框架互操作。