Le Voci dell’AI – Episodio 62: TinyML, sistemi di AI… minuscoli

Ciao a tutti, sono Vincenzo Lomonaco ricercatore all’Università di Pisa.

Nella puntata di oggi parliamo di un tema piuttosto in controtendenza, ma utilissimo nel contesto dell’intelligenza artificiale. Parliamo di TinyML o Machine Learning miniaturizzato.

È possibile sviluppare soluzioni di AI e di apprendimento automatico minuscole? Qual è lo stato dell’arte in questa direzione?

Scopriamolo insieme in questa puntata di Le Voci dell’AI, che rappresenta un’innovativa controtendenza nel panorama dell’intelligenza artificiale, rispondendo alla sfida di creare modelli di machine learning ottimizzati per dispositivi a bassa potenza come microcontrollori e sensori integrati.

Mentre il campo dell’AI tradizionale si orienta verso lo sviluppo di modelli fondazionali sempre più grandi e complessi, che richiedono enormi risorse computazionali, come abbiamo visto più volte nelle ultime puntate di Le Voci dell’AI, e notevolissime quantità di energia, TinyML si concentra sull’efficienza e sulla sostenibilità.

TinyML è una branca di ricerca e sviluppo che mira a portare capacità avanzate di machine learning ai dispositivi periferici, spesso chiamati edge devices, consentendo loro di eseguire compiti intelligenti in loco senza la necessità di connettersi a potenti server, macchine, computer remoti.

Questo approccio offre numerosi vantaggi, tra cui una riduzione della latenza di comunicazione, un miglioramento della privacy –  non c’è bisogno di mandare dati in Internet attraverso Internet o altri computer –  e una significativa diminuzione del consumo energetico.

Le applicazioni di TinyML spaziano dal monitoraggio industriale dell’industria 4.0, per esempio, alla manutenzione predittiva, al monitoraggio ambientale, alla salute digitale e ai dispositivi indossabil.

TinyML rappresenta dunque uno sforzo importante nella realizzazione tecnologica di quella che viene chiamata anche intelligenza artificiale, pervasiva nei contesti e negli apparati che utilizziamo ogni giorno, eliminando le frizioni che sussistono nell’uso di strumenti digitali intelligenti, si pensi ai telefoni cellulari e computers che ci isolano dalla realtà, per esempio, e portando l’intelligenza direttamente all’interno di ogni oggetto della nostra quotidianità.

Questa disciplina può essere intesa come una tecnologia abilitante per l’Internet delle cose, Internet of Things, che vede l’interconnessione degli oggetti intorno a noi in modo decentralizzato, autonomo ed efficiente, impensabile da ottenere senza che essi diventino realmente intelligenti.

Gli esperti di TinyML si concentrano su tecniche di compressione e ottimizzazione dei modelli, come abbiamo visto anche in una delle precedenti puntate, per l’efficientamento di modelli molto grandi, così come sull’efficienza energetica e sulla capacità di elaborazione limitata dei dispositivi target.

Una caratteristica chiave per questa disciplina è quindi l’utilizzo e lo sviluppo di algoritmi che possono funzionare con poche risorse computazionali, sfruttando al massimo l’hardware disponibile, eventualmente con delle metodologie di co-design, cioè costruendo l’algoritmo ad hoc sulla base dell’hardware target, dell’hardware utilizzato.

Questo campo emergente dimostra che, contrariamente alla tendenza che abbiamo precedentemente evidenziato verso la costruzione di modelli sempre più grandi, è possibile raggiungere intelligenza, innovazione anche con soluzioni piccole e agili, mettendo al centro la sostenibilità della soluzione invece che la mera efficacia.

A titolo di esempio, volevo riportarvi una mia esperienza personale nello sviluppo di una soluzione di TinyML su un dispositivo di visione artificiale alimentato a batteria.

Potete trovare tutti i dettagli di questo studio nel nostro articolo Memory-Latency-Accuracy Trade-Offs for Continual Learning on a RISC-V Extreme-Edge Node sviluppato presso l’Università di Bologna, dove esploriamo le sfide e le soluzioni per implementare algoritmi di contnual learning,  apprendimento automatico continuo, su dispositivi edge a bassa potenza.

