Essenziale per fornire risultati quasi istantanei, la nuova generazione di acceleratori hardware progettati appositamente per l’AI sta rivoluzionando il settore
Negli ultimi anni l’AI si è diffusa non solo nei data center ma anche nei sistemi embedded. Qui, ha trovato applicazione in settori che spaziano dai sensori IoT ai dispositivi medici portatili, fino alle soluzioni industriali più avanzate. L’esecuzione di modelli di IA in questi ambienti presenta delle sfide, legate in particolare alle limitate risorse computazionali ed energetiche disponibili. Per rispondere a questa esigenza sta emergendo una nuova generazione di acceleratori hardware progettati appositamente per l’intelligenza artificiale. Si tratta di una rivoluzione per il mondo dei sistemi embedded. Tra questi troviamo le unità di elaborazione neurale (NPU), le GPU, i processori di segnale digitale (DSP), gli FPGA e i microcontrollori con acceleratori AI integrati. Ogni tecnologia offre vantaggi specifici, ma anche limiti e ambiti di applicazione differenti.
Edge e data center
Esistono in generale due acceleratori di intelligenza artificiale: l’edge e il data center. I data center richiedono progetti di elaborazione scalabili. Per i sistemi di apprendimento profondo, Cerebras, ad esempio, ha inventato il Wafer-Scale Engine (WSE), il chip più grande mai prodotto. Con capacità di elaborazione, memoria e rete aggiuntive, il WSE può abilitare la ricerca sull’intelligenza artificiale a velocità e scalabilità molto più rapide rispetto ai sistemi convenzionali. L’edge segna l’altro estremo dello spettro. I dispositivi Edge SoC (System-on-Chip), che, indipendentemente dalle dimensioni, forniscono i risultati quasi immediati richiesti, ad esempio, per programmi interattivi in esecuzione su smartphone o per la robotica industriale, includono IP di acceleratori di intelligenza artificiale. Sebbene il WSE sia un approccio per accelerare le applicazioni AI, esistono vari altri tipi di acceleratori AI hardware per applicazioni che non richiedono un unico chip di grandi dimensioni.
Anche se vari progetti di acceleratori AI possono fornire diversi compromessi in termini di prestazioni, tutti dipendono da uno stack software correlato per abilitare le prestazioni a livello di sistema. Altrimenti, l’hardware potrebbe essere sottoutilizzato. L’edge presenta una vasta gamma di utilizzi per i quali gli acceleratori AI devono essere appositamente ottimizzati per diverse caratteristiche. Tra queste sono incluse latenza, efficienza energetica e memoria dipendente dalla domanda dell’applicazione finale. I sistemi cognitivi, che cercano di replicare i processi mentali umani, diventeranno sempre più importanti in futuro. I sistemi cognitivi comprendono i dati a un livello di astrazione diverso rispetto alle moderne reti neurali, il che aiuta a spiegarli.
Architetture
Le unità di elaborazione neurale (NPU) sono componenti hardware progettate per velocizzare le operazioni delle reti neurali, come le convoluzioni e le moltiplicazioni di matrici. Spesso integrate nei SoC per dispositivi embedded, queste unità sono ottimizzate per offrire un elevato equilibrio tra potenza e prestazioni. Ad esempio, le ARM Ethos-U55 e U65 sono NPU pensate per migliorare l’efficienza e la velocità delle applicazioni di machine learning nei microcontrollori, permettendo inferenze ad alte prestazioni anche su dispositivi alimentati a batteria. Un caso d’uso concreto è l’impiego delle NPU nella visione artificiale, per il rilevamento di oggetti in tempo reale su telecamere di sicurezza o droni.
L’Ethos-U55, integrato con processori Cortex-M, è ottimizzato per inferenze a basso consumo e supporta modelli di apprendimento automatico come le reti neurali convoluzionali. L’U65 estende le capacità dell’U55, offrendo prestazioni superiori per applicazioni più esigenti. Entrambe le NPU sfruttano l’architettura proprietaria di ARM per migliorare l’efficienza della memoria e ridurre la latenza. Grazie alla scalabilità e al supporto di framework standard come TensorFlow Lite Micro, consentono di implementare soluzioni di intelligenza artificiale avanzate in dispositivi compatti e con risorse limitate.
GPU ottimizzate per applicazioni embedded
Le GPU (Graphics Processing Unit), inizialmente note per l’elaborazione grafica, sono ora importanti strumenti per l’intelligenza artificiale. Sono infatti capaci di eseguire calcoli paralleli su larga scala. NVIDIA, con la sua famiglia Jetson, offre piattaforme GPU ottimizzate per applicazioni embedded. Tra queste, Jetson Nano e Xavier NX, ideali per carichi di lavoro intensivi come il riconoscimento facciale e l’analisi video in tempo reale.

