Introducing G2.ai, the future of software buying.Try now

Che cos'è TinyML? Una breve introduzione e benefici

Giugno 20, 2024
da Amal Joby

Quando senti la parola machine learning (ML), immagini immediatamente una grande sala di server, sudando copiosamente, per elaborare enormi volumi di dati?

Va bene anche se non lo fai, poiché l'hardware che rende possibile ML sta diventando più piccolo che mai.

Sebbene confrontare le dimensioni dei dispositivi computazionali nel corso dei decenni sia piuttosto ingiusto, l'idea qui è che il futuro del ML è più compatto e meno intensivo in termini di risorse. Questa compattezza è resa possibile da un tipo di ML chiamato TinyML. Con tinyML, puoi distribuire software di intelligenza artificiale direttamente su dispositivi edge, rendendolo computazionalmente fattibile e utilizzabile per app intelligenti.

Con l'hardware TinyML, è facile mantenere in sicurezza i tuoi modelli di machine learning con microcontrollori incorporati o altri piccoli meccanismi a basso consumo. Questi dispositivi hanno meno latenza, più potenza computazionale e una forte sicurezza dei dati. Mentre ci avviciniamo all'era futuristica della rivoluzione quantistica, tinyML sarà incorporato su larga scala per accedere ai dati in modo flessibile e diretto.

Storia di TinyML

Inizialmente, i ricercatori e gli scienziati informatici utilizzavano tubi a vuoto di fascia alta o integratori numerici elettronici e computer (ENIAC) quando la rivoluzione tecnologica statunitense entrò nel pieno. Questi dispositivi ingombranti venivano anche utilizzati per memorizzare dati che venivano successivamente utilizzati per scopi scientifici e intelligenza artificiale.

Ecco l'immagine di un computer utilizzato dalla prima generazione di ricercatori di intelligenza artificiale (AI) negli anni '50.

Computer utilizzato dalla prima generazione di ricercatori di intelligenza artificiale negli anni '50

Fonte: Wikipedia

Ecco un piccolo pezzo di attrezzatura che è lungo solo pochi centimetri e può eseguire ML oggi.

Attrezzatura che è lunga solo pochi centimetri e può eseguire machine learning oggi

Fonte: QueNube

In altre parole, TinML può essere visto come il matrimonio tra ML e dispositivi IoT embedded. Con TinyML, ML i modelli sono ottimizzati per funzionare su dispositivi ultra-basso consumo e bassa memoria o dispositivi con risorse limitate come microcontrollori.

Un sistema embedded tradizionale è un dispositivo di calcolo che consuma energia minima, rendendo possibile il suo funzionamento con batterie, come le batterie a bottone, per giorni, mesi o addirittura anni.

Il modo più semplice per comprendere l'idea di TinyML è pensare alla tecnologia dell'assistente vocale del tuo smartphone. Ogni volta che dici "OK, Google" o "Hey Siri", vuoi che il tuo dispositivo risponda immediatamente. Per questo, il modello ML deve funzionare localmente invece di inviare dati a un data center per l'elaborazione.

Esempi di TinyML

Ci sono più esempi di TinyML applicati a dispositivi più piccoli intorno a te. Da almeno alcuni anni, ci sono stati alcuni tipi di reti neurali artificiali nei nostri smartphone. Questo rende possibile l'apprendimento profondo embedded, rendendo possibile il riconoscimento vocale e la classificazione delle immagini sul dispositivo. Queste reti neurali sono anche cruciali per catturare immagini di alta qualità e migliorare il riconoscimento dei gesti.

Oltre a consentire ai dispositivi a basso consumo di eseguire modelli ML, TinyML riguarda l'esecuzione di ML inferenze nei dispositivi IoT elaborando i dati in tempo reale. Questo metodo di elaborazione dei dati più vicino alla fonte di origine è chiamato edge computing. Un ML inferenza è un processo di esecuzione di punti dati (live) in un ML modello per calcolare l'output. È anche chiamato "mettere un modello ML in produzione" o "operazionalizzare un modello".

TensorFlow Lite, uTensor, AIfES, e Arm’s CMSIS-NN sono alcuni dei framework più popolari utilizzati per distribuire modelli ML nei dispositivi IoT. TensorFlow Lite, un framework di apprendimento profondo open-source creato da Google, è il più popolare tra loro. Edge Impulse e OpenMV sono alcune piattaforme utilizzate per lo sviluppo di applicazioni TinyML.

Tuttavia, non è saggio confrontare ML e TinyML. Invece, è meglio vedere TinyML come una sottocategoria di ML. Questo perché TinyML non può essere utilizzato in tutti i casi in cui ML è attualmente impiegato. Pensa a TinyML come ML in modalità sopravvivenza.

Vuoi saperne di più su Software di apprendimento automatico? Esplora i prodotti Apprendimento automatico.

Crescita di TinyML

