Esses tutoriais baseados em colab orientam você pelos principais conceitos e APIs do TFF usando exemplos práticos. A documentação de referência pode ser encontrada nos guias TFF .
Introdução ao aprendizado federado
- O Federated Learning para classificação de imagens apresenta as principais partes da API do Federated Learning (FL) e demonstra como usar o TFF para simular o aprendizado federado em dados federados semelhantes a MNIST.
- O Federated Learning para geração de texto demonstra ainda como usar a API FL do TFF para refinar um modelo pré-treinado serializado para uma tarefa de modelagem de linguagem.
- Ajustar agregações recomendadas para aprendizado mostra como os cálculos básicos de FL no
tff.learning
podem ser combinados com rotinas de agregação especializadas que oferecem robustez, privacidade diferencial, compactação e muito mais. - A reconstrução federada para fatoração de matriz introduz o aprendizado federado parcialmente local, onde alguns parâmetros do cliente nunca são agregados no servidor. O tutorial demonstra como usar a Federated Learning API para treinar um modelo de fatoração de matriz parcialmente local.
Introdução à análise federada
- Private Heavy Hitters mostra como usar
tff.analytics.heavy_hitters
para construir uma computação de análise federada para descobrir pesos pesados privados.
Escrevendo cálculos federados personalizados
- Construindo seu próprio algoritmo de aprendizado federado mostra como usar as APIs TFF Core para implementar algoritmos de aprendizado federado, usando a média federada como exemplo.
- A composição de algoritmos de aprendizado mostra como usar a API de aprendizado TFF para implementar facilmente novos algoritmos de aprendizado federado, especialmente variantes de média federada.
- Algoritmo federado personalizado com otimizadores de TFF mostra como usar
tff.learning.optimizers
para criar um processo iterativo personalizado para média federada. - Algoritmos Federados Personalizados, Parte 1: Introdução ao Federated Core e Parte 2: Implementando o Federated Averaging apresentam os principais conceitos e interfaces oferecidos pelo Federated Core API (FC API).
- A implementação de agregações personalizadas explica os princípios de design por trás do módulo
tff.aggregators
e as melhores práticas para implementar a agregação personalizada de valores de clientes para servidor.
Práticas recomendadas de simulação
Simulações de alto desempenho com Kubernetes descrevem como configurar e configurar um tempo de execução TFF de alto desempenho em execução no Kubernetes.
A simulação de TFF com aceleradores (GPU) mostra como o tempo de execução de alto desempenho do TFF pode ser usado com GPUs.
Trabalhar com ClientData oferece as melhores práticas para integrar os conjuntos de dados de simulação baseados em ClientData do TFF em cálculos de TFF.
Tutoriais intermediários e avançados
A geração de ruído aleatório aponta algumas sutilezas com o uso de aleatoriedade em cálculos descentralizados e propõe melhores práticas e padrões recomendados.
Enviando dados diferentes para clientes específicos com tff.federated_select apresenta o operador
tff.federated_select
e fornece um exemplo simples de um algoritmo federado personalizado que envia dados diferentes para clientes diferentes.O aprendizado federado de modelo grande com eficiência de cliente por meio de federated_select e agregação esparsa mostra como o TFF pode ser usado para treinar um modelo muito grande em que cada dispositivo cliente baixa e atualiza apenas uma pequena parte do modelo, usando
tff.federated_select
e agregação esparsa.TFF for Federated Learning Research: Model and Update Compression demonstra como agregações personalizadas criadas na API tensor_encoding podem ser usadas no TFF.
Aprendizado federado com privacidade diferencial no TFF demonstra como usar o TFF para treinar modelos com privacidade diferencial no nível do usuário.
Carregando dados remotos com TFF descreve como incorporar lógica personalizada no tempo de execução do TFF para carregar dados em máquinas remotas.
O suporte para JAX no TFF mostra como os cálculos JAX podem ser usados no TFF, demonstrando como o TFF foi projetado para poder interoperar com outras estruturas de ML de front-end e back-end.