Il lavoro in questione propone una piattaforma hardware software basata su un cluster RISC-V a otto core ottimizzata per l’apprendimento incrementale di dati, o meglio immagini, raccolte localmente.

La piattaforma sfrutta un’architettura multicore e il parallelismo per migliorare l’efficienza energetica e le prestazioni computazionali, rendendo possibile il continual learning su dispositivi che operano in ambienti con risorse limitatissime.

La metodologia di apprendimento continua utilizzata è quella di Latent Replay che viene utilizzata proprio per mitigare il problema del catastrophic forgetting, la dimenticanza catastrofica tipica dell’apprendimento incrementale di soluzioni di AI.

In particolare, il modello combina nuovi dati con quelli precedentemente collezionati in termini di vettori latenti per aggiornare progressivamente i parametri della soluzione basata su reti neurali.

Questo approccio bilancia la precisione  con i requisiti di memoria e latenza, ottimizzando quindi l’uso di risorse hardware limitatissime.

I risultati riportati nell’articolo suggeriscono diverse configurazioni del modello di apprendimento, in particolare una soluzione che addestra periodicamente da zero tutti i parametri.

La rete evolutiva utilizzata per il riconoscimento di oggetti con tutti i dati accumulati fino a un certo punto, richiede circa 5 ore e raggiunge una precisione del 77%.

E una soluzione invece più efficiente che aggiorna solo parte della rete neurale, impiega solo 1,5 ore, mantenendo una precisione del 72%, quindi ha un costo risicato in termini di efficacia.

La piattaforma proposta, quindi, dimostra un miglioramento significativo rispetto ai dispositivi basati su microcontrollori con incremento di 25 volte pensate in velocità e undici volte in efficienza energetica rispetto alle soluzioni mobile.

In questa immagine vediamo rappresentato il processo di apprendimento automatico continuo implementato direttamente sul dispositivo miniaturizzato.

In particolare, le immagini recuperate saltuariamente come frame video vengono processate dalla rete neurale convolutiva per estrarre caratteristiche chiave dell’immagine che ci consentano di riconoscere gli oggetti contenuti al suo interno.

Queste caratteristiche, estratte sotto forma di volumi d’attivazione nel livello quattro, vengono estratte e mantenute in una memoria esterna come riferimento per il futuro.

In un successivo momento, quando nuove immagini vengono fornite alla soluzione software dalla camera montata sul dispositivo e processate fino a quel livello latente in rosso, i volumi d’attivazione precedentemente memorizzati vengono concatenati alle stesse in modo da poter aggiornare coerentemente i parametri della rete neurale contenuti nei livelli successivi evidenziati in questa immagine dal numero cinque.

Questo consente di evitare che la rete neurale dimentichi il passato, ma con un processo più efficiente di quanto comunemente fatto, che ci consenta di bypassare l’aggiornamento dei livelli precedenti a quello latente in rosso.

In questo video invece, vediamo una possibile applicazione della soluzione presentata, dove su un piccolissimo drone si monta una soluzione di riconoscimento della posa della testa dell’operatore per stimarne l’orientamento.

Questo al fine di spostare il drone e quindi operarlo autonomamente per mantenere invariata la distanza dall’operatore e con una direzione frontale rispetto allo stesso.

Per esempio, questo potrebbe essere utile per registrare video egocentrici in maniera completamente automatizzata tramite il nostro assistente volante robotico.

Bene, in questa puntata abbiamo discusso di questa nuova frontiera del machine learning miniaturizzato TinyML e di come essa costituisca un’alternativa quasi diametralmente opposta a quella dello sviluppo di modelli fondazionali e centralizzati enormi.

In particolare, abbiamo poi discusso di una possibile applicazione su dispositivi ultra low power che consumano anche meno di un watt, indossabili o a batteria e di come sia possibile aggiornare dinamicamente una soluzione basata su reti neurali minuscole durante il suo utilizzo.

Le applicazioni per il TinyML sono davvero tantissime e vedremo sicuramente nei prossimi anni sempre più soluzioni funzionali per gli oggetti intorno a noi, della nostra quotidianità, anche senza la necessità di una connessione a internet, spostando dati privati su server centralizzati molto potenti.

Ciao! Alla prossima puntata di Le Voci dell’AI.

 

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome