Imparare al limite
Una nuova tecnica consente ai modelli di intelligenza artificiale di apprendere continuamente da nuovi dati su dispositivi edge intelligenti come smartphone e sensori, riducendo i costi energetici e i rischi per la privacy.
 
Un modello di apprendimento automatico su un dispositivo perimetrale intelligente gli consente di adattarsi a nuovi dati e fare previsioni migliori. Ad esempio, l’addestramento di un modello su una tastiera intelligente potrebbe consentire alla tastiera di apprendere continuamente dalla scrittura dell’utente.
 
I microcontrollori, computer in miniatura in grado di eseguire semplici comandi, sono la base per miliardi di dispositivi connessi, dai dispositivi Internet of Things (IoT) ai sensori delle automobili. Ma i microcontrollori economici e a bassa potenza hanno una memoria estremamente limitata e nessun sistema operativo, il che rende difficile addestrare modelli di intelligenza artificiale su “dispositivi edge” che funzionano indipendentemente dalle risorse di elaborazione centrale.

L’addestramento di un modello di apprendimento automatico su un dispositivo perimetrale intelligente gli consente di adattarsi a nuovi dati e fare previsioni migliori. Ad esempio, l’addestramento di un modello su una tastiera intelligente potrebbe consentire alla tastiera di apprendere continuamente dalla scrittura dell’utente. Tuttavia, il processo di addestramento richiede così tanta memoria che in genere viene eseguito utilizzando potenti computer in un data center, prima che il modello venga distribuito su un dispositivo. Questo è più costoso e solleva problemi di privacy poiché i dati degli utenti devono essere inviati a un server centrale.

Per affrontare questo problema, i ricercatori del MIT e del MIT-IBM Watson AI Lab hanno sviluppato una nuova tecnica che consente l’addestramento sul dispositivo utilizzando meno di un quarto di megabyte di memoria. Altre soluzioni di formazione progettate per i dispositivi connessi possono utilizzare più di 500 megabyte di memoria, superando di gran lunga la capacità di 256 kilobyte della maggior parte dei microcontrollori (ci sono 1.024 kilobyte in un megabyte).

Gli algoritmi e la struttura intelligenti sviluppati dai ricercatori riducono la quantità di calcolo richiesta per addestrare un modello, il che rende il processo più veloce e più efficiente in termini di memoria. La loro tecnica può essere utilizzata per addestrare un modello di apprendimento automatico su un microcontrollore in pochi minuti.

Questa tecnica preserva anche la privacy conservando i dati sul dispositivo, il che potrebbe essere particolarmente utile quando i dati sono sensibili, come nelle applicazioni mediche. Potrebbe inoltre consentire la personalizzazione di un modello in base alle esigenze degli utenti. Inoltre, il framework preserva o migliora l’accuratezza del modello rispetto ad altri approcci di formazione.

“Il nostro studio consente ai dispositivi IoT non solo di eseguire l’inferenza, ma anche di aggiornare continuamente i modelli di intelligenza artificiale ai dati appena raccolti, aprendo la strada all’apprendimento permanente sul dispositivo. Il basso utilizzo delle risorse rende il deep learning più accessibile e può avere una portata più ampia, soprattutto per i dispositivi edge a bassa potenza”, afferma Song Han, professore associato presso il Dipartimento di ingegneria elettrica e informatica (EECS), membro del MIT -IBM Watson AI Lab e autore senior del documento che descrive questa innovazione.

Insieme a Han nel documento ci sono gli autori co-lead e gli studenti di dottorato EECS Ji Lin e Ligeng Zhu, così come i postdoc del MIT Wei-Ming Chen e Wei-Chen Wang, e Chuang Gan, uno dei principali membri del personale di ricerca del MIT-IBM Watson Laboratorio di intelligenza artificiale. La ricerca sarà presentata alla Conferenza sui Sistemi di Elaborazione dell’Informazione Neurale.

Han e il suo team hanno precedentemente affrontato la memoria e i colli di bottiglia computazionali che esistono quando si tenta di eseguire modelli di apprendimento automatico su piccoli dispositivi edge, come parte della loro iniziativa TinyML .

Allenamento leggero

Un tipo comune di modello di apprendimento automatico è noto come rete neurale. Liberamente basati sul cervello umano, questi modelli contengono strati di nodi interconnessi, o neuroni, che elaborano i dati per completare un’attività, come riconoscere le persone nelle foto. Il modello deve essere prima addestrato, il che implica mostrargli milioni di esempi in modo che possa apprendere il compito. Man mano che apprende, il modello aumenta o diminuisce la forza delle connessioni tra i neuroni, note come pesi.

Il modello può subire centinaia di aggiornamenti man mano che apprende e le attivazioni intermedie devono essere memorizzate durante ogni round. In una rete neurale, l’attivazione è il risultato intermedio dello strato intermedio. Poiché potrebbero esserci milioni di pesi e attivazioni, l’allenamento di un modello richiede molta più memoria rispetto all’esecuzione di un modello pre-addestrato, spiega Han.

