Come portare il machine learning ad alte prestazioni a livello di edge? Ovvero, come semplificare la vita ai dispositivi di riconoscimento automatico, evitando le latenze e le complessità del cloud.
La ricerca sull’intelligenza artificiale (AI) ha fatto passi da gigante e ha ampliato l’utilità dei computer. Le macchine possono svolgere determinati compiti in modo più rapido e preciso rispetto agli umani. Un ottimo esempio è il concorso ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Questa competizione relativo al riconoscimento e catalogazione delle immagini utilizza un tipo di intelligenza artificiale denominato machine learning (ML). Nel 2012, AlexNet, una rete neurale convoluzionale (CNN), ha vinto questo concorso ed è stata la prima a vincere usando reti neurali profonde e GPU per l’allenamento alla riconoscibilità. Entro il 2015, la rete neurale ResNet-152 ha battuto gli umani nella classificazione delle immagini.
Anche nei giochi i computer possono essere migliori degli umani.
L’apprendimento automatico offre nuove straordinarie funzionalità attualmente a disposizione di un grande numero di aziende. Queste nuove funzionalità sono essenziali anche per applicazioni come le smart home, i negozi intelligenti, le smart factories e le smart cities. Testimonianze di un sempre maggiore utilizzo dell’apprendimento automatico le possiamo constatare nell’incredibile crescita dei servizi cloud di ML disponibili da provider come Amazon AWS SageMaker, Microsoft Azure ML e Google Cloud ML engine.
La spinta verso l’Edge
Fino a poco tempo fa, l’attenzione per il ML era incentrata sul cloud gestito da enormi centri informatici centralizzati proprio per le grandissime risorse di elaborazione e archiviazione disponibili. Questa attenzione si sta spostando ora sempre più rapidamente a livello di Edge e ciò per una serie di motivi, tra cui:
- i costi di elaborazione, archiviazione e larghezza di banda del cloud che impediscono l’invio di dati al cloud per prendere decisioni abilitate all’intelligenza artificiale;
- una migliore esperienza utente che richiede decisioni rapide abilitate all’intelligenza artificiale;
- problemi di privacy e sicurezza che limitano i dati archiviati nel cloud;
- maggiore affidabilità complessiva.
Tutti questi fattori insieme rendono l’edge il luogo più adatto in cui collocare l’elaborazione ML per molte applicazioni. Ecco perché NXP ha annunciato i.MX 8M Plus, il primo processore i.MX dotato di un acceleratore dedicato per l’apprendimento automatico ad alte prestazioni. Il processore i.MX 8M Plus utilizza la tecnologia del nodo di processo FinFET a 14 nm in bassa potenza con prestazioni elevate e possiede una serie di nuove funzionalità tra cui l’ISP a doppia fotocamera che supporta due sensori per fotocamere HD a basso costo o un sensore per fotocamere 4K per il riconoscimento del volto e per attività di ML di riconoscimento di oggetti e di gesti. Il sistema integra inoltre un Arm Cortex-M7 a 800 MHz indipendente per attività in tempo reale e supporto a bassa potenza, codifica e decodifica video di H.265 e H.264, un DSP HiFi4 a 800 MHz e otto ingressi microfono PDM per il riconoscimento vocale. Le funzionalità IoT industriali comprendono il Gigabit Ethernet con rete sensibile al tempo (TSN), due interfacce CAN FD e un ECC.
Contribuendo ad accelerare il passaggio all’edge, i data scientist stanno ottimizzando algoritmi specifici per dispositivi dotati di risorse limitate che vengono distribuiti a livello edge. MobileNet è un algoritmo di classificazione delle immagini sviluppato da Google con particolare attenzione alla precisione, che riduce in modo significativo la quantità di risorse di calcolo necessarie. Passare dal modello VGG-16 al modello MobileNet v2 riduce la quantità di calcolo necessaria all’edge di 50 volte. Ciò consente a una soluzione hardware limitata come risorse di poter eseguire sofisticate elaborazioni di ML.
Allo stesso modo, eseguire MobileNet v1 sull’edge nella telefonia mobile è significativamente più veloce che non eseguirlo a livello di cloud. La differenza si ottiene eliminando la latenza della rete cloud. La latenza della rete di andata e ritorno può facilmente aggiungere tra i 200 millisecondi e gli oltre 1,4 secondi, ritardando in modo significativo la risposta. L’obiettivo è una risposta inferiore a 100 millisecondi, che appare istantanea all’utente.
Come mostrato, ciascuno di questi casi d’uso richiede un certo livello di prestazioni che determina il livello di hardware necessario per eseguirlo. Questo è un motivo chiave per cui il processore i.MX 8M Plus ha un acceleratore di machine learning dedicato.
Eseguire applicazioni ML a livello di edge ha senso per i motivi già menzionati. Tuttavia, ci sono altri requisiti che devono essere soddisfatti per disporre di una distribuzione corretta:
- un ecosistema per sviluppatori ML che aiuti a semplificare l’esecuzione delle applicazioni ML;
- una sicurezza hardware che contribuisca a rafforzare la privacy e la sicurezza;
- nuove architetture SoC ibride innovative che aiutano a fornire soluzioni convenienti;
- piattaforme edge scalabili e sicure che semplifichino l’esecuzione delle applicazioni ML.
EIQ, ovvero l’ecosistema completo per lo sviluppo di ML
Le applicazioni ML più innovative richiedono un ecosistema di progettazione e di sviluppo che sia all’altezza del compito. Ecco perché NXP ha creato l’innovativo ambiente di strumenti eIQ (“edge intelligence”). Il software eIQ fornisce gli strumenti di cui i clienti hanno bisogno per implementare la loro tecnologia ML su una gamma di SoC NXP, compreso il nuovo processore i.MX 8M Plus. Il software eIQ supporta un’ampia gamma di elementi di elaborazione per ML, inclusi processori Arm Cortex-A e Cortex-M, GPU (processori grafici), DSP e acceleratori ML.
L’ambiente software eIQ ML comprende motori di inferenza e librerie sviluppate dai progressi nelle tecnologie di apprendimento automatico open source. NXP ha comunque implementato tecnologie di questo tipo, tra cui TensorFlow Lite, OpenCV, CMSIS-NN e Arm NN, per i più diffusi processori di applicazioni i.MX RT. Queste tecnologie sono accessibili attraverso gli ambienti di sviluppo di NXP MCUXpresso e Yocto (Linux), fornendo un supporto continuo per lo sviluppo di applicazioni. Il software eIQ è accompagnato da applicazioni di esempio nel rilevamento degli oggetti e nel riconoscimento vocale, ciò per fornire un punto di partenza per l’apprendimento automatico a livello di edge.
Edge Security: EdgeLock
La sicurezza a livello di edge è fondamentale. Le funzionalità necessarie includono un ancoraggio di avvio sicuro, la crittografia su chip, un provisioning sicuro, l’autenticazione reciproca dei dispositivi, la gestione sicura dei dispositivi, aggiornamenti sicuri over-the-air (OTA) e la gestione del ciclo di vita. A supporto di ciò, NXP ha creato il catalogo scalabile EdgeLock. Questo catalogo comprende elementi sicuri, autenticatori sicuri e sicurezza integrata per processori ed MCU.
Il processore i.MX 8M Plus offre una sicurezza integrata EdgeLock avanzata che include un controller di dominio delle risorse, la tecnologia TrustZone, l’HAB, l’avvio crittografato, la crittografia a chiave pubblica con RSA e algoritmi a curva ellittica. Le funzionalità di sicurezza di EdgeLock aiutano a garantire integrità, autenticità e privacy al nodo perimetrale e forniscono ulteriore sicurezza dal perimetro al gateway e al cloud.
AI accessibile a livello di Edge
L’eIQ porta l’ML verso la linea esistente di SoC di NXP sfruttando CPU, GPU e DSP. Tuttavia, anche le CPU più veloci sono inefficienti nell’esecuzione di reti neurali molto complesse. Pertanto, il nuovo processore i.MX 8M Plus è un SoC AI ibrido che combina un SoC incorporato all’avanguardia con la più recente tecnologia NPU hardware AI/ML. Il prodotto risultante sfrutta le applicazioni SoC esistenti, ma aggiunge l’enorme potenza di calcolo parallela di un acceleratore ML.
Il futuro
Il ritmo dei cambiamenti nel panorama dell’IA sta accelerando. Tratti da AI Index 2018 e Monster.com, i dati seguenti mostrano la crescita delle possibilità di lavoro nel settore del deep learning e i richiami all’AI e al machine learning negli utili aziendali. L’intelligenza artificiale e l’apprendimento automatico stanno creando un cambiamento sismico nel settore informatico, che contribuirà a potenziare e migliorare le nostre vite. L’incorporazione di prodotti ottimizzati per le applicazioni AI e ML a livello di edge, come il processore i.MX 8M Plus, contribuiranno a far progredire la strada verso un futuro migliore.