ESIUCLM
CasaOpinioneComputing “at the edge”: portare l’intelligenza artificiale ovunque

Computing “at the edge”: portare l’intelligenza artificiale ovunque

Josè Luis Espinosa Aranda

Computing “at the edge”: portare l’intelligenza artificiale ovunque

Di José Luis Espinosa, Ingegnere Capo/Manager – Ubotica Technologies e Professore Associato presso ESI-UCLM.

Come si arriva all'intelligenza artificiale di oggi?

La recente ascesa dell’intelligenza artificiale è innegabile, al punto da guadagnarsi un posto nella stampa e nell’ideologia generale. Oggi è difficile non aver sentito parlare delle sue nuove applicazioni, compresa la sua integrazione nell'auto autonoma o nei robot, l'assistenza nella diagnosi medica o altri sistemi generativi come ChatGPT o dall·E.

Ciò che può sembrare sorprendente è che i concetti base di questi sistemi risalgono a molti anni fa. Le reti neurali hanno la loro prima origine nel 1943 [1]. Tuttavia, è negli ultimi due decenni che si sono realizzate le condizioni necessarie per il boom dello sviluppo dei sistemi di intelligenza artificiale [2], grazie a:

1) L'evoluzione dell'hardware di elaborazione, attraverso l'uso di schede grafiche (GPU), coprendo la grande richiesta computazionale che questi sistemi devono apprendere.

2) Big data, che forniscono la quantità di dati necessaria richiesta da questo tipo di tecniche.

3) L'evoluzione dei software e delle tecniche di deep learning.

"Intelligenza artificiale"sul bordo"

L’evoluzione delle tecniche di intelligenza artificiale ha portato allo sviluppo di sistemi intelligenti sempre più potenti ma anche più complessi, rendendo necessario l’utilizzo di sistemi performanti o di risorse di cloud computing. Ma cosa succede quando abbiamo limitazioni che ci impediscono di utilizzare queste risorse per integrare il nostro sistema intelligente? Un chiaro esempio potrebbe essere l’area principale in cui operiamo in azienda ubotica, dove si tratta fornire autonomia e intelligenza ai sistemi dispiegati nello spazio, che attualmente rappresenterebbe “l’ultimo limite” per gli esseri umani.

Fig 1: assemblaggio di nanosatelliti con funzionalità AI (Phi-Sab 1)

Uno dei casi in cui queste restrizioni sono ancora più drastiche sono i nanosatelliti. Questi piccoli satelliti sono in forte espansione grazie agli investimenti di diverse agenzie spaziali come la ESA o alla NASA  e aziende come SpaceX a causa del loro costo relativamente basso e delle possibilità che offrono. Anche così, questi dispositivi non hanno le stesse capacità di comunicazione con la Terra di un satellite più grande.

È per questi casi che nasce l’informatica”sul bordo", spostando l’esecuzione degli algoritmi di intelligenza artificiale direttamente nel luogo in cui vengono catturate le informazioni. Questo approccio ha diversi vantaggi:

1) Privacy. Eseguendo le operazioni nel luogo in cui vengono catturati i dati, non è necessario inviare in rete informazioni sensibili come le immagini.

2) Latenza ridotta. Non dovendo inviare questi dati e attendere di ricevere i risultati, il dispositivo stesso sarebbe in grado di prendere una decisione in un breve periodo di tempo. Ad esempio, se un nanosatellite o un rover rilevassero un ostacolo, potrebbero decidere autonomamente la migliore linea d’azione per evitarlo.

3) Riduzione della larghezza di banda richiesta. Ciò è particolarmente degno di nota per il caso d’uso dei nanosatelliti per l’osservazione della Terra. Questi dispositivi catturano immagini di grandi dimensioni (diversi GiB), ma hanno una velocità di invio delle informazioni sulla Terra molto bassa, il che rende irrealizzabile l'invio costante di informazioni per l'elaborazione su una base terrestre. Grazie all'informaticasul bordo”, sarebbe semplice inviare solo le informazioni ottenute durante l'elaborazione delle immagini, come, ad esempio, la notifica di un'emergenza dovuta alla rilevazione di un incendio o di qualsiasi altro tipo di evento pericoloso.

