Federated learning per le applicazioni di intelligenza artificiale di consumo
Oggi abbiamo la possibilità di trasformare i modelli di assistenza sanitaria per tutti i bambini attraverso l’intelligenza artificiale, compresi quelli che non si trovano in zone geograficamente o socio-economicamente fortunate . Come abbiamo visto, le tradizionali architetture centralizzate non sono adatte per l’addestramento e lo sviluppo di applicazioni accurate che funzionino in tempo reale e che tutelino la privacy, per la cardiologia, l’ortopedia, la neurologia, l’oncologia o qualsiasi altra specialità. Questo problema è stato affrontato anche nello sviluppo di applicazioni di intelligenza artificiale per i consumatori, per la necessità di avere la massima precisione pur mantenendo la tutela della privacy.
Una delle prime innovazioni dell’applicazione Siri sull’iPhone è stata la personalizzazione della frase di attivazione “Ehi Siri” che doveva essere sviluppata per rispondere solo al proprietario del telefono, ma non ad altri. Si potrebbe pensare che Apple abbia avuto bisogno di raccogliere moltissimi dati audio individuali per personalizzare la risposta di Siri e per fare in modo che rispondesse a una singola persona, ma sorprendentemente non è stato così.
Se Apple avesse utilizzato un approccio di architettura centralizzata tradizionale, la richiesta vocale Siri dei singoli individui avrebbe dovuto essere inviata al cloud centrale di Apple, dove gli ingegneri avrebbero applicato un modello di rete neurale simile a quello utilizzato per il concorso ImageNet di Stanford del 2010, che pure utilizzava un’architettura centralizzata per addestrare un’applicazione di riconoscimento delle immagini. Ciò avrebbe posto due problemi importanti. Innanzitutto, la raccolta di campioni vocali individuali nel cloud Apple non avrebbe garantito la privacy. In secondo luogo, nessuno vorrebbe pagare per la larghezza di banda di rete necessaria per inviare i comandi vocali al cloud Apple ogni volta che si desidera che Siri risponda a una domanda, vero?
Per risolvere questi problemi, Apple ha utilizzato una nuova tecnica chiamata federated learning per addestrare e migliorare la precisione di Siri. Introdotto per la prima volta da Google nel 2017, il federated learning è un metodo di apprendimento automatico che preserva la privacy e che ha consentito ad Apple di addestrare singole copie di un modello di riconoscimento della voce su tutti i dispositivi degli utenti utilizzando solo dati audio disponibili localmente (ovvero su ogni singolo dispositivo). Invece di trasmettere i dati originali (in questo caso, in formato audio), ogni iPhone invia semplicemente il modello di rete neurale aggiornato (ma non l’audio originale) a un server di aggregazione dove può essere combinato in un modello complessivo. In questo modo, l’audio delle richieste individuali di Siri non lascia mai l’iPhone o l’iPad personale, mentre Siri è comunque in grado di migliorare continuamente la sua precisione.
Come fa Siri a fare tutto questo?
Il federated learning sfrutta un’architettura decentralizzata, che consente all’apprendimento di Siri di svolgersi su ciascuno dei milioni di iPhone, in parallelo. Allenandosi solo con una voce sul telefono personale, Siri è in grado di calcolare i pesi della rete neurale. Questi pesi vengono quindi inviati a un server di aggregazione, dove i risultati di ciascuna di queste sessioni di addestramento parallelo vengono combinati per creare un nuovo modello complessivo. Ogni iterazione di questo processo, addestramento parallelo sui singoli telefoni, aggregazione degli aggiornamenti su un server centralizzato e distribuzione dei nuovi parametri aggiornati e resi più precisi è chiamata ciclo di federated learning.
Il federated learning garantisce la privacy perchè invece di condividere i dati grezzi, vengono condivisi solo i pesi della rete neurale. Inoltre, è una soluzione efficiente per l’uso della rete perché vengono condivisi solo i pesi della rete neurale, circa 4 byte di dati, e non l’intero audio. Per fare un confronto, una clip audio di 1 minuto ha una dimensione di circa 1.000.000 di byte.
Dati questi vantaggi, ci si potrebbe domandare perché non passano tutti dall’addestramento centralizzato a quello decentralizzato. Nel caso delle applicazioni per i consumatori, questo accade perché il federated learning decentralizzato può porre alcuni problemi specifici. In particolare, è importante sottolineare tre considerazioni:
1. Connessioni lente
Le reti federate, fino ad oggi, sono state costituite da milioni di singoli dispositivi (come smartphone o tablet). Questo numero può essere enorme, imponendo pesanti richieste di connessione sulla rete. Di conseguenza, in questi casi la comunicazione è molto più lenta delle comunicazioni tra server in un’architettura centralizzata tradizionale. Per affrontare questo problema, è necessario sviluppare metodi di comunicazione efficienti che inviino ad elevata frequenza piccoli messaggi o aggiornamenti del modello locale come parte del processo di addestramento, piuttosto che inviare un grande set di dati per intero attraverso la rete.
2. Complessità della gestione energetica sui dispositivi
A differenza dell’addestramento in un’architettura centralizzata, nelle applicazioni di intelligenza artificiale per consumatori che utilizzano il federated learning, bisogna assicurarsi che il processo non consumi troppa energia sui singoli dispositivi (telefono o tablet). Inoltre, con una simile soluzione, bisogna tenere conto del fatto che i consumatori possono spegnere i propri dispositivi.
3. Eterogeneità dei dispositivi
Le capacità di archiviazione, di calcolo e comunicazione di ciascun dispositivo nelle reti federate possono differire a causa della variabilità dell’hardware (CPU, memoria), della connettività di rete (3G, 4G, 5G, WiFi) e dell’alimentazione (livello della batteria). I vincoli attivi su ciascun telefono o tablet in genere comportano che solo una piccola parte dei dispositivi sia attiva contemporaneamente. Ad esempio, solo centinaia di telefoni o tablet in un dato momento possono essere attivi in una rete di milioni di dispositivi. I dispositivi possono anche essere non affidabili e non è raro che un dispositivo attivo venga inaspettatamente escluso durante una determinata iterazione. Queste caratteristiche rendono i problemi tecnici come la latenza e la tolleranza agli errori significativamente più prevalenti rispetto alla tipica architettura centralizzata.
Nonostante i problemi di cui sopra, il federated learning sta comunque generando un notevole entusiasmo per quanto riguarda la sua capacità di addestramento degli algoritmi tutelando la privacy e preservando la disponibilità di rete per le applicazioni di intelligenza artificiale dedicate ai consumatori.
Nel prossimo post: in che modo questo entusiasmo e le caratteristiche di tutela della privacy e della rete del federated learning possono essere sfruttati e applicati all’addestramento dell’intelligenza artificiale nelle applicazioni mediche? Abbiamo bisogno di un laboratorio di federated learning per la pediatria.
Special thanks to Alberto Tozzi, Head of Predictive and Preventive Medicine Research Unit at Ospedale Pediatrico Bambino Gesù for the translation to Italian. Also, thanks for extensive editing to the English version by Laura Jana, Pediatrician, Social Entrepreneur & Connector of Dots; Leanne West, Chief Engineer of Pediatric Technology at Georgia Tech.