AI embedded: algoritmi di auto-apprendimento per strumenti con capacità di calcolo limitata

Le tecnologie per le Intelligenza Artificiali sono strettamente legate al funzionamento degli algoritmi di Deep Learning. Nei contesti produttivi e di ricerca scientifica una AI si rivela infatti particolarmente performante quando è in grado di garantire un elevato livello di automatizzazione dei processi di business, tale risultato è raggiungibile appunto tramite il contributo del Deep Learning, con cui vengono sviluppati dei sistemi adattivi capaci di gestire task anche molto diversi tra loro senza la necessità di doverli programmare a priori per questo scopo.

Tradizionalmente un’applicazione viene sviluppata per produrre determinati output in risposta a comandi specifici e, non di rado, si tratta di eventi che devono verificarsi in momenti precisi o periodicamente, oltre all’onere della programmazione si aggiunge quindi quello della schedulazione.

Nel caso delle AI le applicazioni vengono invece concepite per operare in autonomia: il sistema impara ad attivare dei comportamenti sulla base del contesto di riferimento e delle variabili in grado di influenzarlo, per far questo dei modelli di Machine Learning vengono sottoposti a training che consistono nella somministrazione di dati con lo scopo di implementare algoritmi destinati a migliorarsi automaticamente, tramite un processo di apprendimento basato sull’esperienza.

L’embedded intelligence

Dal punto di vista computazionale la procedura descritta in precedenza si traduce però in un elevato dispendio di risorse per l’analisi e l’elaborazione dei dati, i dispositivi embedded come per esempio i microcontrollers presentano invece delle configurazioni hardware spesso limitate in termini di performance che, generalmente, non possono garantire un supporto adeguato alle applicazioni di AI.

Stando allo scenario descritto i device embedded sembrerebbero rimanere esclusi dal un segmento fondamentale per l’innovazione tecnologica come quello dell’AI, mentre in realtà il concetto di embedded intelligence sta acquistando sempre maggiore importanza in ambito industriale. In senso lato, con questa definizione ci si riferisce a un processo autoreferenziale grazie al quale un dispositivo, un servizio o una procedura è in grado di valutare il proprio funzionamento, le prestazioni erogate in fase di operatività e l’impatto generato in termini di consumi, il tutto in un’ottica di ottimizzazione continua finalizzata al self empowerment e alla massimizzazione della user experience.

Nel caso specifico dei sistemi embedded è possibile considerare la embedded intelligence come un’evoluzione dell’IoT grazie alla quale gli oggetti connessi non sono più soltanto dei terminali destinati a raccogliere dati da veicolare verso il Cloud, ma presentano nativamente caratteristiche proprie delle tecnologie per le AI. Proprio per questa ragione, quando si parla di embedded intelligence ci si riferisce anche al concetto di “intelligenza integrata” per il quale l’AI si sposta in parte dal Cloud ai device stessi. 

Dal Cloud computing al Fog computing

Ma per quale motivo in determinati contesti può essere preferibile l’impiego di microcontrollers dalla capacità computazionale nettamente inferiore rispetto a quella dei Cloud server? La risposta a questo quesito risiede in un paradigma in forte ascesa chiamato Fog computing.

Le architetture embedded favoriscono la realizzazione di sistemi adattivi non particolarmente complessi, autonomi e dai costi relativamente accessibili, si pensi ad esempio ad alcune soluzioni per il controllo dei veicoli a guida autonoma e alla robotizzazione dei processi produttivi. Esse permettono inoltre di sviluppare algoritmi di Deep Learning che non sono incentrati esclusivamente sui Machine Learning Models ma sfruttano un ecosistema in cui le piattaforme sono in grado di interagire tra loro e di condividere dati e risorse.

Il modello di business descritto si rivela particolarmente performante in quanto supera le problematiche connesse al potenziamento delle configurazioni hardware che è concettualmente contrario alla natura special purpose degli embedded device e dei sistemi che li gestiscono. Questi ultimi infatti, a differenza di quanto accade per i sistemi general purpose come per esempio quelli concepiti per dispositivi meno specializzati quali gli smartphone e i PC, vengono sviluppati conoscendone a priori la destinazione d’uso, ciò permette di ottimizzare l’hardware e le applicazioni in dotazione riducendoli all’essenziale.

Un embedded device equipaggiato con una CPU o una GPU dalle caratteristiche simili a quelle richieste dai sistemi general purpose risulterebbe nella maggior parte dei casi antieconomico, questo senza citare le problematiche inerenti alla miniaturizzazione delle componenti che una configurazione di questo genere comporterebbe. Quello dello small form factor a costo decrescente è quindi un paradigma irrinunciabile per la produzione di device embedded.

Il comparto IoT, e in particolare il segmento dell’Industrial IoT, offre un chiaro esempio dei benefici connessi al Fog computing: tale settore prevede infatti la distribuzione capillare di dispositivi basati su sistemi special purpose con compiti ben definiti come il monitoraggio dei processi, il controllo dei consumi o la raccolta dei dati. Il contenimento dei costi è quindi uno dei parametri fondamentali per il loro sviluppo e la loro adozione, ma come conciliare questo fattore con le necessità computazionali di un ecosistema Data Driven sempre più incentrato sulle AI? 

Embedded Intelligence e Edge computing

In un ecosistema industriale complesso la decentralizzazione rappresenta una soluzione ideale per distribuire adeguatamente le risorse e massimizzare le performance garantite dagli asset. Tale modello favorisce l’impiego diffuso di dispositivi basati sui microcontrollers che possono così operare sia da terminali che da periferiche all’interno di un sistema più ampio.

I network di riferimento per questo tipo di configurazione è quello dell’Edge computing dove i sistemi embedded sono in grado di raccogliere informazioni localmente e di preelaborarle prima del loro invio al Cloud o a dei terminali intermedi. In questo modo vengono risolte alcune criticità spesso rilevabili nel Cloud computing come per esempio il verificarsi di latenze a causa del volume spesso imponente dei dati che vengono veicolati.

In un contesto del genere le AI contribuiscono a loro volta a migliorare ulteriormente il funzionamento dei network di Edge computing classificando i dati in base alla loro rilevanza e al loro costo in termini di risorse impiegate, limitando l’eventualità di latenze anche in base a parametri come la disponibilità di banda, la quantità di processi concorrenti e la velocità di connessione.

Il giro d’affari dell’embedded system market dovrebbe assestarsi intorno agli 86.5 miliardi di dollari entro la fine dell’anno corrente (dati di Marketsandmarkets.com), per poi registrare un incremento medio annuo pari al 6.5% che porterebbe il valore del comparto a oltre 116 miliardi di dollari entro il 2025. Uno dei fattori che favoriranno questa crescita sarà la capacità di automiglioramento continuo garantita da network di Edge computing sempre più efficienti grazie a una diffusione capillare delle AI, anche nei dispositivi maggiormente cost-effective.