Le GPU, pur offrendo una grande potenza di calcolo, tendono a consumare più energia rispetto ad altri acceleratori, rendendole più adatte a dispositivi con alimentazione continua. Un’alternativa molto diffusa nei sistemi embedded sono i DSP (Digital Signal Processor), progettati per elaborare segnali in tempo reale. Tradizionalmente impiegati in applicazioni come l’elaborazione audio e il controllo motore, oggi i DSP vengono sempre più spesso utilizzati anche per supportare modelli di intelligenza artificiale.
I Field-Programmable Gate Array (o semplicemente FPGA) rappresentano un punto di svolta per l’accelerazione AI nei sistemi embedded, grazie alla loro flessibilità e alla capacità di essere programmati per eseguire attività specifiche in modo altamente efficiente. A differenza di GPU e NPU, gli FPGA possono essere personalizzati per ottimizzare l’esecuzione di modelli specifici, garantendo un utilizzo ottimale delle risorse hardware.
Microcontrollori con acceleratori AI integrati
Un’altra importante innovazione nel campo embedded è rappresentata dai microcontrollori con acceleratori AI integrati. Dispositivi come STMicroelectronics STM32, Espressif ESP32-S3 e NXP i.MX RT incorporano motori dedicati per accelerare l’esecuzione di modelli direttamente su microcontrollori a bassa potenza. STM32Cube.AI consente agli sviluppatori di convertire i modelli TensorFlow Lite in codice ottimizzato per l’esecuzione su STM32, ideale per applicazioni IoT.
Tutti i microcontrollori menzionati rappresentano una soluzione conveniente per applicazioni che richiedono una semplice inferenza AI, come la classificazione del segnale o il riconoscimento di parole chiave. ESP32-S3 è un MCU dual-core XTensa LX7 con una frequenza fino a 240 MHz, progettato per applicazioni AIoT. È dotato di connettività Wi-Fi a 2,4 GHz (802.11 b/g/n) e Bluetooth 5 (LE) per connessioni veloci e affidabili e offre elevata portata e velocità di trasmissione fino a 2 Mbps. È dotato di 512 KB di SRAM, supporto per flash SPI e PSRAM ad alta velocità, nonché 45 GPIO programmabili, un ricco set di periferiche come SPI, I2C, ADC, UART e altre e un modulo RF.

