9 cose da chiedere prima di comprare un software per l’AI

software AI

Come è fatta una soluzione di AI?

Per garantire che tutto funzioni correttamente, la soluzione di AI deve garantire una serie di mattoncini che si coordinano per trasformare i dati in conoscenza.
Sintetizzando molto l’approccio, possiamo identificare sette layer con funzionalità e obiettivi diversi.

I mattoncini di una soluzione di AI

Di solito queste funzionalità fanno parte di una o più piattaforme software o – più raramente – hardware+software.

Per costruire questo stack è utile tenere a mente alcuni pro-tips per scegliere le soluzioni migliori, in modo da essere sicuri che tutto fluisca per il meglio, e che i modelli possano generare il valore che devono.

Una cartina per orientarsi

Ci sono moltissime soluzioni nel mercato, le domande che sono integrate sono orientate ad un team che deve gestire un portfolio di molti modelli industriali, e coinvolgere il team di dominio nella creazione e manutenzione.

1. La piattaforma può raccogliere i dati da qualsiasi fonte? Ci sono restrizioni?

I sistemi di raccolta dati di solito parlano tramite protocolli di comunicazione (Modbus TCP/IP, MQTT…) o interfacce (like RESTful Application Programming Interface, REST API for friends).

E’ importante che il sistema possa raccogliere i dati da qualsiasi sensore o fonte dato contemporaneamente, in modo da centralizzare le informazioni e utilizzarle nei modelli.

2. Se i dati arrivano sporchi, esiste una funzionalità che intercetta le anomalie e le gestisce?

I dati vengono quasi sempre da sensori, che siano dal processo o da telecamere fisse. Questi sensori possono rompersi, stararsi o non funzionare. Oppure il collegamento con i gateway o con il database può saltare e non funzionare. Visto che i modelli sono sensibili ai dati, quando arrivano dati sporchi il modello può fare predizioni errate. Se poi i dati non arrivano, il modello non può fare predizioni.

Avere strumenti indipendenti che controllano i dati e bloccano le anomalie sono utili per evitare che il modello suggerisca cose sbagliate. Questi possono essere semplici strumenti di controllo su limite statico, oppure modelli di deep learning più complessi che seguono la logica dell’anomaly detection con algoritmi ricorsivi.

3. Quali algoritmi sono supportati e per quali task? Nel caso si possono allenare con poco codice?

Ci sono tre task diversi: regressione, classificazione e clustering. E’ utile sapere quale cose si possono prevedere, e tramite quali algoritmi. Se si deve scegliere, suggerisco di chiedere se le reti neurali, le random forest, e gli extreme gradient boostin sono supportati, in quanto coprono molte delle necessità di modellazione in industria. Anche gli algoritmi di unsupervised learning dovrebbero essere supportati.

Un plus interessante è la disponibilità di strumenti che rendono possibile costruire modelli senza dover programmare. In questo modo, anche il team di dominio può essere accompagnato alla costruzione di modelli.

4. Posso caricare i modelli che ho sviluppato in altri posti? Come funziona l’upload?

I modelli sviluppati su supporti esterni (tramite programmazione o in altro modo) devono poter essere integrati nei sistemi. Ogni modello è un asset, e sarebbe uno spreco non poterli utilizzare tutti nello stesso posto.

5. Quali trasformazioni sull’output del modello posso fare?

In alcuni casi, potrebbe essere necessario post-processare il risultato numerico del modello. Ad esempio, calcolare il rendimento a partire dalla previsione di consumo di gas. E’ bene accertarsi che i risultati del modello possano essere modificati con semplici formule o equazioni.

6. Posso inserire gli allarmi? Come vengono gestiti (su singola etichetta o fuori controllo o in modo smart)?

Per segnalare che qualcosa non va è bene poter generare degli allarmi. Questi allarmi devono poter essere costruiti secondo regole diverse. Ad esempio, considerando il numero di previsioni di fuori controllo in un certo periodo ravvicinato come un unico allarme persistente. Oppure, collegando intensità di fuori controllo differenti con priorità diverse.

Per gli algoritmi di classificazione, gli allarmi si collegheranno alle singole etichette. Per gli algoritmi di regressione, sulla differenza tra reale e predetto confrontato con un valore di riferimento. Per il forecast, confrontando la previsione con un limite massimo.

7. Posso esportare i dati?

Pare scontato, ma è sempre bene assicurarsi che le previsioni generate possano essere esportate verso sistemi terzi o tramite bottone di download.

8. Posso usare i risultati dei modelli per scatenare procedure automatiche?

Fatte le previsioni e gli allarmi, bisogna pensare a come integrare i modelli nelle procedure operative. Per fare sì che la gente adotti la soluzione, questa deve poter generare segnalazioni o ticket nello spazio in cui normalmente i manutentori si muovono, o integrarsi con il sistema di energy management per il confronto del consumo reale con il riferimento dell’EnPI, o magari con il PLC del sistema per una regolazione automatica.

Verificare che queste interazioni possano avvenire garantisce una buona riuscita del progetto e la possibilità di scalare più velocemente.

9. Come si gestisce la manutenzione del modello?

Infine, la cosa più importante di tutte: la manutenzione del modello. Il sistema fornisce degli strumenti per fare un riallenamento veloce? In che modo viene gestito il riallenamento a livello di selezione dati e aggiornamento dell’algoritmo? Può essere schedulato? Le versioni sono registrate? Posso tronare indietro ad una versione precedente del modello? Posso duplicare il modello su dati diversi?

Senza questa funzionalità, diventa molto più costoso il mantenimento e lo scaling della soluzione.

La perfetta piattaforma

Quindi, ricapitolando, la piattaforma perfetta:

  1. Può raccogliere dati da qualsiasi fonte senza restrizioni
  2. Ha funzionalità per gestire anomalie nei dati e pulirli prima che arrivino al modello
  3. Supporta tutti e tre i task (apprendimento supervisionato, non supervisiona e per rinforzo), fornendo strumenti per l’allenamento in modalità code less dei modelli
  4. Può ospitare modelli sviluppati con strumenti terzi
  5. Da la possibilità di trasformare l’output tramite formule o equazioni
  6. Ha modi per generare allarmi smart che capiscano come gestire fuori controllo persistenti o diversi livelli di priorità
  7. Rende possibile l’eportazione dei dati
  8. Si integra facilmente con procedure automatiche di campo
  9. Supporta attivamente la manutenzione del modello e la gestione del ciclo vita nel tempo