Liberate il kraken: come portare l'intelligenza artificiale in qualsiasi sistema industriale

C'è un interesse sempre più crescente ad applicare l'intelligenza artificiale (IA) e l'apprendimento automatico (ML) agli ambienti industriali, per aumentare la produttività, migliorare l'efficienza e ridurre i costi di esercizio. Tuttavia, come vi potrebbe confermare qualunque ingegnere o direttore tecnico, per far diventare "intelligente" una base installata di macchine, dai motori agli impianti HVAC, è necessario prima risolvere tre problematiche fondamentali.

Primo: non ci sono abbastanza esperti di IA e ML per soddisfare la richiesta, e gli esperti disponibili non sono certo a basso costo. Secondo: si assiste a una carenza di set di dati qualificati per addestrare i sistemi di IA e ML, e quelli disponibili sono custoditi gelosamente. Terzo: per funzionare, i sistemi di IA e ML richiedono piattaforme di elaborazione di fascia alta.

Ciò che serve è un modo per permettere a ingegneri e sviluppatori privi di esperienza in materia di creare in poco tempo sistemi di IA e ML e distribuirli su piattaforme con microcontroller efficienti e a basso costo. Una startup interessante, Cartesiam.AI, offre la soluzione a tutti questi problemi con il proprio sistema NanoEdge AI Studio. Vi spiego.

Alcuni numeri per comprendere la crescita di IA e ML

Entro la metà del 2020, a seconda della fonte, si prevede la presenza in tutto il mondo di un numero di dispositivi periferici variabile tra 20 e 30 miliardi1,2. Il termine "dispositivo periferico" indica dispositivi e sensori connessi, situati al "bordo" della rete Internet, nel punto di interfaccia con il mondo reale. Di questi, solo lo 0,3% circa sarà provvisto di capacità di IA e ML. Si stima inoltre che entro il 2025 in tutto il mondo ci saranno tra i 40 e i 75 miliardi di dispositivi3,4 e per allora si prevede che almeno il 25% di essi dovrà essere provvisto di funzionalità di IA e ML.

Un aspetto importante nelle distribuzioni industriali è la necessità trasformare in intelligenti le macchine esistenti, introducendo funzionalità di IA e ML. È improbabile sovrastimare il potenziale in questo caso. Ad esempio, solo negli Stati Uniti si calcola che siano presenti infrastrutture e macchine non intelligenti per un valore di 6800 miliardi di dollari.5

Come implementare IA e ML in modo più efficiente

L'Internet delle cose (IoT) e l'IoT industriale (IIoT) sono onnipresenti e collegano sempre più oggetti. La prossima sfida sarà rendere questi oggetti intelligenti.

Il metodo tradizionale per creare un'applicazione di IA/ML è definire un'architettura di rete neurale che includa un numero definito di livelli neurali, neuroni in ogni livello, e definisca in che modo i diversi neuroni e livelli debbano collegarsi tra di loro. Il passaggio successivo è l'utilizzo di un set di dati qualificato (che ha già richiesto tempo e risorse per la sua creazione). Questo set di dati viene utilizzato per addestrare la rete nel cloud, utilizzando molti server di fascia alta, con enormi capacità di calcolo. Come ultimo passaggio, la rete che viene addestrata deve assumere una forma idonea per essere distribuita nel dispositivo periferico.

Secondo il Quant Crunch Report di IBM6 "data science e analitica" sono passati dall'essere termini di moda a strumenti fondamentali per le imprese. Crescono però i timori che le risorse in grado di lavorare con data science e analitica siano pericolosamente inferiori alle richieste, con un ammanco di data scientist attualmente pari a 130.000 unità solo negli Stati Uniti.

Sfortunatamente, l'impossibilità di accedere a data scientist esperti e set di dati qualificati ostacola una creazione rapida e conveniente di oggetti intelligenti con capacità di IA e ML. Secondo Cisco7 il tasso di fallimento dei progetti IoT in genere si aggira attorno al 74%, e aumenta quando entrano in gioco IA e ML.

IDC8 stima che al mondo esistano circa 22 milioni di sviluppatori; di questi, più o meno 1,2 milioni si occupano di sistemi embedded e, al loro interno, solo uno 0,2% circa ha qualche esperienza di IA e ML.

Alcuni sistemi di IA e ML, come la visione artificiale per il rilevamento e l'identificazione degli oggetti, richiedono l'uso di speciali dispositivi di calcolo di fascia alta, come unità di elaborazione grafiche (GPU) e/o gate array programmabili sul campo (FPGA). Gli ultimi sviluppi delle tecnologie di IA e ML, tuttavia, permettono di distribuire la grande maggioranza delle applicazioni di questo tipo che non riguardano la visione artificiale su microcontroller di fascia relativamente bassa, largamente diffusi nei sistemi embedded.

