I ricercatori 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. Credito:Ji Lin et al.
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 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 inferenze, 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 l'apprendimento profondo più accessibile e può avere una portata più ampia, in particolare per 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.
Ad unirsi a Han nel documento ci sono gli autori co-lead e il dottorato di ricerca EECS. gli studenti 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 dello staff di ricerca presso il MIT-IBM Watson AI Lab. La ricerca sarà presentata alla Conferenza sui Sistemi di Elaborazione dell'Informazione Neurale.
Han e il suo team avevano già affrontato la memoria e i colli di bottiglia computazionali che esistono quando si tenta di eseguire modelli di apprendimento automatico su dispositivi perimetrali minuscoli, 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 l'accuratezza è 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 addestramento in modo da completare 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", Han spiega.
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. + Esplora ulteriormente
Questa storia è stata ripubblicata per gentile concessione di MIT News (web.mit.edu/newsoffice/), un popolare sito che copre notizie sulla ricerca, l'innovazione e l'insegnamento del MIT.