Unisciti agli oltre 15.000 follower di IMP

automazione-it.com
Mouser News

L'embedded si sposta alla periferia della rete

L'introduzione del cloud computing è stata vantaggiosa sotto molti punti di vista: esso ha favorito l'adozione e la diffusione del lavoro flessibile, compreso lo smartworking, spesso più produttivo ed essenziale per garantire la continuità operativa delle aziende durante la pandemia e ha contribuito a rendere più “democratico” l'accesso a risorse avanzate e ad alte prestazioni come l'intelligenza artificiale (AI) e i Big Data.

L'embedded si sposta alla periferia della rete
L'integrazione dell'apprendimento automatico è un importante elemento per implementare la periferia intelligente

In qualità di cardine del mondo IoT, dove parecchi miliardi di terminali (endpoint) sotto forma di sensori ambientali, azionamenti industriali, veicoli autonomi e oggetti di altra natura, il cloud è l'elemento abilitante che permette a persone e aziende di sfruttare tutti i benefici di un mondo sempre più intelligente.

Non mancano, comunque, gli svantaggi. Mantenere una connessione continua a Internet consuma molta energia e può essere un'operazione costosa o difficile dal punto di vista tecnico nel caso di oggetti di piccole dimensioni. Il traffico M2M (Machine-to-Machine) può provocare la congestione delle reti qualora ogni bit di dati debba essere trasmesso verso il cloud. Oltre a ciò, l'utilizzo del cloud introduce una certa latenza che può compromettere l'erogazione del servizio e impedire ai dispositivi IoT di agire in modo deterministico in tempo reale. Senza dimenticare che la trasmissione dei dati attraverso la rete e la loro condivisione con le applicazioni cloud comportano l'insorgere di problematiche relative alla sicurezza e alla privacy.

L'elaborazione si sposta alla periferia

La potenza di calcolo necessaria per elaborare i dati e prendere decisione sulla base dei risultati si sta spostando dal cloud verso la periferia (edge) della rete. Dal punto di vista dell'elaborazione a livello aziendale o dei carrier, l'edge computing è associato a dispositivi gateway posizionati alla periferia della rete core (ovvero la rete utilizzata per il trasporto dei dati degli utenti su scala geografica). E' possibile effettuare un'ulteriore suddivisione, distinguendo tra un'infrastruttura “near edge” che solitamente ospita servizi di tipo generico, e una “far edge”, più vicina all'utente finale dove risiedono le applicazioni più specifiche.

Grazie all'aumento della potenza di elaborazione disponibile, la periferia diventa sempre più intelligente. A questo punto può avere senso continuare su questa strada, trasferendo la potenza di elaborazione ancora più all'esterno fino a comprendere i terminali IoT, inclusi sensori e azionamenti, aggregatori di dati e gateway, dando vita a quello che si può definire la periferia integrata (embedded edge). Qui stanno emergendo nuove soluzioni finalizzate a superare le tradizionali problematiche dei progettisti di sistemi embedded, tra cui consumi di potenza, prestazioni di elaborazione, risorse di memoria e dimensioni fisiche.

I vantaggi dell'elaborazione edge

Sfruttando i vantaggi offerti dalle diverse generazioni di processori, in grado di gestire compiti più complessi, garantire maggiore velocità di elaborazione e consumare meno potenza, la periferia embedded continuerà ad assumere un'importanza maggiore come elemento centrale dell'elaborazione IoT. Alcuni trend in particolare, come Industry 4.0 e guida autonoma, stanno favorendo l'impiego dell'elaborazione edge in applicazioni che richiedono bassa latenza e indipendenza dalla rete. Tra i numerosi esempi si possono annoverare la visione robotica (Fig. 1) e la guida dei veicoli. Per applicazioni di questo tipo è anche possibile ottenere ulteriori miglioramenti integrando l'inferenza derivata dal processo di apprendimento automatico sui sistemi embedded.

L'apprendimento automatico può garantire risultati migliori rispetto a quelle offerte dalle tradizionali applicazioni di visione artificiale, oltre a consentire l'aggiunta di ulteriori funzionalità. Un veicolo AGV (Autonomous Guided Vehicle) potrebbe non solo rilevare gli oggetti presenti sul suo percorso, ma anche procedere alla loro identificazione e classificazione. Si tratta di caratteristiche sempre più importanti nel momento in cui gli spazi all'interno delle fabbriche diventano più affollati di robot (sia mobili sia statici) che operano in stretto contatto con il personale umano.

