Modelli e piattaforme di IA

TinyML: Applicazioni, Limitazioni e Utilizzo in IoT e Dispositivi Edge

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Negli ultimi anni, l’Intelligenza Artificiale (AI) e l’Apprendimento Automatico (ML) hanno conosciuto un’enorme crescita in termini di popolarità e applicazioni, non solo nell’industria ma anche nell’ambito accademico. Tuttavia, i modelli di ML e AI attuali hanno una limitazione importante: richiedono una grande quantità di potenza di calcolo e di elaborazione per ottenere i risultati desiderati e la precisione. Ciò li confina spesso all’uso di dispositivi ad alta capacità con una sostanziale potenza di calcolo.

Tuttavia, grazie ai progressi compiuti nella tecnologia dei sistemi embedded e allo sviluppo sostanziale dell’industria Internet delle Cose, è desiderabile incorporare l’uso di tecniche e concetti di ML in un sistema embedded con risorse limitate per l’intelligenza ubiqua. Il desiderio di utilizzare concetti di ML in sistemi embedded e IoT è il principale fattore motivante dietro lo sviluppo di TinyML, una tecnica di ML embedded che consente modelli e applicazioni di ML su多pli dispositivi con risorse limitate, con vincoli di potenza e a basso costo.

Tuttavia, l’implementazione di ML su dispositivi con risorse limitate non è stata semplice, poiché l’implementazione di modelli di ML su dispositivi con bassa potenza di calcolo presenta sfide proprie in termini di ottimizzazione, capacità di elaborazione, affidabilità, manutenzione dei modelli e molto altro.

In questo articolo, esamineremo più da vicino il modello TinyML, e impareremo di più sul suo background, gli strumenti che supportano TinyML e le applicazioni di TinyML utilizzando tecnologie avanzate. Quindi, iniziamo.

Introduzione a TinyML: Perché il Mondo ha Bisogno di TinyML

I dispositivi Internet delle Cose (IoT) mirano a sfruttare l’elaborazione edge, un paradigma di calcolo che si riferisce a una gamma di dispositivi e reti vicini all’utente per abilitare un’elaborazione senza soluzione di continuità e in tempo reale dei dati da milioni di sensori e dispositivi interconnessi tra loro. Uno dei principali vantaggi dei dispositivi IoT è che richiedono bassa potenza di calcolo e di elaborazione poiché sono distribuibili al bordo della rete e, quindi, hanno un basso impatto sulla memoria.

Inoltre, i dispositivi IoT si affidano fortemente alle piattaforme edge per raccogliere e trasmettere i dati, poiché questi dispositivi edge raccolgono dati sensoriali e li trasmettono a una posizione vicina o a piattaforme cloud per l’elaborazione. La tecnologia di elaborazione edge memorizza e esegue il calcolo sui dati e fornisce anche l’infrastruttura necessaria per supportare il calcolo distribuito.

L’implementazione dell’elaborazione edge nei dispositivi IoT fornisce

  1. Sicurezza, privacy e affidabilità efficaci per gli utenti finali.
  2. Ritardo inferiore.
  3. Maggiore disponibilità e throughput di risposta alle applicazioni e ai servizi.

Inoltre, poiché i dispositivi edge possono implementare una tecnica collaborativa tra i sensori e la cloud, l’elaborazione dei dati può essere eseguita al bordo della rete invece di essere eseguita sulla piattaforma cloud. Ciò può comportare una gestione efficace dei dati, persistenza dei dati, consegna efficace e caching dei contenuti. Inoltre, per implementare IoT in applicazioni che trattano interazioni uomo-macchina e cure sanitarie moderne, l’elaborazione edge fornisce un modo per migliorare notevolmente i servizi di rete.

Le ricerche recenti nel campo dell’elaborazione edge IoT hanno dimostrato il potenziale per implementare tecniche di ML in diversi casi d’uso IoT. Tuttavia, il principale problema è che i modelli di ML tradizionali richiedono spesso una forte potenza di calcolo e di elaborazione e un’elevata capacità di memoria, il che limita l’implementazione dei modelli di ML sui dispositivi IoT e nelle applicazioni.

