Home Digitale Come sviluppare modelli di intelligenza artificiale per edge computing

Come sviluppare modelli di intelligenza artificiale per edge computing

Edge computing e intelligenza artificiale sono due fra le tecnologie più promettenti e in grande crescita di popolarità. Non solo: sono anche perfettamente complementari, giustificando assieme gli investimenti in sviluppo ed implementazione. Il combinato disposto di edge e intelligenza artificiale apre scenari inediti, il cui potenziale è quasi illimitato e alla base di progetti anche molto complessi di trasformazione digitale. Per approfondire questa interessante tematica, ci siamo confrontati con gli esperti di Reply. Giorgia Fortuna, Machine Learning Reply ci parla dello sviluppo di modelli di intelligenza artificiale per dispositivi Edge

Il processo di sviluppo di un modello di intelligenza artificiale per dispositivi Edge può essere suddiviso in tre fasi principali – sviluppo, ottimizzazione e implementazione – ciascuno con framework e strumenti software specifici volti a semplificare l’intero processo.

Secondo Giorgia Fortuna, Machine Learning Reply, nella fase di sviluppo del modello vengono analizzati i dati e viene definita la tipologia di pattern da implementare su PC standard. Qui, il supporto è dato dal consueto framework di intelligenza artificiale: gli strumenti più comuni sono PyTorch e TensorFlow che supportano grafici computazionali dinamici. Benché entrambi idonei, si preferisce il secondo perché capace di fornire molte caratteristiche in più appositamente progettate per dispositivi Edge, considerando inoltre che, laddove possibile, i Convolutional Neural Networks (CNN) vengono sempre privilegiati, perchè estremamente adatti al riconoscimento delle immagini e in virtù del fatto che le Recurrent Neural Networks (RNN) hanno poco o nessun supporto su dispositivi Edge.

Si procede con la fase di ottimizzazione del modello, in cui vengono impiegate svariate tecniche per ridurne la dimensione e adattarlo ai dispositivi Edge. Fortuna ricorda che le più usate restano la quantizzazione del modello e la fusione degli strati. La scelta dello strumento in questo caso però non può essere generalizzata, giacché a dispositivi differenti corrispondono diverse procedure di ottimizzazione. Qui, sottolinea il manager di Reply, gli strumenti più frequentemente impiegati sono TensorFlow Lite, vantaggioso per le applicazioni mobili perché capace di integrarsi ottimamente con i chipset mobile, Tensor Rt, indispensabile per massimizzare le prestazioni su dispositivi edge dedicati e Open VINO, per migliorare i modelli di intelligenza artificiale nei microprocessori Intel.

Il terzo momento è rappresentato dall’implementazione del modello, dove di fatto viene installato nel dispositivo target e usato per l’interferenza.

Si tratta di un passaggio piuttosto semplice se si utilizzano dispositivi Edge dedicati e general-purpose. Ma l’approccio cambia in caso di dispositivi non tradizionali, come acceleratori che hanno solitamente librerie di interfaccia di basso livello e piuttosto instabili. Per questo motivo sono stati sviluppati framework che nascondono tale complessità dietro un’interfaccia comune, uno su tutti Open VINO di Intel. TensorFlow Lite è invece la scelta ideale nel settore dei microcontroller perché permette di creare l’interferenza direttamente sul dispositivo o anche CMSIS-NN come libreria in aggiunta per potenziarne le prestazioni nella valutazione di modelli di AI. Conclude Fortuna, nell’ambito degli FPGA il framework ottimizzatore per eccellenza è FINN di Xilinx.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche
css.php