Nel contesto attuale, caratterizzato da una crescente interconnessione, l’Internet delle Cose (IoT) assume un ruolo di primaria importanza nell’erogare dati dettagliati e in tempo reale. Un esempio lampante di questa evoluzione è rappresentato dalla piattaforma IoT di Kalpa, che, mediante l’utilizzo di un sensore Power Meter, acquisisce dati di cruciale rilevanza, tra cui il consumo energetico istantaneo anche dei propri dispositivi domestici.
Ciò che conferisce un’identità distintiva e genuinamente innovativa alla piattaforma in questione riguarda il modo in cui tali dati vengono impiegati. In questo contesto, entra in gioco la soluzione MLOps, che agevola il processo di addestramento, implementazione e monitoraggio di modelli di machine learning basati sui dati raccolti. Kalpa ha quindi integrato il flusso MLOps nella piattaforma IoT Riseberg, rendendo semplice ed efficace l’aggiunta dell’intelligenza artificiale ai propri dispositivi domestici. Ma scopriamone di più.
La piattaforma MLOps: come funziona e perché è innovativa
Iniziamo quindi dal principio per presentare questa nuova tecnologia: il termine MLOps si riferisce a un insieme di pratiche che permettono di automatizzare il mantenimento e l’evoluzione dei modelli di machine learning, durante tutto il loro ciclo di vita, dallo sviluppo alla produzione.
Per questo, la piattaforma MLOps non si limita a automatizzare il processo di machine learning, ma crea anche un ambiente che favorisce la sperimentazione e l’innovazione, consentendo l’evoluzione e l’adattamento dei modelli nel corso del tempo. Tutti i dati raccolti dalla piattaforma vengono successivamente immagazzinati in un database di tipo time-series denominato InfluxDB, il quale è stato progettato specificamente per garantire una gestione dei dati efficiente e un recupero rapido delle informazioni.
Questo tipo di database non è stato scelto a caso, ma è stato selezionato in quanto riesce a gestire dati cronologicamente ordinati, rendendoli ideali per memorizzare dati provenienti da sensori IoT. E’ in grado di organizzare i dati in serie temporali, consentendo un’indicizzazione temporale efficiente. I database time-series sono quindi adatti ai dati dei sensori perché sono naturali per informazioni che cambiano nel tempo, offrono prestazioni rapide, consentono analisi avanzate e riducono i costi di archiviazione.
Quindi, l’applicazione del paradigma MLOps è particolarmente vantaggiosa nell’ambito dell’IoT, dove la raccolta di dati in tempo reale gioca un ruolo chiave. In questo contesto, MLOps può essere utilizzato per mantenere sempre aggiornato il modello di machine learning, migliorando la qualità generale del servizio offerto, senza aggiungere overhead sul team di sviluppo. Inoltre, MLOps può aiutare a implementare un’architettura scalabile, che può supportare un aumento del parco dispositivi domestici e del relativo traffico dati.
Lettura consigliata: Scopri l’azienda tech made in Italy che sviluppa app da milioni di downloads
Caso di studio: l’utilizzo del sensore Power Meter
Ma per capire al meglio i benefici e i vantaggi della piattaforma, osserveremo ora l’applicazione pratica di un modello di machine basato sulle serie temporali di dati provenienti da una rete elettrica domestica possa essere utilizzato per monitorare lo stato degli elettrodomestici collegati e identificare eventuali anomalie utilizzando il Power Meter.
Un Power Meter è uno strumento che misura la potenza elettrica e può essere utile per il monitoraggio del consumo di elettricità in ambito residenziale. Collegando i dispositivi domestici di questo tipo alla piattaforma Riseberg è possibile registrare, a intervalli di tempo regolare, la potenza assorbita, come nella figura sottostante.
Il trasferimento dei dati raccolti dallo strumento verso Riseberg avviene attraverso il protocollo MQTT su WiFi. Tale scambio è reso sicuro dall’implementazione di un canale mTLS, ovvero un canale cifrato (TLS) a cui viene aggiunto un sistema di mutua autenticazione tra le parti.
Quindi, la grande mole di dati rilevata dal power meter viene gestita attraverso DVC, una delle componenti essenziali del MLOps (vedere sezione Gestione del ciclo di vita tramite MLOps), che si interfaccia direttamente con Riseberg. Sfruttando DVC, l’applicazione MLOps è in grado tenere traccia del versioning dei dati e di rendere disponibili gli stessi per lo sviluppo e il mantenimento di un modello di Intelligenza Artificiale adibito alla classificazione dei cicli di funzionamento degli elettrodomestici.
L’algoritmo di AI è un modello basato su albero decisionale con circa 1000 stimatori ed addestrato in modalità supervisionata. I dati forniti all’algoritmo sono precedentemente processati in una fase di estrazione delle feature che prevede attività come l’identificazione dello spettro delle frequenze e della densità spettrale di potenza dei segnali con relativi picchi. I dati così elaborati vengono proposti al modello che è per sua natura confacente al riconoscimento dei pattern descritti dai segnali in potenza dei singoli elettrodomestici e delle singole fasi di funzionamento. Per esempio, nel caso in cui l’apparecchio in analisi fosse una lavatrice, il modello sarebbe in grado di distinguerne il pattern e riconoscere le fasi di lavaggio, risciacquo e centrifuga.
Gestione delle anomalie
Il modello addestrato sul funzionamento nominale degli elettrodomestici è quindi in grado non solo di riconoscerne il segnale caratterizzante, ma di individuare, grazie alle proprietà degli alberi decisionali, le caratteristiche che lo rendono tale tramite l’estrazione dell’importanza delle feature. In questo modo è possibile utilizzare la medesima soluzione per identificare eventuali anomalie o malfunzionamenti, poiché caratterizzati da segnali che non rispettano le peculiarità di un funzionamento in condizioni normali dell’apparecchio.
Il modello addestrato insieme ai suoi artefatti viene salvato all’interno della piattaforma MLOps e le predizioni esposte verso Riseberg per la loro visualizzazione.
Lettura consigliata: Nella tua azienda sei sottovalutato? Come capire quale dovrebbe essere la RAL giusta per te
Sperimentazione e messa in produzione dei modelli
Il sistema di monitoraggio e identificazione delle anomalie descritto in precedenza comporta diverse complicazioni a livello di gestione dei servizi, soprattutto se si pensa alla manutenzione e all’evoluzione del sistema a seguito della prima messa in produzione.
Per questo, Kalpa ha integrato vari strumenti di machine learning per implementare un flusso di MLOps per la gestione automatizzata di tutto il ciclo di vita del sistema.
Ogni progetto di machine learning parte con una fase di sperimentazione, in cui vengono analizzati i dati disponibili per determinare gli algoritmi più idonei e le feature più efficaci per il raggiungimento del risultato desiderato. Già in questa fase preliminare entrano in gioco gli strumenti di MLOps, con il tool MLflow. Esso permette di far partire l’addestramento del modello direttamente dal proprio ambiente di sviluppo (ad esempio, un notebook Jupiter). I vari esperimenti effettuati sono tracciati dalla piattaforma ed è possibile visualizzare e confrontare i risultati ottenuti.
Al termine della sperimentazione, il modello di machine learning viene ingegnerizzato. Il codice sorgente e il dataset di training vengono versionati all’interno di un repository GitLab (per completezza, è opportuno specificare che lo storage dei dati si appoggia a un sistema dedicato alla memorizzazione di file di grandi dimensioni, come DVC o Git LFS).
Analogamente a quanto avviene nelle pratiche di DevOps, ai cambiamenti sul repository viene associata una pipeline, ovvero una serie di operazioni predefinite per costruire e distribuire un artefatto.
Nel caso di MLOps l’artefatto, invece di essere un software compilato e testato, è un modello addestrato. Il tool scelto per orchestrare il flusso di costruzione, addestramento e distribuzione del modello è ZenML. La sua caratteristica principale è la capacità di definire le pipeline direttamente in Python, mantenendo però la flessibilità di cambiare infrastruttura di esecuzione senza modificare il codice. A rendere l’architettura ancora più flessibile, è la disponibilità “out-of-the-box” di integrazioni con diversi provider di servizi cloud e diversi strumenti di machine learning. Nel caso in esame, ad esempio, il training e il tracciamento con MLflow utilizzato durante la fase di sperimentazione, rientra nella pipeline come uno degli step di ZenML.
Ma come viene interrogato un modello tracciato e registrato? BentoML è una soluzione che permette di caricare un modello (anche direttamente da MLflow) e lo rende disponibile in un archivio redistribuibile (chiamato “Bento”). Da esso è possibile auto-generare un server che espone delle REST API, facilmente integrabili con altre applicazioni, nel caso in questione, l’applicazione collegata a Riseberg.
E’ quindi importante notare che, grazie a questo formato unificato di distribuzione del modello, è possibile trasferire l’inferenza sui dispositivi domestici Edge della rete IoT, senza complicare il ciclo di vita del sistema. L’archivio “Bento” può essere, infatti, caricato sull’Edge attraverso un normale processo di aggiornamento.
Come ultima fase di MLOps rimane il monitoraggio del funzionamento del modello in produzione, basato su Evidently AI, che permette di creare report in tempo reale e impostare la ricezione di e-mail di allarme, in caso di possibili problemi del modello o deriva dei dati.
Lettura consigliata: Scarica “The Ultimate Azure Cybersecurity Handbook” e proteggi il tuo ambiente cloud
Migliorare l’efficienza degli elettrodomestici
Nell’ottica di individuare approcci pratici per la riduzione del consumo energetico e l’ottimizzazione delle prestazioni, la soluzione proposta nella sezione Classificazione e rilevazione delle anomalie risulta essere un potenziale strumento di supporto decisionale. Le capacità del modello di AI possono essere utilizzate non solo per individuare e classificare segnali in potenza degli elettrodomestici ma, associandovi una coordinata temporale, anche per calcolare la durata dei cicli e i consumi correlati.
Questo porta grandi vantaggi perfino nella quotidianità di un privato cittadino; si pensi al beneficio che si può trarre dal conoscere i consumi specifici degli elettrodomestici all’interno di un’abitazione consentendo quindi un’analisi a posteriori sull’utilizzo e favorendo così la messa in atto di abitudini ottimizzate in termini di risparmio energetico.
Conclusione
I vantaggi raggiungibili dall’introduzione di questa nuova piattaforma sono diversi: innanzitutto, consentono di ridurre il tempo e lo sforzo necessari per implementare e gestire i modelli di machine learning. In secondo luogo, migliorano la qualità e l’affidabilità dei modelli di machine learning, sia perché ne consente un aggiornamento più frequente, sia perché riducono sensibilmente gli errori rendendo riproducibili i processi operativi.
E quindi, la piattaforma Riseberg sviluppata da Kalpa, fornisce una soluzione potente e versatile per connettere i propri dispositivi domestici, grazie a:
- Un modello di dati dichiarativo, definibile da interfaccia grafica;
- Un database “time series” per collezionare in modo efficiente lo storico dei dati raccolti;
- La gestione completa dal provisioning all’aggiornamento del parco macchine.
Per questo ti invitiamo a scoprirne di più sul mondo Kalpa tramite il loro sito web.