In modo del tutto analogo, le tecniche di apprendimento automatico possono migliorare l'efficienza del processo di riconoscimento di pattern nei sistemi di monitoraggio delle condizioni di apparati industriali al fine di incrementare l'accuratezza in fase di diagnostica. Tra le numerose applicazioni che possono beneficiare della disponibilità di funzioni locali di apprendimento automatico si può segnalare l'agricoltura smart: in questo caso tramite l'addestramento al riconoscimento delle immagini è possibile identificare in modo autonomo eventuali malattie delle colture senza dover ricorrere a una connessione a Internet.

Apprendimento automatico con TinyML

In tempi recenti si sta affacciando alla ribalta il concetto di Tiny Machine Learning (TinyML) che si pone l'obiettivo di implementare queste funzionalità nei dispositivi embedded. In pratica TinyML definisce framework di apprendimento automatico espressamente adattato per soddisfare le necessità dei sistemi embedded che solitamente dispongono di risorse limitate. Gli sviluppatori hanno bisogno di tool per realizzare e addestrare modelli di apprendimento automatico che vengono successivamente ottimizzati per l'utilizzo sui dispositivi ubicati alla periferia della rete, come a esempio microcontrollori, processori di piccole dimensioni o FPGA.

I principi alla base di TinyML sono integrati in framework di apprendimento automatico destinati all'uso alla periferia della rete come TensorFlow Lite (Figura 2). Questo framework, diffuso e utilizzato su larga scala, risulta composto da numerosi tool tra cui un convertitore che ottimizza i modelli standard di TensorFlow in modo da consentirne l'esecuzione sul target, che può essere un dispositivo che utilizza embedded Linux, e un interprete per far girare il modello ottimizzato.


L'embedded si sposta alla periferia della rete
TensorFlow Lite ottimizza i modelli di apprendimento automatico per l'utilizzo in applicazioni embedded.

TensorFlow Lite for Microcontrollers, inoltre, è stato creato esplicitamente per far girare l'apprendimento automatico su dispositivi con risorse di memoria estremamente limitate. Il software di runtime del core occupa pochi Kbyte di memoria ed è stato collaudato su parecchi microcontrollori basati sui core Arm® Cortex®-M. I tool di TensorFlow Lite mettono a disposizione numerose modalità per ridurre le dimensioni dei modelli di TensorFlow in modo da permetterne l'esecuzione su un microcontrollore o un dispositivo embedded.

Soluzioni per l'inferenza alla periferia

I più importanti produttori di microcontrollori rendono ora disponibili ecosistemi e flussi di processo per l'utilizzo di funzionalità di apprendimento automatico e di inferenza basata sull'intelligenza artificiale. Gli sviluppatori possono ora disporre di microcontrollori embedded architettati per consentire l'impiego di reti neurali che fanno girare algoritmi di apprendimento automatico.

Sul mercato sono state introdotte nuove generazioni di microcontrollori espressamente ideate per supportare l'inferenza generata dall'apprendimento automatico. I processori della linea Sitara di TI, come il mod. AM5729 forniscono un valido esempio. Oltre a due core Arm Cortex-A15 e un core embedded Cortex-M4, AM5729 integra quattro engine EVE (Embedded Vision Engine) in grado di supportare reti per l'apprendimento profondo (deep learning) e assicurare elevate prestazioni in termini di inferenza. Il framework software TIDL (TI Deep Learning) e l'interfaccia TIDL rappresentano per gli sviluppatori un valido ausilio per la costruzione, l'addestramento e l'utilizzo di reti neurali sui processori embedded.

Il toolbox di STMicroelectronics per reti neurali include il tool di conversione STM32Cube.AI che viene appunto impiegato per convertire le reti neurali addestrate create utilizzando i più diffusi framework. Questo tool genera automaticamente librerie ottimizzate per i microcontrollori STM32 della società con core Arm Cortex-M. L'ecosistema AI prevede anche pacchetti di funzioni software che contengono i driver di basso livello necessari e le librerie di middleware per l'utilizzo delle reti neurali addestrate. Sono altresì contemplate applicazioni campione per la classificazione delle scene audio e il rilevamento di attività umane che aiutano gli utenti ad apprendere in tempi rapidi come utilizzare l'intelligenza artificiale integrata. E' anche disponibile un'app dedicata per dispositivi mobili oltre all'hardware di riferimento SensorTile di ST per far girare inferenze o raccolte di dati. SensorTile è una scheda “chiavi in mano” che ospita sensori ambientali e sensibili al contesto e il tutto è pre-integrato sotto forma di modulo “plug & play”.