Il chip è progettato per ottimizzare le operazioni di intelligenza artificiale, gestendo calcoli complessi per le reti neurali grazie a funzionalità integrate avanzate. Oltre alla potenza di calcolo, offre un elevato livello di sicurezza, proteggendo i dati con crittografia avanzata e un sistema di isolamento delle operazioni.
Vantaggi e scelta di un acceleratore AI
Gli acceleratori AI sono essenziali per fornire risultati quasi istantanei, poiché la velocità di elaborazione e la scalabilità sono due esigenze principali delle applicazioni AI. Gli acceleratori AI non possono permettersi di attingere a troppa energia o dissipare troppo calore durante l’esecuzione di enormi quantità di calcoli, sia che vengano utilizzati in un’applicazione edge con un budget di potenza minimo o in un ambiente di data center che deve essere mantenuto fresco.
Grazie alla sua velocità, gli acceleratori di intelligenza artificiale riducono la latenza del tempo necessario per generare una risposta. In utilizzi critici per la sicurezza come i sistemi avanzati di assistenza alla guida (ADAS), in cui ogni secondo conta, questa bassa latenza è particolarmente cruciale.
Inoltre, sviluppare un algoritmo per gestire un problema può rivelarsi difficile. Ancora più difficile è eseguire questo metodo parallelizzandolo lungo diversi core per una maggiore capacità di elaborazione. Ma nel regno delle reti neurali, gli acceleratori di intelligenza artificiale consentono un grado di accelerazione della velocità delle prestazioni quasi pari al numero totale di CPU impegnate.
Progettazione eterogenea
La progettazione eterogenea è un altro fattore importante. Questo metodo consente a un dato sistema di ospitare diverse CPU specializzate per assistere varie attività, offrendo quindi le prestazioni computazionali necessarie per le applicazioni di intelligenza artificiale. Può anche utilizzare diversi dispositivi, ad esempio memoria, caratteristiche magnetiche e capacitive di varie costruzioni in silicio e persino luce per i calcoli.
Una delle domande più comuni tra gli sviluppatori riguarda la scelta dell’acceleratore più adatto per un progetto embedded. La risposta dipende da diversi fattori, tra cui il tipo di applicazione, i requisiti energetici, le prestazioni richieste e i vincoli di costo.
Per applicazioni che richiedono tempi di risposta minimi, come il controllo robotico in tempo reale, gli FPGA rappresentano spesso la soluzione più adatta grazie alla loro capacità di eseguire operazioni in parallelo con bassa latenza. Le GPU, invece, sono generalmente preferite per compiti ad alta intensità computazionale, come l’elaborazione avanzata di video. Le NPU offrono un buon compromesso tra prestazioni ed efficienza energetica, risultando ideali per applicazioni come il riconoscimento vocale e la traduzione automatica. Per dispositivi con vincoli energetici stringenti, come i wearable e i sensori IoT, i DSP e i microcontrollori con acceleratori AI integrati rappresentano una scelta ottimale.
Gli FPGA, come lo Xilinx Zynq UltraScale+, si distinguono per l’elevata efficienza energetica, anche se il loro consumo varia in base alla configurazione hardware e alla complessità del modello implementato.
Nell’automazione industriale, gli FPGA vengono impiegati per l’ispezione visiva delle linee di produzione, offrendo un controllo qualità più rapido e accurato rispetto ai metodi tradizionali. Anche in ambito medico, i microcontrollori con acceleratori AI integrati stanno trovando applicazione nei dispositivi indossabili, come smartwatch in grado di monitorare il battito cardiaco e rilevare aritmie in tempo reale.
Acceleratori AI nei sistemi embedded
L’adozione su larga scala degli acceleratori AI nei sistemi embedded è stata favorita dall’evoluzione delle piattaforme open source e dei framework di sviluppo. Strumenti come TensorFlow Lite e PyTorch Mobile sono ampiamente utilizzati per ottimizzare modelli AI su dispositivi embedded, mentre soluzioni come Edge Impulse semplificano lo sviluppo di applicazioni AI per dispositivi a basso consumo, consentendo l’addestramento dei modelli direttamente sui dati raccolti dai sensori.
L’uso di RISC-V per l’accelerazione AI nei sistemi embedded sta attirando sempre più attenzione. La sua architettura open-source permette un alto grado di personalizzazione, rendendo più semplice sviluppare acceleratori AI su misura per specifici carichi di lavoro. Sempre più aziende stanno investendo nella progettazione di core RISC-V dedicati al machine learning, sfruttando la sua flessibilità per bilanciare al meglio prestazioni, efficienza energetica e costi.