NXP ha potenziato l’ambiente di sviluppo eIQ ML con il toolkit eIQ, potente e facile da usare.
NXP Semiconductors offre processori ottimizzati in termini di costi, prestazioni e consumi e i relativi tool che consentono di implementare algoritmi di Machine Learning in locale (Edge), con più sicurezza, più protezione dei dati e minor latenza.
di Lucia Quaglietta
Lo sviluppo di algoritmi di ML (Machine Learning), DL (Deep Learning) e reti neurali è tradizionalmente appannaggio di data scientist ed esperti di AI. Tuttavia, questa situazione sta cambiando con la disponibilità di un numero sempre maggiore di strumenti e tecnologie di ML che eliminano parte della complessità dello sviluppo di tali applicazioni. Un esempio è l’ambiente di sviluppo ML eIQ (Edge Intelligence) di NXP. eIQ comprende una serie di strumenti per il flusso di lavoro, motori di inferenza, compilatori di reti neurali (NN), librerie semplificate e tecnologie che semplificano e accelerano lo sviluppo di applicazioni di ML per gli utenti con diversi livelli di competenza, a partire dagli sviluppatori embedded che creano i loro primi progetti di Deep Learning, fino agli esperti che si concentrano sul rilevamento avanzato di oggetti, sulla classificazione, sul rilevamento di anomalie o su soluzioni di riconoscimento vocale.
eIQ fornisce un approccio conveniente per la convalida del modello e la misurazione dell’accuratezza.
MIGLIORAMENTI PER IL SOFTWARE
Introdotto nel 2018, il software eIQ è stato costantemente sviluppato per supportare applicazioni a livello di sistema e algoritmi di ML per la serie i.MX di NXP, dai microcontrollori crossover a basso consumo i.MX RT (basati su core Cortex-M) ai processori multicore i.MX 8 e i.MX 8M (basati su core Cortex-A).
Per aiutare gli sviluppatori ML a diventare ancora più produttivi e competenti con le piattaforme i.MX 8 di NXP, l’azienda ha migliorato significativamente l’ambiente software eIQ. Tra le migliorie segnaliamo i nuovi strumenti di workflow eIQ Toolkit, l’ambiente di sviluppo eIQ Portal basato su GUI e il motore di inferenza DeepViewRT ottimizzato per le famiglie i.MX e i.MX RT.
“TUTTI POSSONO FARE ML”
Data la complessità delle applicazioni di Machine Learning, reti neurali e Deep Learning e le diverse esigenze degli sviluppatori di ML, un semplice strumento “one size fits all” non è la soluzione giusta. È meglio disporre di kit completi e flessibili che ben si adattino alle competenze e all’esperienza degli sviluppatori.
Per questo motivo, NXP ha potenziato l’ambiente di sviluppo eIQ ML con il toolkit eIQ, potente e facile da usare. Il kit consente agli sviluppatori di importare set di dati e modelli e di addestrare, ottimizzare, quantizzare, convalidare e distribuire modelli di reti neurali distribuendo i carichi di lavoro ML sulla famiglia di processori applicativi i.MX 8M e sul portafoglio di MCU i.MX RT Crossover di NXP. Sia che si tratti di uno sviluppatore embedded al suo primo progetto di ML o di un data scientist o di un esperto di IA, tutti possono trovare le caratteristiche del toolkit adatte al proprio livello di competenza.
Il toolkit eIQ comprende workflow semplici e casi d’uso di ML. Inoltre, sul portale eIQ è disponibile un’opzione di sviluppo basata su GUI, oltre alla possibilità di utilizzare strumenti a riga di comando. Se gli sviluppatori desiderano utilizzare approcci di sviluppo “off the shelf” o, al contrario, necessitano di un supporto più personalizzato, il toolkit fornisce facile accesso al supporto di NXP e all’eIQ Marketplace di NXP, tra cui è possibile selezionare un partner certificato NXP, come ad esempio Au-Zone Technologies.
Con il portale eIQ, gli sviluppatori possono facilmente creare, ottimizzare, eseguire il debug, convertire ed esportare modelli ML. Ma possono anche utilizzarlo per importare set di dati e modelli dai framework di ML TensorFlow, ONNX e PyTorch. Inoltre, possono addestrare un modello con i propri dati utilizzando il “flusso BYOD” (BYOD: Bring Your Own Data), selezionare un modello pre-addestrato da un database o utilizzare un proprio modello ottimizzato con l’importazione del “flusso BYOM” (BYOM: Bring Your Own Model).
Questo include, ad esempio, i modelli di rilevamento di Au-Zone Technologies. Con il semplice processo BYOM, gli sviluppatori possono creare un modello addestrato utilizzando strumenti pubblici o privati basati su cloud, quindi inserire il modello nel toolkit eIQ per eseguirlo sul motore di inferenza appropriato ottimizzato per il dispositivo che intendono utilizzare.
Sull’hardware di destinazione, le funzionalità di profilazione basate sulla grafica forniscono agli sviluppatori informazioni sul runtime per regolare e ottimizzare i parametri di sistema, le prestazioni, l’utilizzo della memoria e le architetture di reti neurali sui dispositivi i.MX.
Il portale eIQ assicura un approccio flessibile per BYOM e BYOD.
IL PIÙ RECENTE MOTORE DI INFERENZA
Il cuore di un progetto di ML è il motore di inferenza, il componente runtime critico nelle applicazioni di ML. Per questo motivo NXP non solo supporta motori di inferenza open-source, basati sulla comunità e ottimizzati per i dispositivi e le MCU i.MX, tra cui Glow, ONNS e TensorFlow Lite, ma anche il motore di inferenza DeepViewRT.
DeepViewRT è stato sviluppato in collaborazione con Au-Zone Technologies, partner di NXP. Si tratta di un motore di inferenza proprietario che fornisce una soluzione stabile e a lungo termine (mantenuta dal produttore) integrando tutto ciò che il mondo open-source ha da offrire. ©TECNeLaB
DeepViewRT fornisce un motore di inferenza stabile, pronto per la produzione e flessibile per le applicazioni ML.