Nel 2020, secondo Statista9, le spedizioni globali di microcontroller ammonteranno a circa 28 miliardi di unità (che significa più o meno 885 al secondo), e in questo modo le piattaforme basate su microcontroller diventeranno di gran lunga l'hardware più diffuso sul mercato. Grazie al basso consumo energetico, sono la piattaforma perfetta per portare l'intelligenza sul perimetro della rete.

Persino le grandi aziende, che hanno accesso a data scientist e set di dati, nonché a budget praticamente illimitati, fanno fatica a ottenere una buona padronanza dell'intelligenza artificiale e dell'apprendimento automatico. Per le piccole aziende potrebbe essere addirittura impossibile. Se la situazione rimane invariata, è impossibile che entro il 2025 il 25% dei dispositivi periferici possa contare su funzionalità di IA e ML. Se solo gli sviluppatori esistenti di sistemi embedded basati su microcontroller avessero gli strumenti per sviluppare applicazioni di IA e ML...

Un modo semplice, rapido e conveniente per sviluppare oggetti intelligenti con capacità di IA e ML

La piattaforma di calcolo onnipresente per applicazioni embedded in ambiente industriale è il microcontroller, e nessun microcontroller è più diffuso della famiglia Cortex-M di Arm, in particolare M0, M0+, M3, M4 e M7.

Figura 1: V2M-MPS2-0318C è una potente piattaforma di sviluppo per applicazioni basate su Arm Cortex-M, con elevato I/O e un display LCD. (Immagine per gentile concessione di Arm)

Le aziende hanno in genere accesso a sviluppatori embedded tradizionali. Ciò che serve è un modo per trasformare questi sviluppatori in esperti di IA e ML, senza alcuna formazione particolare. La soluzione ideale sarebbe garantire agli sviluppatori embedded tradizionali la possibilità di creare in modo rapido e semplice macchine consapevoli, che siano in grado di imparare e comprendere l'ambiente in cui si trovano, identificare modelli di comportamento e riconoscere anomalie, prevedere problemi e risultati. Tutto in modo automatico e su piattaforme convenienti, basate su microcontroller, poste sul perimetro della rete, dove vengono generati e acquisiti i dati.

La soluzione, come ho accennato in precedenza, c'è. È NanoEdge AI Studio di Cartesiam.AI. Utilizzando questo ambiente di sviluppo integrato (IDE), che funziona in Windows 10 o Linux Ubuntu, lo sviluppatore embedded seleziona in primo luogo il microcontroller di destinazione, cioè un Cortex di Arm, da M0 a M7. Lo sviluppatore o il progettista specifica inoltre la quantità massima di RAM da allocare alla soluzione. Se siete un po' arrugginiti o non conoscete l'argomento, un buon punto di partenza è Cortex-M Prototyping System+ V2M-MPS2-0318C di Arm (figura 1).

V2M-MPS2-0318C fa parte della gamma Versatile Express di schede di sviluppo di Arm. Comprende un FPGA relativamente grande per la prototipazione di progetti basati su Cortex-M. A questo riguardo, include implementazioni FPGA crittografate fisse di tutti i processori Cortex-M. Ha anche periferiche piuttosto utili tra cui PSRAM, Ethernet, touchscreen, audio, un LCD VGA, SPI e GPIO.

Lo sviluppatore deve quindi selezionare il numero e i tipi di sensori da utilizzare. La cosa bella dell'approccio di Cartesiam.AI è che non limita il numero di sensori che si possono utilizzare. Possono includere ad esempio:

È importante sottolineare che lo sviluppatore non deve definire codici componente specifici, ma indicare solo il tipo di sensore in generale.

Il passo successivo consiste nel caricare dati contestuali del sensore, cioè dati generici associati a ogni sensore, per dare al sistema un'idea di ciò con cui dovrà lavorare.

NanoEdge AI Studio integra un gruppo molto ampio di "componenti costitutivi" di IA e ML, che possono essere utilizzati per creare soluzioni per almeno il 90% delle attività di questo tipo. Una volta che avete inserito le informazioni sul microcontroller di destinazione, il numero e i tipi di sensori e il tipo generico di dati che può provenire dal sensore, il sistema genera la migliore soluzione per la libreria di intelligenza artificiale/apprendimento automatico tra i 500 milioni di combinazioni possibili.

Se lo sviluppatore lo desidera, questa soluzione può essere testata sullo stesso PC che esegue l'IDE NanoEdge AI Studio utilizzando un emulatore incluso (si tratta di una fase facoltativa). La soluzione viene quindi incorporata all'interno del programma principale del microcontroller, compilata e scaricata nel sistema basato sul microcontroller associato alla macchina di destinazione.