È ben noto che l'addestramento dei modelli ML e l'esecuzione delle inferenze su di essi sono computazionalmente costosi. L'apprendimento profondo è affamato sia di potenza che di dati. La dimensione dei modelli di apprendimento profondo all'avanguardia (SOTA) ha visto una crescita di 10 volte anno su anno. Ecco un grafico che mostra l'aumento dei requisiti computazionali per i modelli SOTA ML modelli.

Grafico che mostra l'aumento dei requisiti computazionali per i modelli di machine learning SOTA

Fonte: OpenAI

Utilizzando TinyML per ridurre un modello ML in dispositivi embedded più piccoli rende possibile eseguire inferenze di modelli a basso consumo. Questo consente ai microcontrollori di funzionare a lungo senza essere ricaricati.

Una CPU consumer standard consuma tra 65 watt e 85 watt. Un microcontrollore consuma mille volte meno energia rispetto alle CPU consumer tradizionali, misurata in milliwatt o microwatt. Man mano che la domanda di architettura serverless e edge computing cresce, le industrie vedranno un aumento del consumo di TinyML con la recente conferma di sondaggi basati sui dati nello stesso contesto. La maggior parte degli editori sostiene che il mercato di TinyML è destinato a crescere a un tasso di crescita annuale composto del 13% tra il 2023 e il 2030. Sarà una rotazione di applicazioni intelligenti future che richiederanno hardware a basso costo, computazionalmente economico ma robusto e sicuro.

Vantaggi di TinyML

Poiché i dati non devono essere inviati a un server per eseguire inferenze, TinyML offre un output a bassa latenza. Questo significa anche che viene utilizzata meno larghezza di banda internet. Poiché i dati non vengono memorizzati in alcun server e il modello funziona localmente, c'è anche una maggiore privacy dei dati.

Ecco alcuni altri vantaggi di TinyML:

  • Consumo energetico ridotto: Questi modelli sono progettati per funzionare su microcontrollori che consumano la millesima parte della potenza di elaborazione totale di una unità di elaborazione centrale (CPU). Questo si traduce in significativi risparmi energetici rispetto ai modelli di machine learning distribuiti su un server cloud.
  • Durata della batteria estesa: I dispositivi che utilizzano tinyML hanno una durata della batteria più lunga e possono operare per periodi più lunghi rispetto ad altri dispositivi hardware tradizionali.
  • Latenza ridotta: Eseguendo l'inferenza direttamente sul dispositivo, tinyML riduce la necessità di inviare i dati al server. Questo si traduce in una latenza inferiore e un recupero dei dati più veloce. Riduce anche i ritardi di rete e i tempi di risposta.
  • Riduzione dei ritardi: Applicazioni come elaborazione del linguaggio naturale, riconoscimento vocale, analisi predittiva e rilevamento delle anomalie beneficiano di un'elaborazione diretta e immediata, migliorando così l'esperienza dell'utente e la compatibilità del sistema.
  • Uso ridotto della larghezza di banda: TinyML memorizza i dati localmente sul tuo dispositivo, che non sovraccarica la larghezza di banda della rete e risparmia più costi. Poiché non memorizzi i dati su un server internet, non devi pagare per la trasmissione dei dati o lo scambio elettronico di dati e non esaurisci il tuo pacchetto dati.
  • Migliore privacy dei dati: Mantenere l'inferenza direttamente sul tuo dispositivo riduce il rischio di furto di dati e aumenta la privacy. Riduce anche il rischio di accessi non autorizzati e hacking poiché le informazioni rimangono sul dispositivo locale. Questo approccio può essere seguito per le industrie che ospitano informazioni sensibili come il monitoraggio della salute, l'autenticazione biometrica o i sistemi di sicurezza.

Piccoli frammenti di una rivoluzione globale

TinyML rende possibile dare intelligenza a piccoli dispositivi. Poiché i microcontrollori sono quasi ovunque e raccolgono grandi quantità di dati, TinyML può aiutare a utilizzare meglio i dati raccolti.

Agricoltura, produzione, gestione della catena di approvvigionamento, sanità, trasporti, conservazione della fauna selvatica e sicurezza sono alcuni dei campi in cui TinyML ha un potenziale immenso. Infatti, TinyML ha il potenziale per cambiare il mondo intorno a noi. Immagina ogni sensore là fuori con la capacità di essere intelligente e reattivo nei nostri confronti.

Scopri come tinyML può semplificare i framework di machine learning per costruire applicazioni intelligenti e scalare il tuo volano AI per il successo futuro.

Questo articolo è stato originariamente pubblicato nel 2022. È stato aggiornato con nuove informazioni.
Amal Joby
AJ

Amal Joby

Amal is a Research Analyst at G2 researching the cybersecurity, blockchain, and machine learning space. He's fascinated by the human mind and hopes to decipher it in its entirety one day. In his free time, you can find him reading books, obsessing over sci-fi movies, or fighting the urge to have a slice of pizza.