Inoltre, l’attuale tecnologia di elaborazione edge manca di una elevata capacità di trasmissione e di risparmio energetico, il che porta a sistemi eterogenei, che è la principale ragione della necessità di un’infrastruttura armoniosa e olistica, principalmente per l’aggiornamento, la formazione e la distribuzione dei modelli di ML. L’architettura progettata per dispositivi embedded presenta un’altra sfida, poiché queste architetture dipendono dalle esigenze hardware e software che variano da dispositivo a dispositivo. È il principale motivo per cui è difficile costruire un’architettura di ML standard per le reti IoT.

Inoltre, nell’attuale scenario, i dati generati da diversi dispositivi vengono inviati alle piattaforme cloud per l’elaborazione a causa della natura computazionalmente intensiva delle implementazioni di rete. Inoltre, i modelli di ML dipendono spesso dall’apprendimento profondo, dalle reti neurali profonde, dai circuiti integrati specifici per l’applicazione (ASIC) e dalle unità di elaborazione grafica (GPU) per l’elaborazione dei dati e spesso hanno una maggiore potenza e requisito di memoria. La distribuzione di modelli di ML completi sui dispositivi IoT non è una soluzione praticabile a causa della evidente mancanza di potenza di calcolo e di elaborazione e della limitata capacità di archiviazione.

La richiesta di miniaturizzare dispositivi embedded a bassa potenza, insieme all’ottimizzazione dei modelli di ML per renderli più efficienti in termini di potenza e memoria, ha aperto la strada a TinyML, che mira a implementare modelli e pratiche di ML sui dispositivi edge IoT e framework. TinyML consente l’elaborazione del segnale sui dispositivi IoT e fornisce intelligenza embedded, eliminando così la necessità di trasferire i dati alle piattaforme cloud per l’elaborazione. La corretta implementazione di TinyML sui dispositivi IoT può infine comportare un aumento della privacy e dell’efficienza, riducendo i costi operativi. Inoltre, ciò che rende TinyML ancora più attraente è che, in caso di connettività inadeguata, può fornire analisi on-premise.

TinyML: Introduzione e Panoramica

TinyML è uno strumento di ML che ha la capacità di eseguire analisi on-device per diverse modalità di sensore, come audio, visione e parlato. I modelli di ML costruiti con lo strumento TinyML hanno requisiti di potenza, memoria e calcolo bassi, che li rendono adatti per reti e dispositivi embedded che operano con alimentazione a batteria. Inoltre, i requisiti bassi di TinyML lo rendono un adattamento ideale per la distribuzione di modelli di ML sul framework IoT.

Nell’attuale scenario, i sistemi di ML basati su cloud affrontano alcune difficoltà, tra cui problemi di sicurezza e privacy, consumo di potenza elevato, affidabilità e problemi di latenza, il che è il motivo per cui i modelli su piattaforme hardware-software sono preinstallati. I sensori raccolgono i dati che simulano il mondo fisico e vengono quindi elaborati utilizzando una CPU o un’unità di elaborazione (MPU). L’MPU soddisfa le esigenze di supporto alle analisi di ML abilitate dalle reti e dall’architettura edge-aware. L’architettura di ML edge comunica con la cloud di ML per il trasferimento dei dati e l’implementazione di TinyML può comportare un notevole progresso tecnologico.

Sarebbe sicuro dire che TinyML è una combinazione di software, hardware e algoritmi che lavorano in sincronia per fornire le prestazioni desiderate. Potrebbe essere necessario il calcolo analogico o della memoria per fornire un’esperienza di apprendimento migliore e più efficace per dispositivi hardware e IoT che non supportano acceleratori hardware. Per quanto riguarda il software, le applicazioni costruite utilizzando TinyML possono essere distribuite e implementate su piattaforme come Linux o Linux embedded e su software abilitato alla cloud. Infine, le applicazioni e i sistemi costruiti sull’algoritmo TinyML devono avere il supporto di nuovi algoritmi che richiedono modelli di memoria di piccole dimensioni per evitare un consumo di memoria elevato.

Per riassumere, le applicazioni costruite con lo strumento TinyML devono ottimizzare i principi e i metodi di ML, insieme alla progettazione del software in modo compatto, in presenza di dati di alta qualità. Questi dati devono quindi essere flashati attraverso file binari generati utilizzando modelli formati su macchine con capacità e potenza di calcolo molto più grandi.

