EO_483

DIGITAL ARTIFICIAL INTELLIGENCE 49 - ELETTRONICA OGGI 483 - GENNAIO/FEBBRAIO 2020 teristiche. In genere queste piattaforme consistono di un sistema hardware, un soft core, un compilatore per rete neurale, moduli di sviluppo e risorse che aiutano a ottenere velocemente il corretto progetto. Opzioni relative al motore d’inferenziazione La costruzione di un motore d’inferenziazione in un dispositivo all’edge presenta due aspetti: lo sviluppo della piattaforma hardware sulla quale sarà eseguito il modello, e lo sviluppo di quest’ultimo. In teoria, l’esecuzione di un modello può avere luogo su molte architetture diverse. Ma l’esecuzione all’edge, quando si tiene conto dei requisiti relativi alla potenza, flessibilità e scalabilità di cui sopra, limita la scelta – particolarmente per applicazioni sempre attive. Microcontroller (MCU) Il modo più frequente per gestire modelli IA consiste nell’uso di un processore, che può essere una GPU, un DSP o un microcontroller. Ma i processori adope- rati in dispositivi posti alla periferia, potrebbero non essere in grado di far fronte al problema dell’ese- cuzione anche di semplici modelli; un tale dispositi- vo potrebbe essere dotato solo di un MCU di fascia bassa. L’uso di un processore più potente potrebbe non soddisfare i requisiti relativi alla potenza e al co- sto del dispositivo, così che potrebbe sembrare che l’IA sia fuori della portata di tali dispositivi. È qui che gli FPGA a basso consumo di potenza pos- sono svolgere un ruolo importante. Anziché ricorre- re a un processore più potente per la gestione degli algoritmi, si possono utilizzare nuovi FPGA in grado di operare da co-processori dell’MCU, eseguendo le operazioni complesse impossibili per quest’ultimo, al contempo mantenendo la potenza nell’intervallo richiesto. Poiché questi FPGA possono implementa- re i DSP, assicurano la potenza di calcolo non dispo- nibile in un MCU di fascia bassa. ASIC e ASSP Per modelli IA più maturi e che saranno venduti in grandi volumi, possono essere appropriati ASIC o ASSP (application-specific standard product), che però, a causa del loro carico di attività, consumeranno troppa potenza per un’applicazione sempre attiva. In questo caso gli FPGA possono funzionare da barrie- re delle attività, gestendo attività di “risveglio” in base a una frase adatta o alla rilevazione di un’ampia classe di immagini video (come l’identificazione di qualcosa che sembra possa essere una persona) prima di ri- attivare l’ASIC o l’ASSP per completare l’operazione di identificazione di un ulteriore parlato o di confer- ma con un elevato livello di fiducia che un artefatto in un video sia effettivamente una persona (o addirittura una specifica persona). Il dispositivo FPGA gestisce la parte “always-on”, dove la potenza ha il ruolo più cruciale. Mentre non tutti gli FPGA possono gestire questo ruolo, perché molti di essi ancora consumano troppa potenza, vi sono alcuni modelli FPGA con le caratteristiche di potenza necessarie per questo ruolo. Motori IA FPGA autonomi Infine, gli FPGA a bassa potenza possono funziona- re da motori IA integrati e autonomi. Qui svolgono il ruolo principale i DSP disponibili negli FPGA. An- che se un dispositivo all’edge non ha altre risorse di calcolo, è possibile aggiungere funzionalità IA senza sforare i budget di potenza, costo o area sulla sche- da, e che abbiano anche la flessibilità e scalabilità necessari per algoritmi in rapida evoluzione. Costruzione di modelli d’inferenziazione La costruzione di un modello d’inferenziazione co- stituisce il passo successivo nella fase finale di svi- luppo. La progettazione dell’hardware che eseguirà un modello d’inferenziazione IA richiede di bilancia- re il numero di risorse necessarie e i requisiti relativi alle prestazioni e alla potenza. FPGA di dimensioni diverse possono ospitare da uno a otto motori d’in- ferenziazione ed essere dotati di 1 – 3,7 Mb di me- moria locale, funzionando a potenza sino a 1 W e con un ingombro di 100 mm². Altre opzioni FPGA possono presentare livelli di po- tenza bassissimi – sino a un millesimo del valore massimo precedente, ossia 1 mW – e occupare un’a- rea di appena 5,5 mm² sulla scheda. Tali FPGA ospi- tano sino a otto moltiplicatori e fino a 1 Mb di memo- ria locale. Dato un FPGA, un soft core, e tutti gli altri componenti hardware necessari per il trasferimento dei dati, è possibile compilare nuove piattaforme tra- mite strumenti di progettazione per generare il flus- so di bit che configurerà gli FPGA ogni volta che si accende l’apparecchio interessato. La creazione di un modello d’inferenziazione è mol- to diversa da quella della piattaforma di esecuzione sottostante. È più astratta e matematica, e non com- porta la progettazione di RTL. Si divide in due fasi principali: la creazione di un modello astratto e poi la relativa ottimizzazione sulla piattaforma prescelta. Il training del modello ha luogo su uno qualsiasi dei numerosi framework progettati specificamente per questo processo. I due framework più noti sono Caf- fe e TensorFlow, ma ve ne sono altri. In definitiva, I progetti IA con inferenziazione alla pe- riferia che richiedono bassa potenza, flessibilità e scalabilità possono essere implementati velocemen- te in nuovi modelli di FPGA che rendono disponibili gli elementi cruciali necessari per la corretta attua- zione di algoritmi IA.

RkJQdWJsaXNoZXIy MTg0NzE=