Cosa è necessario a livello tecnologico?

Per applicare questo paradigma sono necessari due fattori:

1) sviluppo di sistemi embedded specifici per l’esecuzione di applicazioni di intelligenza artificiale. Sebbene questi sistemi debbano avere come caratteristica principale a elevata potenza di calcolo, è inoltre necessario che abbiano a dimensione ridotto e basso consumo energetico, da inviare nello spazio. Questo è il caso di la nostra scheda XE2, basato sulla miriade di dispositivi sviluppati da Intel Movidius, e che utilizziamo a Ubotica in tutti i tipi di sviluppi e soluzioni legate al settore aerospaziale e all'industria 4.0, ma che sono stati utilizzati anche in altre situazioni molto restrittive come rilevamento dei bracconieri nelle aree protette.

Fig 2: scheda XE2 sviluppata da Ubotica

2) Il utilizzo di tecniche specifiche che ci permettono di utilizzare sistemi di intelligenza artificiale all'interno di questo hardware poiché, nonostante la capacità di calcolo sia elevata, è difficile ottenere le stesse prestazioni di una GPU a causa delle limitazioni di dimensioni e consumo. Ecco perché in molte occasioni vengono utilizzate versioni ridotte dei modelli utilizzati nei sistemi più complessi o si riduce la precisione delle operazioni utilizzando meno bit per memorizzare valori in virgola mobile (ad esempio, utilizzando FP16 invece di FP32) oppure l'uso di tecniche di quantizzazione che riducono il numero di valori possibili a un insieme piccolo (anche a valori interi).

Di cosa ho bisogno per lavorare in questo contesto?

Come abbiamo visto, l’intelligenza artificiale”sul bordo” è in forte espansione, essendo diventata una nicchia lavorativa molto particolare. Sebbene sia possibile accedervi con conoscenze solo nel campo dell’hardware o dell’intelligenza artificiale, noi che ci stiamo lavorando abbiamo dovuto convertirci ad un profilo molto più multidisciplinare.

Nel mio caso particolare, con una specializzazione iniziale nel settore dell'intelligenza artificiale, è stato necessario per me imparare a tenere conto delle restrizioni hardware durante la progettazione e l'addestramento di sistemi intelligenti. Altri colleghi focalizzati sull’hardware hanno dovuto imparare a comprendere il funzionamento dei sistemi intelligenti per poterli integrare e validare all’interno dei dispositivi.

Ciò si scontra con la suddivisione in intensificazioni degli attuali titoli universitari a livello europeo, in cui si privilegia la specializzazione in uno specifico ramo, per cui la formazione aggiuntiva necessaria è spesso a carico dello studente stesso o dell'azienda che la eroga. formazione interna o master di carattere specifico o generale come MUII dell'ESI.

Vorrei quindi concludere questo articolo con una riflessione che faccio sempre sia ai miei collaboratori che ai miei studenti, sia per una possibile multidisciplinarietà, sia per la costante comparsa di nuove tecnologie, e cioè che Una delle principali abilità che deve avere un laureato in informatica è quella di saper comprendere e apprendere cose nuove..

Riferimenti

[1] McCulloch, W.S. e Pitts, W. (1943). Calcolo logico delle idee immanenti all'attività nervosa. Il bollettino di biofisica matematica, 5, 115-133.

[2] Goodfellow, I., Bengio, Y., & Courville, A. (2016). Apprendimento approfondito. stampa del MIT.

Leggi anche Professore e laureati vincitori ESI NASA Awards 2022

In copertina i tre vincitori, Juan Romero, Jose Luis Espinosa ed Elena Hervás. Appare il logo della NASA e di Ubotica.
Condividi con:
Valuta questo articolo