Inoltre, i sistemi e le applicazioni in esecuzione sullo strumento TinyML devono fornire un’elevata precisione quando eseguono in condizioni di vincolo più strette, poiché il software compatto è necessario per un basso consumo di potenza che supporta le implicazioni di TinyML. Inoltre, i moduli o le applicazioni TinyML possono dipendere dall’alimentazione a batteria per supportare le loro operazioni sui sistemi embedded edge.

Detto questo, le applicazioni TinyML hanno due requisiti fondamentali

  1. Capacità di scalare miliardi di sistemi embedded economici.
  2. Memorizzazione del codice nella RAM del dispositivo con capacità inferiore a pochi KB.

Applicazioni di TinyML Utilizzando Tecnologie Avanzate

Una delle principali ragioni per cui TinyML è un argomento caldo nell’industria AI e ML è a causa delle sue potenziali applicazioni, tra cui applicazioni basate sulla visione e sul parlato, diagnosi sanitaria, classificazione e compressione di modelli di dati, interfaccia cervello-computer, elaborazione edge, fenotipizzazione, auto a guida autonoma e altro ancora.

Applicazioni Basate sul Parlato

Comunicazioni Verbali

Tipicamente, le applicazioni basate sul parlato si affidano a metodi di comunicazione convenzionali in cui tutti i dati sono importanti e vengono trasmessi. Tuttavia, negli ultimi anni, la comunicazione semantica è emersa come un’alternativa alla comunicazione convenzionale, poiché nella comunicazione semantica viene trasmesso solo il significato o il contesto dei dati. La comunicazione semantica può essere implementata in applicazioni basate sul parlato utilizzando le metodologie TinyML.

Alcune delle applicazioni più popolari nel settore delle comunicazioni verbali oggi sono la rilevazione del parlato, il riconoscimento del parlato, l’apprendimento online, l’insegnamento online e la comunicazione orientata agli obiettivi. Queste applicazioni richiedono generalmente un consumo di potenza più elevato e hanno anche requisiti di dati più elevati sul dispositivo host. Per superare questi requisiti, è stata introdotta una nuova libreria TinySpeech che consente agli sviluppatori di costruire un’architettura computazionale a basso consumo che utilizza reti neurali profonde convolutive per costruire una struttura di archiviazione a bassa capacità.

Per utilizzare TinyML per il miglioramento del parlato, gli sviluppatori hanno affrontato inizialmente la dimensione del modello di miglioramento del parlato, poiché era soggetto a limitazioni e vincoli hardware. Per affrontare il problema, sono state distribuite la potatura strutturata e la quantizzazione degli interi per il modello di miglioramento del parlato RNN (Reti Neurali Ricorrenti). I risultati hanno suggerito che le dimensioni del modello siano state ridotte di quasi 12 volte, mentre le operazioni sono state ridotte di quasi 3 volte. Inoltre, è fondamentale che le risorse vengano utilizzate in modo efficace, soprattutto quando vengono distribuite su applicazioni con vincoli di risorse che eseguono applicazioni di riconoscimento vocale.

Di conseguenza, per suddividere il processo, è stata proposta un metodo di progettazione congiunta per le applicazioni di riconoscimento vocale e parlato basate su TinyML. Gli sviluppatori hanno utilizzato l’operazione di finestra per suddividere il software e l’hardware in modo da pre-elaborare i dati vocali grezzi. Il metodo sembra funzionare, poiché i risultati hanno indicato una riduzione del consumo energetico sull’hardware. Infine, c’è anche il potenziale per implementare una partizione ottimizzata tra software e hardware co-progettati per migliori prestazioni nel prossimo futuro.

Inoltre, le ricerche recenti hanno proposto l’uso di un trasduttore basato su telefono per i sistemi di riconoscimento del parlato e la proposta mira a sostituire i predictor LSTM con un livello Conv1D per ridurre le esigenze computazionali sui dispositivi edge. Quando implementato, la proposta ha restituito risultati positivi, poiché la SVD (Decomposizione dei Valori Singolari) ha compresso con successo il modello, mentre l’uso di WFST (Transduttori a Stati Finiti Ponderati) basato sulla decodifica ha comportato una maggiore flessibilità nel miglioramento del modello.