Microchip mette a disposizione il supporto per l'apprendimento automatico per i suoi microprocessori, FPGA e microcontrollori a 32 bit come quelli della serie SAM D21. I relativi tool consentono agli sviluppatori di utilizzare i più diffusi framework per apprendimento automatico come TensorFlow, Keras e Caff, oltre a framework TinyML come TensorFlow Lite. Quando lavorano con microcontrollori o microprocessori utilizzando il toolset MPLAB®, gli sviluppatori possono trarre vantaggio dall'impiego di tool come ML Plugin e MPLAB Data Visualizer per acquisire dati da utilizzare per l'addestramento di reti neurali utilizzando tool realizzati dai partner di Microchip. Tra questi da segnalare Nano Edge AI Studio di Cartesiam, che ricerca automaticamente i modelli AI; aiuta ad analizzare i dati dei sensori e genera libreria ed Edge Impulse Studio con la libreria C++ open source Edge Impulse Inferencing SDK che utilizza TensorFlow Lite for Microcontrollers. Gli utenti possono utilizzare i loro progetti sulla MCU scelta utilizzando l'IDE MPLAB X di Microchip.

La piattaforma e-AI (embedded Artificial Intelligence) di Renesas integra numerose caratteristiche che semplificano l'implementazione dell'AI nei dispositivi terminali. I microprocessori della linea RZ/A2M di Renesas utilizzano la tecnologia DRP (Dynamically Reconfigurable Processor) che abbina le prestazioni di un acceleratore hardware con la flessibilità di una CPU per conferire maggiore velocità alle applicazioni di visione artificiale, a fronte di una riduzione dei consumi. La piattaforma prevede numerosi tool, tra cui e-AI Translator, che converte e importa l'elaborazione inferenziale dei modelli della rete neurale addestrata sotto forma di file di codice sorgente che possono essere usati in un progetto C/C++ che utilizza l'IDE e² studio. Le reti neurali possono essere addestrate utilizzando un framework di deep learning open source come TensorFlow.

Maker, giovani progettisti e professionisti possono ora cimentarsi nella realizzazione di dispositivi smart grazie a Google AIY, kit per intelligenza artificiale “fai da te” e la piattaforma per AI locale Google Coral. I kit AIY, che includono una telecamera intelligente composta da una scheda Raspberry Pi e una telecamera, una scheda di espansione VisionBonnet, tutti i cavi e i pulsanti necessari, e un semplice involucro di cartone, consentono agli utilizzatori di apprendere in tempi brevi i rudimenti del riconoscimento dell'immagine. Un analogo kit per altoparlanti intelligenti introduce ai fondamenti del riconoscimento vocale.

Google Coral fornisce una scelta di componenti hardware, inclusa una scheda di sviluppo, una mini scheda di sviluppo e un acceleratore USB che mette a disposizione degli utilizzatori un coprocessore grazie al quale è possibile “integrare” l'intelligenza artificiale nei prodotti esistenti. Il tool kit supporta TensorFlow Lite e tutte le schede contengono la TPU Edge di Google, un'unità di elaborazione tensoriale correlata alla TPU Cloud di Google che è stata appositamente progettata per garantire minimi ingombri e consumi ridotti.

Il futuro dell'edge è l'intelligenza integrata

L'aumento della potenza di elaborazione contribuisce a garantire un'implementazione delle applicazioni IoT affidabile, ad alte prestazioni e attenta ai problemi della privacy. Le apparecchiature ubicate in varie postazioni, dai gateway di rete agli aggregatori fino ad arrivare ai terminali IoT, possono essere considerate alla stregua di dispositivi periferici. In misura sempre maggiore è necessario ricorrere all'intelligenza artificiale per soddisfare le richieste di prestazioni ed efficienza, comprese le soluzioni di apprendimento automatico da utilizzare sui microcontrollori. Tra queste vi sono framework TinyML open source e architetture di microcontrollore accelerate e ottimizzate realizzate dai più importanti produttori. Una vasta gamma di tool, piattaforme e kit di tipo “plug and play” aiutano tutti gli sviluppatori, indipendentemente dal loro livello di conoscenze, a valutare tutte le possibilità offerte.

www.mouser.com
 

  Richiedi maggiori informazioni…

LinkedIn
Pinterest

Unisciti agli oltre 15.000 follower di IMP