Han e i suoi collaboratori hanno utilizzato due soluzioni algoritmiche per rendere il processo di addestramento più efficiente e meno dispendioso in termini di memoria. Il primo, noto come aggiornamento sparso, utilizza un algoritmo che identifica i pesi più importanti da aggiornare ad ogni ciclo di allenamento. L’algoritmo inizia a congelare i pesi uno alla volta finché non vede la precisione scendere a una soglia impostata, quindi si ferma. I pesi rimanenti vengono aggiornati, mentre le attivazioni corrispondenti ai pesi congelati non necessitano di essere salvate in memoria.

“Aggiornare l’intero modello è molto costoso perché ci sono molte attivazioni, quindi le persone tendono ad aggiornare solo l’ultimo livello, ma come puoi immaginare, questo danneggia la precisione. Per il nostro metodo, aggiorniamo selettivamente quei pesi importanti e ci assicuriamo che l’accuratezza sia completamente preservata”, afferma Han.

La loro seconda soluzione prevede l’allenamento quantizzato e la semplificazione dei pesi, che in genere sono 32 bit. Un algoritmo arrotonda i pesi in modo che siano solo otto bit, attraverso un processo noto come quantizzazione, che riduce la quantità di memoria sia per l’allenamento che per l’inferenza. L’inferenza è il processo di applicazione di un modello a un set di dati e di generazione di una previsione. Quindi l’algoritmo applica una tecnica chiamata quantization-aware scaling (QAS), che agisce come un moltiplicatore per regolare il rapporto tra peso e gradiente, per evitare qualsiasi calo di precisione che potrebbe derivare dall’allenamento quantizzato.

I ricercatori hanno sviluppato un sistema, chiamato minuscolo motore di addestramento, in grado di eseguire queste innovazioni algoritmiche su un semplice microcontrollore privo di un sistema operativo. Questo sistema modifica l’ordine dei passaggi nel processo di formazione in modo che venga completato più lavoro nella fase di compilazione, prima che il modello venga distribuito sul dispositivo perimetrale.

“Spingiamo gran parte del calcolo, come la differenziazione automatica e l’ottimizzazione dei grafici, per compilare il tempo. Inoltre, eliminiamo in modo aggressivo gli operatori ridondanti per supportare gli aggiornamenti sparsi. Una volta in fase di esecuzione, abbiamo molto meno carico di lavoro da fare sul dispositivo”, spiega Han.

Un’accelerazione riuscita

La loro ottimizzazione richiedeva solo 157 kilobyte di memoria per addestrare un modello di apprendimento automatico su un microcontrollore, mentre altre tecniche progettate per l’addestramento leggero avrebbero comunque bisogno tra 300 e 600 megabyte.

Hanno testato la loro struttura addestrando un modello di visione artificiale per rilevare le persone nelle immagini. Dopo soli 10 minuti di formazione, ha imparato a completare l’attività con successo. Il loro metodo è stato in grado di addestrare un modello più di 20 volte più velocemente rispetto ad altri approcci.

Ora che hanno dimostrato il successo di queste tecniche per i modelli di visione artificiale, i ricercatori vogliono applicarle a modelli linguistici e diversi tipi di dati, come i dati di serie temporali. Allo stesso tempo, vogliono utilizzare ciò che hanno imparato per ridurre le dimensioni di modelli più grandi senza sacrificare l’accuratezza, il che potrebbe aiutare a ridurre l’impronta di carbonio della formazione di modelli di apprendimento automatico su larga scala.

“L’adattamento/addestramento del modello AI su un dispositivo, in particolare sui controller incorporati, è una sfida aperta. Questa ricerca del MIT non solo ha dimostrato con successo le capacità, ma ha anche aperto nuove possibilità per la personalizzazione dei dispositivi che preservano la privacy in tempo reale”, afferma Nilesh Jain, ingegnere principale di Intel che non è stato coinvolto in questo lavoro. “Le innovazioni nella pubblicazione hanno un’applicabilità più ampia e daranno il via a nuove ricerche di co-progettazione di sistemi e algoritmi”.

“L’apprendimento sul dispositivo è il prossimo grande progresso verso il quale stiamo lavorando per l’edge intelligente connesso. Il gruppo del professor Song Han ha mostrato grandi progressi nella dimostrazione dell’efficacia dei dispositivi edge per la formazione”, aggiunge Jilei Hou, vicepresidente e capo della ricerca sull’intelligenza artificiale presso Qualcomm. “Qualcomm ha assegnato al suo team una borsa di studio per l’innovazione per ulteriori innovazioni e progressi in quest’area”.

Questo lavoro è finanziato dalla National Science Foundation, dal MIT-IBM Watson AI Lab, dal MIT AI Hardware Program, da Amazon, Intel, Qualcomm, Ford Motor Company e Google.

Di ihal