Molte applicazioni prominenti di riconoscimento del parlato, come gli assistenti vocali e la didascalia live, utilizzano tecniche di ML per funzionare. Gli assistenti vocali popolari come Siri e Google Assistant interrogano la piattaforma cloud ogni volta che ricevono alcuni dati e ciò crea notevoli preoccupazioni relative alla privacy e alla sicurezza dei dati. TinyML è una soluzione praticabile per questo problema, poiché mira a eseguire il riconoscimento del parlato sui dispositivi e a eliminare la necessità di migrare i dati alle piattaforme cloud. Uno dei modi per raggiungere il riconoscimento del parlato sul dispositivo è utilizzare Tiny Transducer, un modello di riconoscimento del parlato che utilizza un livello DFSMN (Deep Feed-Forward Sequential Memory Block) accoppiato con un livello Conv1D invece dei livelli LSTM per ridurre le esigenze computazionali e i parametri della rete.

Dispositivi Acustici

La perdita dell’udito è una preoccupazione sanitaria importante in tutto il mondo e la capacità umana di udire suoni si indebolisce generalmente con l’età e si tratta di un problema significativo nei paesi che affrontano una popolazione che invecchia, tra cui Cina, Giappone e Corea del Sud. I dispositivi acustici attualmente funzionano sul semplice principio di amplificare tutti i suoni di input dall’ambiente circostante, il che rende difficile per la persona distinguere o differenziare il suono desiderato, soprattutto in un ambiente rumoroso.

TinyML potrebbe essere la soluzione praticabile per questo problema, poiché l’uso di un modello TinyLSTM che utilizza un algoritmo di riconoscimento del parlato per i dispositivi acustici può aiutare gli utenti a distinguere tra diversi suoni.

Applicazioni Basate sulla Visione

TinyML ha il potenziale per svolgere un ruolo cruciale nell’elaborazione dei dati basati sulla visione, poiché per ottenere output più rapidi, questi set di dati devono essere elaborati sulla piattaforma edge stessa. Per raggiungere ciò, il modello TinyML affronta le sfide pratiche durante la formazione del modello utilizzando la scheda di controllo OpenMV H7. Gli sviluppatori hanno anche proposto un’architettura per rilevare la lingua dei segni americana con l’aiuto di un microcontrollore ARM Cortex M7 che funziona solo con 496KB di RAM del frame-buffer.

L’implementazione di TinyML per le applicazioni basate sulla visione sui dispositivi edge ha richiesto agli sviluppatori di superare la sfida principale delle reti neurali convolutive (CNN) con un errore di generalizzazione elevato e un’accuratezza di formazione e testing elevata. Tuttavia, l’implementazione non si è generalizzata efficacemente alle immagini all’interno di nuovi casi d’uso e sfondi con rumore. Quando gli sviluppatori hanno utilizzato il metodo di interpolazione dell’augmentazione, il modello ha restituito un punteggio di accuratezza di oltre il 98% sui dati di test e circa il 75% nella generalizzazione.

Inoltre, è stato osservato che quando gli sviluppatori hanno utilizzato il metodo di interpolazione dell’augmentazione, c’è stato un calo nell’accuratezza del modello durante la quantizzazione, ma allo stesso tempo, c’è stato un aumento nella velocità di inferenza del modello e nella classificazione della generalizzazione. Gli sviluppatori hanno anche proposto un metodo per aumentare ulteriormente l’accuratezza della formazione del modello di generalizzazione su dati ottenuti da diverse fonti e testare le prestazioni per esplorare la possibilità di distribuirlo su piattaforme edge come orologi intelligenti portatili.

Inoltre, ulteriori studi su CNN hanno indicato che è possibile distribuire e ottenere risultati desiderabili con l’architettura CNN sui dispositivi con risorse limitate. Di recente, gli sviluppatori sono stati in grado di sviluppare un framework per la rilevazione di maschere mediche su un microcontrollore ARM Cortex M7 con risorse limitate utilizzando TensorFlow Lite con impronte di memoria minimali. Le dimensioni del modello dopo la quantizzazione erano di circa 138 KB, mentre la velocità di inferenza sulla scheda di destinazione era di circa 30 FPS.

Un’altra applicazione di TinyML per le applicazioni basate sulla visione è implementare un dispositivo di riconoscimento dei gesti che può essere fissato a un bastone per aiutare le persone con disabilità visive a navigare nella loro vita quotidiana in modo più semplice. Per progettarlo, gli sviluppatori hanno utilizzato il set di dati dei gesti e hanno utilizzato il set di dati per formare il modello ProtoNN con un algoritmo di classificazione. I risultati ottenuti dall’allestimento sono stati accurati, il design è stato a basso costo e ha fornito risultati soddisfacenti.