A solo scopo di esempio, immaginiamo di voler trasformare in intelligenti due macchine diverse, una pompa e un generatore. Sempre all'interno dello stesso esempio, supponiamo di creare una sola soluzione che utilizzi un sensore di temperatura e un accelerometro a 3 assi, e che questa soluzione venga distribuita su entrambe le macchine (Figura 2).

Figura 2: Dopo l'uso dell'IDE NanoEdge AI Studio per creare e (facoltativamente) testare la libreria di IA e ML, quest'ultima viene incorporata all'interno del programma principale, compilata e scaricata nel sistema basato sul microcontroller associato alle macchine di destinazione. A seguito di una fase di apprendimento (in genere una settimana di funzionamento 24 ore al giorno), il motore inferenziale può essere utilizzato per rilevare e segnalare anomalie e prevedere risultati futuri. (Immagine per gentile concessione di Max Maxfield)

Naturalmente le due macchine avranno caratteristiche completamente diverse. In realtà, anche due macchine identiche possono avere caratteristiche molto diverse, a seconda della posizione e dell'ambiente in cui operano. Ad esempio, due pompe identiche situate a 20 metri di distanza all'interno dello stesso stabilimento possono avere profili di vibrazione diversi in base a dove vengono montate (una su cemento, l'altra su montanti in legno) e alla lunghezza (e alla forma e al materiale) dei tubi a cui sono collegate.

La chiave dell'intero processo è il fatto che le soluzioni di IA/ML vengono addestrate individualmente su macchine sicuramente funzionanti, e questo addestramento in genere dura una settimana senza interruzione, 24 ore al giorno, e permette quindi al sistema di imparare dalle fluttuazioni di temperatura e dai modelli di vibrazione. Naturalmente, in fasi successive, possono essere effettuate ulteriori sessioni di addestramento per perfezionare i modelli affinché tengano conto delle variazioni ambientali associate alla stagionalità (per applicazioni esterne) e ad altre variabili previste.

Una volta addestrate, le soluzioni possono iniziare a dedurre situazioni da tutti i nuovi dati che ricevono, identificando modelli e rilevando anomalie, prevedendo problemi e risultati e presentando le conclusioni in una dashboard, che può essere utilizzata per l'analisi da parte di tecnici e manager, a seconda delle necessità.

Conclusione

Secondo me, NanoEdge AI Studio può segnare una svolta. Essendo un sistema intuitivo, permetterà ai progettisti di sistemi embedded di utilizzare microcontroller Arm Cortex-M a basso consumo e basso costo (presenti in miliardi di dispositivi in tutto il mondo) per integrare in modo rapido, semplice e a costo zero l'intelligenza artificiale e l'apprendimento automatico in sistemi industriali, e trasformare così le macchine in entità intelligenti, per aumentare la produttività e migliorare l'efficienza, ottenendo anche un tanto sperato risparmio sui costi di esercizio.

Riferimenti

1: https://www.vxchnge.com/blog/iot-statistics

2: https://securitytoday.com/articles/2020/01/13/the-iot-rundown-for-2020.aspx

3: https://www.helpnetsecurity.com/2019/06/21/connected-iot-devices-forecast/

4: https://securitytoday.com/articles/2020/01/13/the-iot-rundown-for-2020.aspx

5: https://www.kleinerperkins.com/perspectives/the-industrial-awakening-the-internet-of-heavier-things/

6: https://www.ibm.com/downloads/cas/3RL3VXGA

7: https://newsroom.cisco.com/press-release-content?articleId=1847422

8: https://www.idc.com/getdoc.jsp?containerId=US44363318

9: https://www.statista.com/statistics/935382/worldwide-microcontroller-unit-shipments/

Informazioni su questo autore

Image of Max Maxfield

Clive "Max" Maxfield received his BSc in Control Engineering in 1980 from Sheffield Hallam University, England and began his career as a designer of central processing units (CPUs) for mainframe computers. Over the years, Max has designed everything from silicon chips to circuit boards and from brainwave amplifiers to steampunk Prognostication Engines (don't ask). He has also been at the forefront of Electronic Design Automation (EDA) for more than 30 years.

Max is the author and/or co-author of a number of books, including Designus Maximus Unleashed (banned in Alabama), Bebop to the Boolean Boogie (An Unconventional Guide to Electronics), EDA: Where Electronics Begins, FPGAs: Instant Access, and How Computers Do Math. Check out his “Max’s Cool Beans” blog at www.CliveMaxfield.com

More posts by Max Maxfield
 TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum