AI: quanto in basso puoi scendere?

Aggiornamento: 10 dicembre 2023

 

AI: quanto in basso puoi scendere?

AI: quanto in basso puoi scendere?

I mercati sono soggetti a mode passeggere e il settore del controllo integrato è tutt'altro che immune da esse. Negli anni '1990, la logica fuzzy sembrava essere la via da seguire ei fornitori di microcontrollori (MCU) si affrettavano a fornire supporto alle loro offerte solo per vederlo spegnersi.

 

L'apprendimento automatico incorporato (ML) sta assistendo a una frenesia di alimentazione molto più grande poiché i giocatori MCU affermati e le start-up dell'accelerazione dell'IA cercano di dimostrare il loro impegno per l'idea, che per lo più va sotto la bandiera di TinyML.

Daniel Situnayake, ingegnere fondatore di TinyML presso la società di strumenti software Edge Impulse e coautore di un rinomato libro sul la tecnologia, afferma che la situazione odierna è molto diversa da quella degli anni '1990.

"La cosa entusiasmante del machine learning integrato è che il machine learning e il deep learning non sono tecnologie nuove e non collaudate: in effetti sono state implementate con successo su computer di classe server per un tempo relativamente lungo e sono al centro di una tonnellata di successo prodotti. Il ML incorporato riguarda l'applicazione di una serie collaudata di tecnologie a un nuovo contesto che consentirà molte nuove applicazioni che prima non erano possibili ".

ABI Research prevede che il mercato degli MCU e degli acceleratori abilitati per AI a bassa potenza per il mercato TinyML salirà da meno di 30 milioni di dollari di ricavi annuali quest'anno a oltre 2 miliardi di dollari entro l'inizio del prossimo decennio.

Nonostante la rapida crescita, l'analista ABI Lian Jye Su prevede che la concorrenza diventerà più agguerrita con l'ingresso nel mercato di grandi aziende come Bosch. Alcune start-up come Eta Compute sono già passate dal silicio agli strumenti software.

“Vediamo un certo consolidamento. Allo stesso tempo, l'enorme frammentazione nel mercato IoT significa che sopravviverà un numero significativo di fornitori, come i mercati MCU o chipset IoT in generale ", afferma, indicando il gran numero di fornitori che si concentrano su mercati verticali specifici.

TinyML deve affrontare severi vincoli. Pete Warden, responsabile tecnico del framework TensorFlow Micro presso il gigante dei motori di ricerca e coautore di Situnayake su "TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers", ha affermato alla Fall Processor Conference del Linley Group che l’obiettivo è quello di prendere modelli di deep learning e “farli funzionare su dispositivi che hanno solo 20KB di RAM”. Vogliamo prendere modelli costruiti utilizzando questa tecnologia all'avanguardia la tecnologia e schiacciarli per funzionare su processori a bassissimo consumo.

"Poiché si tratta di un software open source, non solo possiamo interagire con i team di prodotto all'interno di Google, ma riceviamo anche molte richieste dai team di prodotto di tutto il mondo che stanno cercando di creare prodotti interessanti. E spesso dobbiamo dire: no, non è ancora possibile. Riusciamo a vedere, complessivamente, molti requisiti non soddisfatti ", afferma Warden.

Il problema principale è che i modelli di deep learning trasferiti dall'ambiente server richiedono l'esecuzione di milioni o addirittura miliardi di funzioni MAC (Multiply Add) in un breve lasso di tempo anche per modelli relativamente semplici. Linley Gwennap, presidente del Linley Group, afferma che applicazioni audio relativamente semplici, come la raccolta di parole che possono attivare il riconoscimento vocale, richiedono circa 2 milioni di MAC al secondo. Il video ha bisogno di molto di più.

I fornitori di silicio sono stati in grado di spingere il numero di MAC sfruttando il requisito relativamente basso di precisione nei singoli calcoli durante l'esecuzione di inferenze. Considerando che l'addestramento sui server richiede generalmente aritmetica in virgola mobile a precisione singola o doppia, i calcoli interi a livello di byte (int8) sembrano essere sufficienti per la maggior parte delle applicazioni.

Ci sono indicazioni che per i livelli selezionati in un modello, anche i MAC int8 non sono necessari. Calcoli binari o ternari che possono essere eseguiti utilizzando poco più di pochi gate ciascuno non danneggiano la precisione complessiva in molti casi. Potenzialmente i guadagni in termini di prestazioni sono enormi, ma manca la combinazione di supporto hardware e software necessaria per sfruttarli appieno, afferma Situnayake.

Sebbene gli strumenti per il framework TensorFlow Lite in genere supportino i pesi int8, il supporto per risoluzioni inferiori è tutt'altro che diffuso. "Questo sta cambiando rapidamente", osserva Situnayake, indicando acceleratori come Syntiant che supportano pesi binari, 2 bit e 4 bit, nonché il lavoro di Plumerai per addestrare direttamente le reti neurali binarizzate.

"Anche se queste tecnologie sono ancora all'avanguardia e devono ancora diventare il mainstream per gli sviluppatori ML embedded, non passerà molto tempo prima che facciano parte del toolkit standard", aggiunge.

Riduzione del carico aritmetico

Ci sono altre opzioni per il lavoro di TinyML che riducono il carico aritmetico. Parlando alla conferenza TinyML Asia alla fine dell'anno scorso, Jan Jongboom, co-fondatore e CTO di Edge Impulse, ha affermato che l'attrazione principale del ML è la sua capacità di trovare correlazioni nei dati che gli algoritmi convenzionali non scelgono. Il problema sta nell'enorme numero di parametri che la maggior parte dei modelli convenzionali deve elaborare per trovare quelle correlazioni se gli input sono campioni grezzi.

"Vuoi dare una mano al tuo algoritmo di apprendimento automatico per semplificargli la vita", afferma Jongboom. La tecnica più utile per i tipici segnali in tempo reale è l'uso dell'estrazione di caratteristiche: trasformare i dati in rappresentazioni che consentono di costruire reti neurali con parametri inferiori di ordini di grandezza.

Prendendo il discorso come esempio, una trasformazione nello spazio mel-cepstrum riduce enormemente il numero di parametri che possono codificare in modo efficiente i cambiamenti nel suono.

In altri dati del sensore, come il feed da un accelerometro utilizzato per il rilevamento delle vibrazioni in macchinari rotanti, altre forme di rappresentazioni congiunte tempo-frequenza spesso funzioneranno.

Questo approccio è utilizzato da John Edwards, consulente e ingegnere DSP presso Sigma Numerix e docente in visita presso l'Università di Oxford, in un progetto per l'analisi delle vibrazioni.

In questo caso, una breve trasformata di Fourier ha avuto il miglior compromesso accoppiato con trasformazioni che compensano i motori a velocità variabile. L'estrazione delle funzionalità ha ridotto le dimensioni del modello a soli due livelli che potrebbero essere facilmente elaborati su un NXP LPC55C69, che combina i core Arm Cortex-M33 con un acceleratore DSP.

Jongboom afferma che sebbene possa essere allettante seguire la strada del deep learning, altri algoritmi di machine learning possono fornire risultati. "Il nostro miglior modello di rilevamento delle anomalie non è una rete neurale: il suo clustering k-means di base."

Laddove l'apprendimento profondo è un requisito, la scarsità fornisce un'ulteriore riduzione del sovraccarico del modello. Questo può assumere la forma di potatura, in cui i pesi che hanno scarso effetto sull'output del modello vengono semplicemente rimossi dalla pipeline. Un'altra opzione è concentrare gli sforzi su parti del flusso di dati che dimostrano i cambiamenti nel tempo. Ad esempio, nei video di sorveglianza ciò può significare l'uso dell'elaborazione delle immagini per rilevare oggetti in movimento e separarli dallo sfondo prima di alimentare i pixel elaborati a un modello.

È stata un'esperienza di apprendimento per Jongboom e altri. Nel descrivere i suoi progressi attraverso le fasi di TinyML, nell'estate del 2017 pensava che l'intero concetto fosse impossibile. Nell'estate del 2020, dopo aver esaminato i modi per ottimizzare l'applicazione e la progettazione del modello insieme, il suo atteggiamento era cambiato nel credere che la classificazione delle immagini in tempo reale su hardware a basso consumo fosse fattibile. Man mano che gli acceleratori a bassa potenza che supportano bassa precisione e scarsità appaiono in modo più efficiente, la gamma di modelli che possono funzionare a micropotenza dovrebbe espandersi.

Il risultato, sostiene Situnayake, sarà probabilmente che “il machine learning finirà per rappresentare una frazione maggiore di qualsiasi altro tipo di carico di lavoro. I vantaggi del machine learning sul dispositivo guideranno il settore verso la creazione e l'implementazione di chip a basso consumo più veloci e più capaci che rappresenteranno la maggior parte di tutti i computer embedded nel mondo ”. Sebbene ci saranno molti dispositivi che non eseguono questi carichi di lavoro, la necessità di velocità man mano che le dimensioni del modello aumentano inevitabilmente focalizzerà l'attenzione sulle sue esigenze e inizierà a dominare lo sviluppo di architetture software e hardware, fintanto che le applicazioni seguiranno.