Un’altra applicazione significativa di TinyML è nel settore dei veicoli autonomi e auto a guida autonoma, a causa della mancanza di risorse e della potenza di calcolo a bordo. Per affrontare il problema, gli sviluppatori hanno introdotto un metodo di apprendimento a ciclo chiuso basato sul modello TinyCNN che ha proposto un modello di predittore online che cattura l’immagine in tempo reale. Il principale problema che gli sviluppatori hanno affrontato durante l’implementazione di TinyML per la guida autonoma è stato che il modello di decisione che era stato addestrato per funzionare sui dati offline potrebbe non funzionare altrettanto bene quando si trattava di dati online. Per massimizzare appieno le applicazioni delle auto a guida autonoma e dei veicoli autonomi, il modello dovrebbe idealmente essere in grado di adattarsi ai dati in tempo reale.

Classificazione e Compressione dei Modelli di Dati

Una delle sfide più grandi dell’attuale framework TinyML è quella di renderlo in grado di adattarsi ai dati di formazione online. Per affrontare il problema, gli sviluppatori hanno proposto un metodo noto come TinyOL o TinyML Online Learning, che consente la formazione con apprendimento online incrementale su unità di controllo microcomputer, consentendo così al modello di aggiornarsi sui dispositivi edge IoT. L’implementazione è stata raggiunta utilizzando il linguaggio di programmazione C++ e un livello aggiuntivo è stato aggiunto all’architettura TinyOL.

Inoltre, gli sviluppatori hanno anche eseguito l’auto-codifica della scheda del sensore Arduino Nano 33 BLE e il modello addestrato è stato in grado di classificare nuovi modelli di dati. Inoltre, il lavoro di sviluppo ha incluso la progettazione di algoritmi neurali efficienti e più ottimizzati per supportare la formazione dei modelli sui dispositivi.

La ricerca su TinyOL e TinyML ha indicato che il numero di livelli di attivazione è stato un problema significativo per i dispositivi edge IoT con risorse limitate. Per affrontare il problema, gli sviluppatori hanno introdotto il nuovo modello TinyTL o Tiny Transfer Learning per rendere l’utilizzo della memoria sui dispositivi edge IoT più efficace e per evitare l’uso di livelli intermedi per scopi di attivazione. Inoltre, gli sviluppatori hanno anche introdotto un nuovo modulo di bias noto come “modulo residuale leggero” per massimizzare le capacità di adattamento e, di conseguenza, consentire ai modelli di estrarre caratteristiche di rilevamento residuale.

Quando paragonato con l’aggiornamento della rete completa, i risultati sono stati a favore dell’architettura TinyTL, poiché i risultati hanno mostrato che TinyTL riduce l’onere della memoria di circa 6,5 volte con una perdita di accuratezza moderata. Quando l’ultimo livello è stato aggiornato, TinyML ha migliorato l’accuratezza del 34% con una perdita di accuratezza moderata.

Inoltre, la ricerca sulla compressione dei dati ha indicato che gli algoritmi di compressione dei dati devono gestire i dati raccolti su un dispositivo portatile e per raggiungere ciò, gli sviluppatori hanno proposto TAC o Tiny Anomaly Compressor. Il TAC è stato in grado di superare gli algoritmi SDT o Swing Door Trending e DCT o Trasformata Cosinale Discreta. Inoltre, l’algoritmo TAC ha superato entrambi gli algoritmi SDT e DCT raggiungendo un tasso di compressione massimo del 98% e avendo il più alto rapporto segnale-rumore tra i tre algoritmi.

Diagnosi Sanitaria

La pandemia globale di Covid-19 ha aperto nuove porte di opportunità per l’implementazione di TinyML, poiché ora è una pratica essenziale rilevare continuamente i sintomi respiratori legati alla tosse e al raffreddore. Per garantire un monitoraggio ininterrotto, gli sviluppatori hanno proposto un modello CNN chiamato TinyRespNet che funziona su un ambiente multi-modello e il modello viene distribuito su un FPGA Xilinx Artix-7 100t che consente al dispositivo di elaborare le informazioni in parallelo, ha un’efficienza elevata e un basso consumo di potenza. Inoltre, il modello TinyResp prende anche il parlato dei pazienti, le registrazioni audio e le informazioni demografiche come input per classificare e i sintomi della tosse del paziente vengono classificati utilizzando tre set di dati distinti.

