L’apprendimento federato è stato introdotto per apprendere in modo collaborativo un modello di previsione condiviso mantenendo tutti i dati di allenamento sul dispositivo. Ciò ha consentito agli sviluppatori di machine learning di creare pipeline che non richiederebbero l’archiviazione dei dati nel cloud. I principali driver dietro FL sono la privacy e la riservatezza preoccupazioni , i requisiti di conformità alle normative, così come la praticità di spostamento dei dati a un apprendimento centrale posizione .

Ecco alcune librerie (principalmente di OpenMined) per sviluppatori che possono aiutare a costruire sistemi di apprendimento federati per i dispositivi periferici.

syft.js


La libreria syft.js consente l’addestramento e l’inferenza di un modello ML all’interno di un browser web. Gli sviluppatori possono scrivere il modello e il piano di allenamento in PyTorch e PySyft normali e syft.js si occupa di tutto il resto.

Threepio
Threepio semplifica la traduzione di comandi tra framework di machine learning come PyTorch, Tensorflow.js e TensorFlow Python. Agisce come componente principale in PySyft e syft.js.

Utilizzando questa libreria è possibile convertire i comandi da un framework di apprendimento profondo a un altro. Threepio lo fa raschiando la documentazione di framework come PyTorch & TensorFlow e quindi mappando i comandi che identifica come equivalenti in tutti gli altri framework. Threepio è attualmente disponibile come libreria in Python e Javascript.

SwiftSyft
SwiftSyft semplifica l’addestramento e l’inferenza dei modelli PySyft su dispositivi iOS. Ciò consente di utilizzare i dati di allenamento situati direttamente sul dispositivo stesso, evitando la necessità di inviare i dati di un utente a un server centrale.

PySyft FL Worker
Questo è più un lavoratore all’interno di una biblioteca. Il team di OpenMined ha aggiunto una classe di lavoratori federali di apprendimento all’interno di PySyft per prendere il suo posto.

KotlinSyft
KotlinSyft è una libreria per eseguire l’apprendimento federato su dispositivi Android. KotlinSyft abilita l’addestramento e l’inferenza dei modelli PySyft su dispositivi Android. Ciò consente di utilizzare i dati di allenamento situati direttamente sul dispositivo stesso, evitando la necessità di inviare i dati di un utente a un server centrale.

IBM Federated Learning
IBM federated learning è un framework Python per l’apprendimento federato (FL) in un ambiente aziendale che fornisce un tessuto di base per FL, al quale è possibile aggiungere funzionalità avanzate. Non dipende da alcun quadro di apprendimento automatico specifico e supporta diverse topologie di apprendimento, ad esempio un aggregatore condiviso e protocolli.

I punti chiave di progettazione dell’apprendimento federato IBM sono la facilità d’uso per i professionisti dell’apprendimento automatico, la configurabilità per diversi ambienti computazionali – dai data center ai dispositivi periferici – e l’estensibilità. L’apprendimento federato IBM viene fornito con un’ampia libreria di algoritmi di fusione sia per DNN che per approcci ML classici, costituiti da implementazioni di algoritmi di fusione comuni e pubblicati, nonché di nuovi.

Federated Core (FC)
Federated Core (FC) come ambiente può essere utilizzato per sviluppare la logica del programma che combina il codice TensorFlow con la media federata: calcolare somme distribuite, medie e altri tipi di aggregazioni distribuite su un set di dispositivi client.

Federated Core di TFF offre a ricercatori e professionisti un controllo esplicito sugli schemi specifici di comunicazione distribuita offrendo al contempo un linguaggio flessibile ed estensibile per esprimere algoritmi di flusso di dati distribuiti, piuttosto che un insieme concreto di capacità di formazione distribuite implementate.


FATE-Board
FATE-Board offre una suite di strumenti di visualizzazione per la modellazione FL progettati per comprendere efficacemente i modelli. FATE-Board fornisce un modo visivo per sondare i modelli da cui è possibile rimodellare e migliorare i modelli in modo efficiente.

Kube FATE
FATE (Federated AI Technology Enabler) è un progetto open source avviato dal dipartimento AI di Webank per fornire un framework di elaborazione sicuro a supporto dell’ecosistema AI federato.

KubeFATE consente l’esecuzione di processi di apprendimento federati in ambienti cloud pubblici, privati ​​e ibridi. KubeFATE supporta l’implementazione di FATE tramite Docker Compose e Kubernetes.

FATE Cloud
FATE Cloud è un’infrastruttura per la creazione e la gestione di una rete di collaborazione di dati federati. Consente a FATE di essere gestito in multi-cloud, formando una rete di dati federata sicura, progettata per fornire soluzioni di cooperazione dati sicure e conformi all’interno o all’interno delle organizzazioni e per creare un servizio cloud di apprendimento federato di livello industriale.

FATE-Serving
FATE-Serving è un sistema di servizio industrializzato ad alte prestazioni per modelli di apprendimento federati, progettato per ambienti di produzione.

FATE-Serving offre quanto segue:

Algoritmi di apprendimento federato online ad alte prestazioni
Pipeline di inferenze online sull’apprendimento federato
Modelli di apprendimento federati a caricamento dinamico
Può servire più modelli o più versioni dello stesso modello
Inferenza in tempo reale utilizzando modelli di apprendimento federati
Supportare adattatori di pre-elaborazione, post-elaborazione e accesso ai dati per l’implementazione della produzione

Di ihal