Questi tutorial basati su colab ti guidano attraverso i principali concetti e API TFF utilizzando esempi pratici. La documentazione di riferimento può essere trovata nelle guide TFF .
Introduzione all'apprendimento federato
- L'apprendimento federato per la classificazione delle immagini introduce le parti fondamentali dell'API Federated Learning (FL) e dimostra come utilizzare TFF per simulare l'apprendimento federato su dati simili a MNIST federati.
- L'apprendimento federato per la generazione di testo dimostra ulteriormente come utilizzare l'API FL di TFF per perfezionare un modello pre-addestrato serializzato per un'attività di modellazione del linguaggio.
- L'ottimizzazione delle aggregazioni consigliate per l'apprendimento mostra come i calcoli FL di base in
tff.learning
possono essere combinati con routine di aggregazione specializzate che offrono robustezza, privacy differenziale, compressione e altro ancora. - La ricostruzione federata per la fattorizzazione della matrice introduce l'apprendimento federato parzialmente locale, in cui alcuni parametri del client non vengono mai aggregati sul server. L'esercitazione illustra come utilizzare l'API di apprendimento federato per eseguire il training di un modello di fattorizzazione della matrice parzialmente locale.
Introduzione all'analisi federata
- Private Heavy Hitters mostra come utilizzare
tff.analytics.heavy_hitters
per creare un calcolo analitico federato per scoprire i private heavy hitters.
Scrittura di calcoli federati personalizzati
- Building Your Own Federated Learning Algorithm mostra come utilizzare le API TFF Core per implementare algoritmi di apprendimento federato, utilizzando Federated Averaging come esempio.
- Composing Learning Algorithms mostra come utilizzare l'API TFF Learning per implementare facilmente nuovi algoritmi di apprendimento federato, in particolare varianti di Federated Averaging.
- Algoritmo federato personalizzato con ottimizzatori TFF mostra come utilizzare
tff.learning.optimizers
per creare un processo iterativo personalizzato per la media federata. - Custom Federated Algorithms, Part 1: Introduction to the Federated Core e Part 2: Implementing Federated Averaging introducono i concetti chiave e le interfacce offerte dall'API Federated Core (API FC).
- L'implementazione delle aggregazioni personalizzate illustra i principi di progettazione alla base del modulo
tff.aggregators
e le migliori pratiche per l'implementazione dell'aggregazione personalizzata dei valori dai client al server.
Best practice di simulazione
La simulazione TFF con acceleratori (GPU) mostra come il runtime ad alte prestazioni di TFF può essere utilizzato con le GPU.
Lavorare con ClientData offre le migliori pratiche per l'integrazione dei set di dati di simulazione basati su ClientData di TFF nei calcoli TFF.
Tutorial intermedi e avanzati
La generazione di rumore casuale evidenzia alcune sottigliezze nell'uso della casualità nei calcoli decentralizzati e propone le migliori pratiche e raccomanda modelli.
Invio di dati diversi a client particolari Con tff.federated_select viene introdotto l'operatore
tff.federated_select
e viene fornito un semplice esempio di algoritmo federato personalizzato che invia dati diversi a client diversi.L'apprendimento federato di modelli di grandi dimensioni efficiente per il client tramite federated_select e l'aggregazione sparsa mostra come TFF può essere utilizzato per addestrare un modello molto grande in cui ogni dispositivo client scarica e aggiorna solo una piccola parte del modello, utilizzando
tff.federated_select
e l'aggregazione sparsa.TFF for Federated Learning Research: Model and Update Compression dimostra come le aggregazioni personalizzate basate sull'API tensor_encoding possono essere utilizzate in TFF.
L'apprendimento federato con privacy differenziale in TFF dimostra come utilizzare TFF per addestrare modelli con privacy differenziale a livello di utente.
Il supporto per JAX in TFF mostra come i calcoli JAX possono essere utilizzati in TFF, dimostrando come TFF è progettato per essere in grado di interagire con altri framework ML frontend e backend.