Inoltre, gli sviluppatori hanno anche proposto un modello in grado di eseguire calcoli di apprendimento profondo sui dispositivi edge, un modello TinyML chiamato TinyDL. Il modello TinyDL può essere distribuito sui dispositivi edge come smartwatch e dispositivi indossabili per la diagnosi sanitaria e è anche in grado di eseguire un’analisi delle prestazioni per ridurre la larghezza di banda, la latenza e il consumo di energia. Per raggiungere la distribuzione di TinyDL sui dispositivi portatili, un modello LSTM è stato progettato e addestrato specificamente per un dispositivo indossabile e gli è stato fornito il dato raccolto come input. Il modello ha un punteggio di accuratezza di circa il 75-80% e ha anche funzionato con dati esterni al dispositivo.

Infine, gli sviluppatori hanno anche proposto un’altra applicazione per monitorare la salute delle persone anziane stimando e analizzando le loro pose corporee. Il modello utilizza il framework agnostico sul dispositivo che consente al modello di abilitare la convalida e la rapida adozione per eseguire adattamenti. Il modello ha implementato algoritmi di rilevamento della posizione corporea accoppiati con punti di riferimento facciali per rilevare pose corporee spazio-temporali in tempo reale.

Elaborazione Edge

Una delle principali applicazioni di TinyML è nel campo dell’elaborazione edge, poiché con l’aumento dell’uso dei dispositivi IoT per connettere dispositivi in tutto il mondo, è essenziale configurare dispositivi edge che consentano di eseguire calcoli di alto livello sul dispositivo stesso, invece di affidarsi all’architettura cloud. Ciò aiuterà a ridurre la dipendenza dalla cloud, ridurre la latenza, migliorare la sicurezza e la privacy degli utenti e ridurre la larghezza di banda.

I dispositivi edge che utilizzano gli algoritmi TinyML aiuteranno a risolvere le attuali limitazioni relative alla potenza, al calcolo e ai requisiti di memoria e ciò è discusso nell’immagine seguente.

Inoltre, TinyML può anche migliorare l’uso e l’applicazione dei Veicoli Aerei senza Pilota (UAV) affrontando le limitazioni attuali di questi macchinari. L’uso di TinyML può consentire agli sviluppatori di implementare un dispositivo efficiente in termini energetici con bassa latenza e alta potenza di calcolo che possa agire come controllore per questi UAV.

Interfaccia Cervello-Computer o BCI

TinyML ha applicazioni significative nel settore sanitario e può essere molto utile in diverse aree, tra cui rilevamento del cancro e dei tumori, previsioni sanitarie utilizzando segnali ECG ed EEG e intelligenza emotiva. L’uso di TinyML può consentire all’Adaptive Deep Brain Stimulation (aDBS) di adattarsi con successo alle adattamenti clinici. L’uso di TinyML può anche consentire all’aDBS di identificare segni bio-relativi alle malattie e ai loro sintomi utilizzando registrazioni invasive dei segnali del cervello.

Inoltre, il settore sanitario include spesso la raccolta di una grande quantità di dati del paziente e questi dati devono quindi essere elaborati per raggiungere soluzioni specifiche per il trattamento del paziente nelle prime fasi di una malattia. Di conseguenza, è fondamentale costruire un sistema che sia non solo molto efficace, ma anche molto sicuro. Quando combiniamo le applicazioni IoT con il modello TinyML, nasce un nuovo campo chiamato Internet delle Cose Sanitarie (H-IoT) e le principali applicazioni di H-IoT sono la diagnosi, il monitoraggio, la logistica, il controllo della diffusione e i sistemi di assistenza. Se vogliamo sviluppare dispositivi in grado di rilevare e analizzare la salute di un paziente a distanza, è essenziale sviluppare un sistema che abbia un’accessibilità globale e una bassa latenza.

Veicoli Autonomi

Infine, TinyML può avere applicazioni diffuse nel settore dei veicoli autonomi, poiché questi veicoli possono essere utilizzati in diversi modi, tra cui il tracciamento degli esseri umani, gli scopi militari e le applicazioni industriali. Questi veicoli hanno un requisito principale di essere in grado di identificare gli oggetti in modo efficiente quando l’oggetto viene cercato.

Attualmente, i veicoli autonomi e la guida autonoma sono un compito abbastanza complesso, soprattutto quando si sviluppano veicoli di piccole dimensioni. Gli sviluppi recenti hanno mostrato il potenziale per migliorare l’applicazione della guida autonoma per veicoli di piccole dimensioni utilizzando un’architettura CNN e distribuendola sul GAP8 MCI.

Sfide

TinyML è un concetto relativamente nuovo nell’industria AI e ML e, nonostante i progressi, non è ancora così efficace come necessario per un’ampia distribuzione sui dispositivi edge e IoT.

La sfida più grande attualmente affrontata da TinyML è il consumo di potenza di questi dispositivi. Idealmente, i dispositivi edge e IoT embedded dovrebbero avere una vita della batteria che si estende per oltre 10 anni. Ad esempio, in condizioni ideali, un dispositivo IoT che funziona con una batteria da 2 Ah dovrebbe avere una vita della batteria di oltre 10 anni, supponendo che il consumo di potenza del dispositivo sia di circa 12 ua. Tuttavia, nello stato attuale, un’architettura IoT con un sensore di temperatura, un’unità di controllo MCU e un modulo WiFi, il consumo di corrente è di circa 176,4 mA e con questo consumo di potenza, la batteria durerà solo circa 11 ore, invece della vita della batteria richiesta di 10 anni.

Vincoli di Risorse

Per mantenere la coerenza di un algoritmo, è fondamentale mantenere la disponibilità di potenza e, data l’attuale situazione, la limitata disponibilità di potenza per i dispositivi TinyML è una sfida critica. Inoltre, le limitazioni della memoria sono anche una sfida significativa, poiché la distribuzione dei modelli richiede spesso una grande quantità di memoria per funzionare in modo efficace e preciso.

Vincoli Hardware

I vincoli hardware rendono difficile la distribuzione degli algoritmi TinyML su larga scala a causa dell’eterogeneità dei dispositivi hardware. Ci sono migliaia di dispositivi, ognuno con le proprie specifiche e requisiti hardware e, di conseguenza, un algoritmo TinyML attualmente deve essere personalizzato per ogni dispositivo individuale, il che rende la distribuzione di massa un problema significativo.

Vincoli del Set di Dati

Uno dei principali problemi con i modelli TinyML è che non supportano i set di dati esistenti. È una sfida per tutti i dispositivi edge, poiché raccolgono dati utilizzando sensori esterni e questi dispositivi spesso hanno vincoli di potenza e di energia. Pertanto, i set di dati esistenti non possono essere utilizzati per formare i modelli TinyML in modo efficace.

Pensieri Finali

Lo sviluppo delle tecniche di ML ha causato una rivoluzione e un cambiamento di prospettiva nell’ecosistema IoT. L’integrazione dei modelli di ML nei dispositivi IoT consentirà a questi dispositivi edge di prendere decisioni intelligenti in modo autonomo senza alcun input umano esterno. Tuttavia, convenzionalmente, i modelli di ML hanno spesso requisiti di potenza, memoria e calcolo elevati, il che li rende inadatti per la distribuzione sui dispositivi edge che sono spesso limitati nelle risorse.

Di conseguenza, un nuovo ramo dell’AI è stato dedicato all’uso di ML per i dispositivi IoT e è stato chiamato TinyML. TinyML è un framework di ML che consente anche ai dispositivi con risorse limitate di sfruttare il potere dell’AI e del ML per garantire una maggiore accuratezza, intelligenza e efficienza.

In questo articolo, abbiamo parlato dell’implementazione dei modelli TinyML sui dispositivi IoT con risorse limitate e questa implementazione richiede la formazione dei modelli, la distribuzione dei modelli sull’hardware e l’esecuzione di tecniche di quantizzazione. Tuttavia, data l’attuale portata, i modelli di ML pronti per la distribuzione sui dispositivi IoT e sui dispositivi edge hanno diverse complessità e limitazioni, tra cui problemi di compatibilità hardware e framework.

Un ingegnere per professione, uno scrittore per passione. Kunal è uno scrittore tecnico con un profondo amore e comprensione di AI e ML, dedicato a semplificare concetti complessi in questi campi attraverso la sua documentazione coinvolgente e informativa.