Autore: Sergey Lukyanchikov, ingegnere consulente di InterSystems
Sfide del calcolo AI/ML in tempo reale
Iniziamo con esempi dall'esperienza pratica nel Data Science dell'azienda InterSystems:
- Il portale cliente ‘carico’ è collegato a un sistema di raccomandazione online. È prevista una ristrutturazione delle promozioni su vasta scala (ad esempio, invece di una linea ‘fissa’ di promozioni, ora si applicherà una matrice ‘segmento-tattica’). Cosa succede ai meccanismi di raccomandazione? Cosa succede alla fornitura e all'aggiornamento dei dati nel meccanismo di raccomandazione (il volume dei dati in ingresso è aumentato di 25.000 volte)? Cosa succede alla generazione di raccomandazioni (è necessaria una riduzione di migliaia di volte della soglia di filtraggio delle regole di raccomandazione, a causa dell'aumento esponenziale delle loro quantità e ‘varietà’)?
- Esiste un sistema di monitoraggio della probabilità di sviluppo di difetti nei nodi dell'attrezzatura. Il sistema di monitoraggio è stato collegato a un SCADA, che trasmette migliaia di parametri del processo tecnologico ogni secondo. Cosa succede al sistema di monitoraggio, che prima funzionava su ‘campioni manuali’ (è in grado di fornire un monitoraggio della probabilità ogni secondo)? Cosa accadrà se nei dati in ingresso appare un nuovo blocco di diverse centinaia di colonne con letture dei sensori, recentemente introdotti nel SCADA (sarà necessario e per quanto tempo bloccare il sistema di monitoraggio per includere nell'analisi i dati provenienti dai nuovi sensori)?
- È stato creato un insieme di meccanismi AI/ML (raccomandatori, di monitoraggio, predittivi), che utilizzano i risultati del lavoro reciproco. Quante ore-uomo sono necessarie ogni mese per adattare il funzionamento di questo complesso ai cambiamenti nei dati in ingresso? Qual è la ‘diminuzione’ totale nel supporto della governance decisionale da parte del complesso (frequenza di nuove informazioni a supporto rispetto alla frequenza di nuove informazioni in ingresso)?
Riassumendo questi e molti altri esempi, siamo giunti alla formulazione delle sfide che si presentano durante la transizione all'uso di meccanismi di machine learning e intelligenza artificiale in tempo reale:
- Siamo soddisfatti della rapidità con cui vengono creati e adattati (alla situazione in evoluzione) gli sviluppi AI/ML nella nostra azienda?
- Quanto sostengono le soluzioni AI/ML che utilizziamo la gestione aziendale in tempo reale?
- Le soluzioni AI/ML che utilizziamo sono in grado di adattarsi autonomamente (senza sviluppatori) ai cambiamenti nei dati e nelle pratiche di gestione aziendale?
Il nostro articolo è una panoramica dettagliata delle capacità della piattaforma InterSystems IRIS in termini di supporto universale per il dispiegamento di meccanismi AI/ML, integrazione delle soluzioni AI/ML e addestramento (test) delle soluzioni AI/ML su flussi di dati intensivi. Ci concentreremo sulle ricerche di mercato, su esempi pratici di soluzioni AI/ML e sugli aspetti concettuali di ciò che chiamiamo in questo articolo piattaforma AI/ML in tempo reale.
Cosa emerge dai sondaggi: applicazioni in tempo reale
Risultati , condotto tra circa 800 professionisti IT nel 2019 dall'azienda Lightbend, parla da sé:

Figura 1 Principali utilizzatori di dati in tempo reale
Citiamo frammenti importanti del rapporto sui risultati di questo sondaggio nella nostra traduzione:
«… Le tendenze nella popolarità degli strumenti di integrazione dei flussi di dati e, contemporaneamente, il supporto per i calcoli nei container offrono una risposta sinergica alla richiesta del mercato di soluzioni più rapide, razionali e dinamiche. I flussi di dati consentono di trasmettere informazioni più velocemente rispetto ai tradizionali pacchetti di dati. A questo si aggiunge la possibilità di applicare rapidamente metodi computazionali, come ad esempio le raccomandazioni basate su AI/ML, creando vantaggi competitivi attraverso un aumento della soddisfazione del pubblico di clienti. La corsa alla rapidità influisce anche su tutti i ruoli nel paradigma DevOps – migliorando l'efficienza nello sviluppo e nel dispiegamento delle applicazioni. … Ottocentoquattro specialisti IT hanno fornito informazioni sull'uso dei flussi di dati nelle loro organizzazioni. I rispondenti si trovavano principalmente in paesi occidentali (41% in Europa e 37% in Nord America) ed erano praticamente equamente distribuiti tra piccole, medie e grandi aziende. …
… L'intelligenza artificiale non è un hype. Cinquantotto percento di coloro che applicano già l'elaborazione dei flussi di dati in applicazioni AI/ML produttive confermano che la loro applicazione in AI/ML avrà un maggiore impatto nell'anno successivo (rispetto ad altre applicazioni).
- Secondo la maggior parte degli intervistati, l'uso dei flussi di dati in scenari AI/ML avrà il maggior incremento nel prossimo anno.
- L'applicazione in AI/ML crescerà non solo grazie a nuovi tipi di scenari, ma anche in base agli scenari tradizionali, in cui i dati in tempo reale vengono utilizzati sempre di più.
- Oltre a AI/ML, il livello di entusiasmo tra gli utenti delle pipeline di dati IoT è notevole: il 48% di coloro che hanno già integrato i dati IoT afferma che l'implementazione di scenari su questi dati otterrà un aumento significativo nel prossimo futuro. … »
Da questo interessante sondaggio emerge che la percezione degli scenari di machine learning e intelligenza artificiale come leader nel consumo di flussi di dati è già 'in arrivo'. Ma un'altra osservazione altrettanto importante è la percezione di AI/ML in tempo reale attraverso la lente del DevOps: qui possiamo già iniziare a parlare di una trasformazione della cultura attualmente dominante dell' 'AI/ML usa e getta con un set di dati completamente accessibile'.
Concetto di piattaforma AI/ML in tempo reale
Una delle aree applicative tipiche della AI/ML in tempo reale è la gestione dei processi tecnologici in produzione. Prendendo spunto da questo esempio e tenendo in considerazione le riflessioni precedenti, formuliamo il concetto di piattaforma AI/ML in tempo reale.
L'uso dell'intelligenza artificiale e del machine learning nella gestione dei processi tecnologici presenta alcune caratteristiche:
- I dati sullo stato del processo tecnologico arrivano in modo intensivo: con grande frequenza e su un ampio spettro di parametri (fino a decine di migliaia di valori di parametri trasmessi al secondo dai sistemi di controllo automatizzati).
- Dati sulla rilevazione di difetti, per non parlare dei dati sul loro sviluppo, sono invece scarsi e irregolari, caratterizzati da una tipizzazione insufficiente dei difetti e dalla loro localizzazione nel tempo (spesso rappresentati da registri su supporti cartacei).
- Dal punto di vista pratico, per l'addestramento e l'applicazione dei modelli è disponibile solo una 'finestra di attualità' dei dati di origine, che riflette la dinamica del processo tecnologico su un intervallo ragionevole, che termina con gli ultimi valori letti dei parametri del processo.
Queste caratteristiche ci obbligano, oltre alla ricezione e al trattamento di base in tempo reale del intenso 'segnale in entrata ad alta capacità' dal processo tecnologico, a eseguire (parallelamente) applicazione, addestramento e controllo della qualità dei risultati dei modelli AI/ML - anch'essi in tempo reale. Il 'frame' che i nostri modelli 'vedono' nella finestra di attualità cambia continuamente, e con esso cambia anche la qualità dei risultati dei modelli AI/ML, addestrati su uno dei 'frame' del passato. In caso di deterioramento della qualità dei risultati dei modelli AI/ML (ad esempio: il valore dell'errore di classificazione 'allerta-normale' supera i confini da noi definiti), deve essere avviato automaticamente un riaddestramento dei modelli su un 'frame' più attuale - e la scelta del momento per avviare il riaddestramento deve tenere conto sia della durata del riaddestramento stesso, sia della dinamica del deterioramento della qualità del lavoro della versione attuale dei modelli (in quanto le versioni attuali dei modelli continuano a essere applicate fino a quando i modelli non vengono addestrati e fino a quando non sono disponibili versioni 'riaddestrate').
InterSystems IRIS offre le principali capacità platform per il funzionamento di soluzioni AI/ML nella gestione dei processi tecnologici in tempo reale. Queste capacità possono essere suddivise in tre gruppi principali:
- Distribuzione continua (Continuous Deployment/Delivery, CD) di nuovi o adattati meccanismi AI/ML esistenti in una soluzione produttiva che opera in tempo reale sulla piattaforma InterSystems IRIS.
- Integrazione continua (Continuous Integration, CI) in un'unica soluzione produttiva dei flussi di dati in ingresso dal processo tecnologico, delle code di dati per l'applicazione/allenamento/controllo della qualità dei meccanismi AI/ML e degli scambi di dati/codice/contromisure con gli ambienti di modellazione matematica, la cui orchestrazione è condotta in tempo reale dalla piattaforma InterSystems IRIS.
- Addestramento continuo (Continuous Training, CT) dei meccanismi AI/ML, effettuato in ambienti di modellazione matematica utilizzando dati, codice e contromisure ('decisioni prese'), trasmessi dalla piattaforma InterSystems IRIS.
La classificazione delle capacità platform relative al machine learning e all'intelligenza artificiale secondo tali gruppi non è casuale. Citeremo il metodo metodologico. l'azienda Google, in cui viene presentata la base concettuale per questa classificazione, nella nostra traduzione:
«… Il concetto di DevOps, molto in voga oggi, abbraccia lo sviluppo e la gestione di sistemi informativi complessi. I vantaggi dell'implementazione di questo concetto consistono nella riduzione della durata dei cicli di sviluppo, nell'accelerazione del lancio delle nuove versioni e nella flessibilità nella pianificazione dei rilasci. Per ottenere questi vantaggi, DevOps prevede l'adozione di almeno due pratiche:
- Continuous Integration (CI)
- Continuous Delivery (CD)
Queste pratiche sono applicabili anche alle piattaforme AI/ML, al fine di garantire una costruzione affidabile e produttiva delle soluzioni AI/ML.
Le piattaforme AI/ML si differenziano dagli altri sistemi informativi nei seguenti aspetti:
- Competenze del team: nella creazione di una soluzione AI/ML, il team di solito include data scientist o esperti 'accademici' nell'analisi dei dati, che eseguono analisi, sviluppo e test dei modelli. Questi membri del team potrebbero non essere necessariamente sviluppatori professionisti di codice produttivo.
- Sviluppo: I meccanismi AI/ML sono per loro natura sperimentali. Per affrontare il problema nel modo più efficace, è necessario esplorare diverse combinazioni di variabili in ingresso, algoritmi, metodi di modellazione e parametri di modello. La complessità di questa esplorazione risiede nel tracciamento di 'cosa ha funzionato/non ha funzionato', nella garanzia della riproducibilità degli episodi, nella generalizzazione degli sviluppi per implementazioni ripetute.
- Testing: il testing dei meccanismi AI/ML richiede un'ampia gamma di test, più della maggior parte degli altri sviluppi. Oltre ai test modulari e di integrazione standard, vengono testati la validità dei dati e la qualità dei risultati dell'applicazione del modello ai set di dati di addestramento e di controllo.
- Distribuzione: la distribuzione delle soluzioni AI/ML non si limita ai servizi predittivi che utilizzano un modello addestrato una sola volta. Le soluzioni AI/ML sono costruite attorno a pipeline multilivello che eseguono addestramenti e applicazioni automatizzate dei modelli. La distribuzione di tali pipeline comporta l'automazione di azioni non banali, tradizionalmente eseguite manualmente dai data scientist, per avere la possibilità di addestrare e testare i modelli.
- Produttività: ai meccanismi AI/ML potrebbe mancare prestazioni non solo a causa di programmazione inefficace, ma anche a causa della natura in continua evoluzione dei dati in ingresso. In altre parole, le prestazioni dei meccanismi AI/ML possono degradare per una gamma più ampia di ragioni rispetto alle prestazioni di sviluppi tradizionali. Ciò porta alla necessità di monitorare (in tempo reale) le prestazioni dei nostri meccanismi AI/ML, oltre a inviare notifiche o rimuovere risultati se le prestazioni non sono all'altezza delle aspettative.
Le piattaforme AI/ML sono simili ad altri sistemi informativi in quanto richiedono integrazione continua del codice con controllo di versione, test modulari, test di integrazione, e distribuzione continua degli sviluppi. Tuttavia, nel caso di AI/ML, ci sono alcuni importanti differenze:
- CI (Continuous Integration, integrazione continua) non si limita più al testing e alla validazione del codice dei componenti distribuiti; comprende anche il testing e la validazione dei dati e dei modelli AI/ML.
- CD (Continuous Delivery/Deployment, distribuzione continua) non si limita alla scrittura e al rilascio di pacchetti o servizi, ma implica una piattaforma per la composizione, l'addestramento e l'applicazione delle soluzioni AI/ML.
- CT (Continuous Training, addestramento continuo) – un nuovo elemento [nota dell'autore: un nuovo elemento rispetto al concetto tradizionale di DevOps, dove CT è in genere Continuous Testing], caratteristico delle piattaforme AI/ML, responsabile della gestione autonoma dei meccanismi per l'addestramento e l'applicazione dei modelli AI/ML. …»
Possiamo affermare che l'apprendimento automatico e l'intelligenza artificiale, operanti su dati in tempo reale, richiedono un insieme più ampio di strumenti e competenze (dallo sviluppo del codice all'orchestrazione degli ambienti di modellazione matematica), un'integrazione più stretta tra tutte le aree funzionali e tematiche, e una gestione più efficace delle risorse umane e delle macchine.
Scenario in tempo reale: riconoscimento dello sviluppo di difetti nelle pompe per nutrienti
Utilizzando come esempio il campo della gestione dei processi tecnologici, consideriamo un compito specifico (già menzionato all'inizio): è necessario garantire in tempo reale il monitoraggio dello sviluppo delle anomalie nelle pompe basato sul flusso dei valori dei parametri del processo tecnologico e sui rapporti del personale di manutenzione riguardo alle anomalie riscontrate.

Figura 2 Formulazione del compito di monitoraggio dello sviluppo delle anomalie
Una caratteristica della maggior parte di questi tipi di compiti è che la regolarità e la tempestività nell'arrivo dei dati (ASUTP) devono essere considerate alla luce dell'episodicità e dell'irregolarità nell'insorgere (e registrazione) di anomalie di varia natura. In altre parole: i dati dall'ASUTP arrivano ogni secondo, corretti e precisi, mentre le anomalie vengono annotate a mano con un pennarello chimico indicante la data in un quaderno generale in officina (ad esempio: "12.01 – perdita nel coperchio dal lato del 3° cuscinetto").
Pertanto, possiamo integrare la formulazione del compito con un'importante limitazione: abbiamo solamente un'"etichetta" per ogni tipo di anomalia (cioè, un esempio di anomalia di quel tipo è rappresentato dai dati dell'ASUTP in una data specifica – e non abbiamo altri esempi di quell'anomalia). Questo vincolo ci porta oltre i limiti dell'apprendimento automatico classico (supervised learning), per il quale devono esserci molte "etichette".

Figura 3 Chiarimento del compito di monitoraggio dello sviluppo delle anomalie
Possiamo in qualche modo "moltiplicare" l'unica "etichetta" di cui disponiamo? Sì, possiamo. Lo stato attuale della pompa è caratterizzato dal grado di somiglianza con le anomalie registrate. Anche senza utilizzare metodi quantitativi, semplicemente osservando la dinamica dei valori dei dati provenienti dall'ASUTP, è possibile trarre molte informazioni:

Figura 4 Dinamica dello stato della pompa in relazione all'"etichetta" dell'anomalia del tipo specificato
Tuttavia, la percezione visiva (almeno per ora) non è il generatore più adatto di "etichette" nel nostro scenario in rapido cambiamento. Valuteremo la somiglianza dello stato attuale della pompa rispetto alle anomalie registrate utilizzando un test statistico.

Figura 5 Applicazione del test statistico ai dati in arrivo in relazione all'"etichetta" dell'anomalia
Il test statistico determina la probabilità che le registrazioni con i valori dei parametri del processo tecnologico nel pacchetto "flusso" ottenuto dall'ASUTP siano simili alle registrazioni dell'"etichetta" di un tipo specifico di anomalia. Il valore della probabilità calcolato come risultante dall'applicazione del test statistico (indice di somiglianza statistica) viene trasformato in un valore di 0 o 1, diventando un'"etichetta" per l'apprendimento automatico in ogni registrazione specifica nel pacchetto esaminato per somiglianza. Cioè, dopo aver trattato il nuovo pacchetto di registrazioni dello stato della pompa con il test statistico, abbiamo la possibilità di (a) aggiungere questo pacchetto al campione di addestramento per formare il modello AI/ML e (b) effettuare il controllo qualità del funzionamento della versione attuale del modello applicato a questo pacchetto.

Figura 6 Applicazione del modello di apprendimento automatico ai dati in arrivo in relazione all'"etichetta" dell'anomalia
In uno dei nostri precedenti mostriamo e spieghiamo come la piattaforma InterSystems IRIS consenta di realizzare qualsiasi meccanismo AI/ML sotto forma di processi aziendali eseguiti continuativamente, che controllano l'affidabilità dei risultati della modellazione e adattano i parametri dei modelli. Nella realizzazione del prototipo del nostro scenario con le pompe, utilizziamo tutte le funzionalità presentate durante il webinar InterSystems IRIS – implementando nel processo di analisi all'interno della nostra soluzione non l'apprendimento supervisionato classico, ma piuttosto l'apprendimento per rinforzo (reinforcement learning), che gestisce automaticamente il campione per l'addestramento dei modelli. Vengono inserite nel campione per l'addestramento le registrazioni su cui si verifica il "consenso di rilevamento" dopo l'applicazione sia del test statistico sia della versione corrente del modello – cioè, sia il test statistico (dopo la trasformazione dell'indice di somiglianza in 0 o 1), sia il modello restituiscono su tali registrazioni un risultato di 1. Durante il nuovo addestramento del modello, nella sua validazione (il modello rieducato viene applicato al proprio campione di addestramento, previa applicazione di un test statistico), le registrazioni che non hanno "mantenuto" il risultato 1 dopo il trattamento con il test statistico (a causa della costante presenza nel campione di addestramento delle registrazioni dall'originaria "etichetta" di anomalia), vengono rimosse e la nuova versione del modello si allena sull'"etichetta" di anomalia più sulle registrazioni "mantenute" dal flusso.

Figura 7 Robotizzazione dei calcoli AI/ML in InterSystems IRIS
Se sorge la necessità di avere una sorta di «seconda opinione» sulla qualità della rilevazione ottenuta attraverso i calcoli locali in InterSystems IRIS, viene creato un processo-consulente per addestrare e applicare modelli su un dataset di controllo utilizzando servizi cloud (ad esempio Microsoft Azure, Amazon Web Services, Google Cloud Platform, ecc.):

Figura 8 «Seconda opinione» da Microsoft Azure sotto l'orchestrazione di InterSystems IRIS
Il prototipo del nostro scenario in InterSystems IRIS è realizzato come un sistema agent-based di processi analitici che interagiscono con l'oggetto attrezzatura (pompa), ambienti di modellazione matematica (Python, R e Julia), e garantiscono l'auto-apprendimento di tutti i meccanismi AI/ML coinvolti – su flussi di dati in tempo reale.

Figura 9 Funzionalità principali della soluzione AI/ML in tempo reale in InterSystems IRIS
Risultato pratico del lavoro del nostro prototipo:
- Campione di difetto riconosciuto dal modello (12 gennaio):

- Difetto in via di sviluppo riconosciuto dal modello, non incluso nel campione (11 settembre; il difetto è stato constatato dalla squadra di riparazione solo dopo due giorni – 13 settembre):

La simulazione su dati reali contenenti diversi episodi dello stesso difetto ha dimostrato che la nostra soluzione, implementata sulla piattaforma InterSystems IRIS, consente di individuare lo sviluppo di difetti di questo tipo diversi giorni prima della loro scoperta da parte della squadra di riparazione.
InterSystems IRIS – piattaforma universale per calcoli AI/ML in tempo reale
La piattaforma InterSystems IRIS semplifica lo sviluppo, il deployment e l'operatività di soluzioni su dati in tempo reale. InterSystems IRIS è in grado di eseguire simultaneamente l'elaborazione dei dati transazionali e analitici; supportare visualizzazioni di dati sincronizzate secondo diversi modelli (tra cui relazionale, gerarchico, a oggetti e documentale); fungere da piattaforma di integrazione per una vasta gamma di sorgenti dati e applicazioni separate; offrire analisi avanzate in tempo reale su dati strutturati e non strutturati. InterSystems IRIS fornisce anche meccanismi per applicare strumenti analitici esterni e permette di combinare in modo flessibile il deployment nel cloud e sui server locali.
Le applicazioni costruite sulla piattaforma InterSystems IRIS sono implementate in vari settori, aiutando le aziende a ottenere un significativo impatto economico sia in prospettiva strategica che operativa, migliorando la consapevolezza durante il processo decisionale e riducendo i «gap» tra l'evento, l'analisi e l'azione.

Figura 10 Architettura di InterSystems IRIS nel contesto dell'AI/ML in tempo reale
Come nella diagramma precedente, la diagramma sottostante combina un nuovo «sistema di coordinate» (CD/CI/CT) con lo schema dei flussi di informazioni tra gli elementi operativi della piattaforma. La visualizzazione inizia con il macromecanismo CD e continua con i macromecanismi CI e CT.

Figura 11 Schema dei flussi di informazioni tra gli elementi AI/ML della piattaforma InterSystems IRIS
L'essenza del meccanismo CD in InterSystems IRIS: gli utenti della piattaforma (sviluppatori di soluzioni AI/ML) adattano sviluppi AI/ML esistenti e/o creano nuovi utilizzando un editor di codice specializzato per meccanismi AI/ML: Jupyter (nome completo: Jupyter Notebook; a volte, per brevità, anche i documenti creati in questo editor vengono chiamati così). In Jupyter, lo sviluppatore ha la possibilità di scrivere, eseguire il debug e assicurarsi della funzionalità (anche utilizzando grafica) di un certo sviluppo AI/ML prima del suo deployment in InterSystems IRIS. È chiaro che lo sviluppo nuovo creato in questo modo riceverà solo un debugging di base (poiché, tra l'altro, Jupyter non lavora con flussi di dati in tempo reale) – questo è normale, poiché il risultato principale dello sviluppo in Jupyter diventa la conferma della funzionalità di principio di un singolo meccanismo AI/ML («mostra il risultato atteso su un campione di dati»). Analogamente, un meccanismo già implementato nella piattaforma (vedi i successivi macromecanismi) prima di essere eseguito in Jupyter potrebbe necessitare di un «rollback» allo stato «pre-piattaforma» (lettura dei dati da file, lavorare con i dati tramite xDBC invece che da tabelle, interazione diretta con i globali – array multidimensionali di dati di InterSystems IRIS – ecc.).
Un aspetto importante dell'implementazione di CD in InterSystems IRIS: tra la piattaforma e Jupyter è stata realizzata un'integrazione bidirezionale che consente di trasferire nella piattaforma (e, in seguito, di elaborare nella piattaforma) contenuti in linguaggi Python, R e Julia (tutti e tre sono linguaggi di programmazione nei rispettivi principali ambienti open-source di modellazione matematica). In questo modo, gli sviluppatori di contenuti AI/ML hanno la possibilità di eseguire un 'deployment continuo' di questi contenuti nella piattaforma, lavorando nel loro editor Jupyter familiare, utilizzando le librerie a loro disposizione in Python, R, Julia, e svolgendo il debug di base (se necessario) al di fuori della piattaforma.
Passiamo al macromeccanismo CI in InterSystems IRIS. Nel diagramma è rappresentato il macroprocesso del 'robotizzatore in tempo reale' (un complesso di strutture dati, processi aziendali e frammenti di codice orchestrati in linguaggi di modellazione matematica e nel linguaggio ObjectScript – il linguaggio di sviluppo nativo di InterSystems IRIS). L'obiettivo di questo macroprocesso è mantenere le code di dati necessarie per il funzionamento dei meccanismi AI/ML (basate su flussi di dati trasmessi alla piattaforma in tempo reale), prendere decisioni sulla sequenza di applicazione e sulla 'varietà' dei meccanismi AI/ML (anche chiamati 'algoritmi matematici', 'modelli', ecc. – possono essere denominati in modo diverso a seconda delle specificità di implementazione e delle preferenze terminologiche), mantenere aggiornate le strutture dati per analizzare i risultati del lavoro dei meccanismi AI/ML (cubetti, tabelle, array multidimensionali, ecc. – per report, dashboard, ecc.).
Un aspetto importante dell'implementazione di CI in InterSystems IRIS: tra la piattaforma e gli ambienti di modellazione matematica è stata realizzata un'integrazione bidirezionale che consente l'esecuzione del contenuto fornito nella piattaforma in linguaggi Python, R e Julia nei loro ambienti corrispondenti, ricevendo risultati in cambio. Questa integrazione è attuata sia in 'modalità terminale' (cioè, il contenuto AI/ML è formulato come codice in ObjectScript che effettua chiamate agli ambienti di modellazione) sia in 'modalità processo aziendale' (cioè, il contenuto AI/ML è formulato come processo aziendale attraverso un editor grafico, o talvolta attraverso Jupyter, o tramite IDE – IRIS Studio, Eclipse, Visual Studio Code). La disponibilità dei processi aziendali per la modifica in Jupyter è rappresentata tramite una connessione tra IRIS a livello CI e Jupyter a livello CD. Un'analisi più dettagliata dell'integrazione con gli ambienti di modellazione matematica verrà fornita in seguito. In questa fase, riteniamo ci siano buone ragioni per registrare la presenza nella piattaforma di tutti gli strumenti necessari per attuare un 'integrazione continua' degli sviluppi AI/ML (provenienti da 'deployment continuo') nelle soluzioni AI/ML in tempo reale.
E il principale macromeccanismo: CT. Senza di esso non è possibile avere piattaforme AI/ML (anche se il 'tempo reale' verrà implementato tramite CD/CI). La sostanza del CT consiste nel lavoro della piattaforma con gli 'artefatti' di machine learning e intelligenza artificiale direttamente nelle sessioni di lavoro degli ambienti di modellazione matematica: modelli, tabelle di distribuzione, vettori-matrici, strati delle reti neurali, ecc. Questo 'lavoro', nella maggior parte dei casi, consiste nella creazione degli artefatti menzionati in ambienti (nel caso dei modelli, ad esempio, la 'creazione' consiste nella definizione della specifica del modello e nella successiva ricerca dei valori dei suoi parametri – il cosiddetto 'addestramento' del modello), nella loro applicazione (per i modelli: calcolo tramite di essi dei 'valori modello' delle variabili target – previsioni, appartenenza a una categoria, probabilità di un evento, ecc.) e nel perfezionamento degli artefatti già creati e applicati (ad esempio, ridefinendo il set di variabili in ingresso del modello in base ai risultati dell'applicazione – al fine di migliorare la precisione delle previsioni, come opzione). Un aspetto chiave nella comprensione del ruolo del CT è la sua 'astrazione' dalle realtà di CD e CI: il CT implementerà tutti gli artefatti, orientandosi sulla specificità computazionale e matematica della soluzione AI/ML nell'ambito delle possibilità offerte dai rispettivi ambienti. La responsabilità per il 'fornire dati in ingresso' e 'consegnare risultati' ricadrà su CD e CI.
Un aspetto importante dell'implementazione di CT in InterSystems IRIS è che, grazie all'integrazione con ambienti di modellazione matematica già menzionata, la piattaforma è in grado di estrarre artefatti dalle sessioni di lavoro in corso sotto il suo controllo in questi ambienti e (cosa più importante) convertirli in oggetti dati della piattaforma. Ad esempio, una tabella di distribuzione che è stata appena creata in una sessione di lavoro Python può essere (senza interrompere la sessione in Python) trasferita nella piattaforma come, per esempio, un global (array multidimensionale di dati InterSystems IRIS) – e utilizzata per calcoli in un altro meccanismo AI/ML (implementato già in un altro linguaggio – ad esempio, R) – oppure come tabella virtuale. Un altro esempio: parallelamente al funzionamento “standard” del modello (nella sessione di lavoro Python), sui suoi dati in ingresso viene eseguita l'“auto-ML”: selezione automatica delle variabili in ingresso ottimali e dei valori dei parametri. E insieme all'addestramento “standard”, il modello produttivo in tempo reale riceve anche una “proposta di ottimizzazione” della propria specifica – in cui il set di variabili in ingresso viene modificato, i valori dei parametri cambiano (non a seguito dell'addestramento in Python, ma a seguito dell'addestramento di una “versione alternativa” di esso stesso, ad esempio, nel stack H2O), permettendo alla soluzione AI/ML complessiva di gestire autonomamente cambiamenti imprevisti nella natura dei dati in ingresso e negli eventi modellati.
Esaminiamo più nel dettaglio le funzionalità AI/ML della piattaforma InterSystems IRIS, prendendo come esempio un prototipo esistente.
Nella diagramma sottostante, nella parte sinistra della slide – una parte del processo di business che implementa l'esecuzione di script in Python e R. Nella parte centrale – log visivi di esecuzione di alcuni di questi script, rispettivamente in Python e R. Subito dopo – esempi di contenuto in uno e nell’altro linguaggio, inviati all'esecuzione negli ambienti corrispondenti. A destra – visualizzazioni basate sui risultati dell'esecuzione degli script. Le visualizzazioni in alto – sono state realizzate con IRIS Analytics (i dati sono stati prelevati da Python nella piattaforma di dati InterSystems IRIS e visualizzati nel dashboard della piattaforma), in basso – sono state create direttamente nella sessione di lavoro R e salvate come file grafici. Aspetto importante: il frammento presentato nel prototipo è responsabile per l'addestramento del modello (classificazione delle condizioni dell'equipaggiamento) con dati in tempo reale dal processo di simulazione dell'equipaggiamento, su richiesta del processo di monitoraggio della qualità della classificazione, osservata durante l'applicazione del modello. Di seguito tratteremo l'implementazione della soluzione AI/ML come un insieme di processi interattivi (“agenti”).

Figura 12 Interazione con Python, R e Julia in InterSystems IRIS
I processi della piattaforma (chiamati anche “processi di business”, “processi analitici”, “pipeline”, ecc. – a seconda del contesto) sono principalmente modificabili nell'editor grafico dei processi di business all'interno della piattaforma, in modo tale da creare contemporaneamente sia il diagramma di flusso sia il corrispondente meccanismo AI/ML (codice sorgente). Parlando di ciò che “costituisce un meccanismo AI/ML”, intendiamo inizialmente l'ibridazione (all'interno del medesimo processo): contenuti nei linguaggi degli ambienti di modellazione matematica coesistono con contenuti in SQL (inclusi, con estensioni da ), in InterSystems ObjectScript, con altri linguaggi supportati. Inoltre, il processo della piattaforma offre ampie possibilità per la “rappresentazione” in forma di frammenti gerarchicamente nidificati (come mostrato nell'esempio nel diagramma di seguito), consentendo di organizzare in modo efficace anche contenuti complessi, senza “uscire” mai dal formato grafico (verso metodi/classi/procedure “non grafiche”, ecc.). Cioè, se necessario (e ciò è previsto nella maggior parte dei progetti), tutta la soluzione AI/ML può essere implementata in un formato grafico auto-documentante. Notiamo che nella parte centrale del diagramma sottostante, nel quale è presentato un “livello di nidificazione” più alto, è evidente che oltre al lavoro di addestramento del modello (utilizzando Python e R), viene aggiunta l'analisi della cosiddetta curva ROC del modello addestrato, consentendo di valutare visivamente (e computazionalmente anche) la qualità dell'addestramento – e tale analisi è implementata nel linguaggio Julia (eseguita, rispettivamente, nell'ambiente di modellazione Julia).

Figura 13 Ambiente visivo di composizione delle soluzioni AI/ML in InterSystems IRIS
Come già menzionato, lo sviluppo iniziale e (in alcuni casi) l'adattamento dei meccanismi AI/ML già implementati nella piattaforma possono essere effettuati al di fuori della piattaforma nell'editor Jupyter. Nella diagramma sottostante vediamo un esempio di adattamento di un processo esistente della piattaforma (lo stesso mostrato nella diagramma sopra) – ecco come appare in Jupyter la sua parte che si occupa dell'addestramento del modello. Il contenuto in Python è accessibile per la modifica, il debug e l'output grafico direttamente in Jupyter. Le modifiche (se necessarie) possono essere effettuate con una sincronizzazione immediata nel processo della piattaforma, inclusa la sua versione produttiva. Allo stesso modo, può essere trasferito nella piattaforma anche nuovo contenuto (generando automaticamente un nuovo processo della piattaforma).

Figura 14 Applicazione di Jupyter Notebook per la modifica del meccanismo AI/ML nella piattaforma InterSystems IRIS
L'adattamento del processo della piattaforma può essere effettuato non solo in formato grafico o notebook, ma anche in formato IDE (Integrated Development Environment) 'totale'. Tali IDE includono IRIS Studio (studio nativo IRIS), Visual Studio Code (estensione InterSystems IRIS per VSCode) ed Eclipse (plugin Atelier). In alcuni casi è possibile utilizzare contemporaneamente da parte di un team di sviluppatori tutti e tre gli IDE. Nella diagramma seguente è mostrato un esempio di modifica dello stesso processo nello studio IRIS, in Visual Studio Code e in Eclipse. Tutto il contenuto è accessibile per la modifica: sia Python/R/Julia/SQL, sia ObjectScript, sia processi aziendali.

Figura 15 Sviluppo di un processo aziendale InterSystems IRIS in diversi IDE
Merita una menzione a parte gli strumenti per la descrizione e l'esecuzione dei processi aziendali con il linguaggio Business Process Language (BPL). Il BPL permette di utilizzare nei processi aziendali 'componenti integrativi pronti' (activities) – il che, in effetti, fornisce piena giustificazione per affermare che in InterSystems IRIS è realizzata l''integrazione continua'. I componenti dei processi aziendali (attività e connessioni tra di esse) sono un potente acceleratore per la creazione di soluzioni AI/ML. E non solo per la creazione: grazie alle attività e alle connessioni tra di esse, sopra le sviluppi e meccanismi AI/ML disgregati, emerge uno 'strato gestionale autonomo', capace di prendere decisioni in base alla situazione, in tempo reale.

Figura 16 Componenti pronti dei processi aziendali per l'integrazione continua (CI) sulla piattaforma InterSystems IRIS
La concezione dei sistemi agenti (noti anche come 'sistemi multi-agente') ha una forte presenza nella robotizzazione, e la piattaforma InterSystems IRIS la supporta organicamente attraverso il costrutto 'prodotto-processo'. Oltre a infinite possibilità per 'riempire' ciascun processo con le funzionalità necessarie per la soluzione generale, conferire al sistema dei processi della piattaforma la proprietà di 'agenzialità' consente di creare soluzioni efficaci per fenomeni simulati estremamente instabili (comportamento di sistemi sociali/biosistemi, processi tecnologici parzialmente osservabili, ecc.).

Figura 16 Funzionamento di una soluzione AI/ML come sistema agente di processi aziendali in InterSystems IRIS
Continuiamo la nostra panoramica su InterSystems IRIS con un racconto sull'uso applicato della piattaforma per risolvere intere classi di problemi in tempo reale (un'introduzione piuttosto dettagliata ad alcune delle migliori pratiche di AI/ML sulla piattaforma InterSystems IRIS avviene in uno dei nostri precedenti ).
Da 'dietro le quinte' della diagramma precedente, qui sotto è presentato un diagramma più dettagliato del sistema agente. Nella diagramma è mostrato lo stesso prototipo, visibili tutti e quattro i processi-agente, sono schematicamente rappresentate le relazioni tra di essi: GENERATOR – si occupa della creazione dei dati dai sensori delle attrezzature, BUFFER – gestisce le code dei dati, ANALYZER – esegue l'apprendimento automatico, MONITOR – controlla la qualità dell'apprendimento automatico e segnala la necessità di un riaddestramento del modello.

Figura 17 Composizione di una soluzione AI/ML come sistema agente di processi aziendali in InterSystems IRIS
Nella diagramma sottostante è illustrato il funzionamento autonomo di un altro prototipo robotico (riconoscimento dell'intonazione emotiva dei testi) nel corso di un certo periodo. Nella parte superiore – evoluzione del parametro di qualità dell'apprendimento del modello (la qualità aumenta), nella parte inferiore – dinamica del parametro di qualità dell'applicazione del modello e fatti di riaddestramento (strisce rosse). Come si può vedere, la soluzione si è auto-addestrata in modo efficace e autonomo, e funziona a un livello di qualità stabilito (i valori del parametro di qualità non scendono sotto l'80%).

Figura 18 Apprendimento continuo (auto-) sulla piattaforma InterSystems IRIS
Abbiamo già menzionato l'«auto-ML», ma nel diagramma sottostante sono mostrati in dettaglio gli utilizzi di questa funzionalità in un ulteriore prototipo. Nel diagramma grafico del frammento del processo aziendale è evidenziata l'attività che avvia la modellazione nel stack H2O, i risultati di questa modellazione sono mostrati (il chiaro predominio del modello ottenuto rispetto ai modelli «manuali», secondo il diagramma comparativo delle curve ROC, oltre all'identificazione automatizzata delle «variabili più influenti» disponibili nel set di dati originale). Un aspetto importante qui è il risparmio di tempo e risorse esperte che si ottiene grazie all'«auto-ML»: ciò che il nostro processo di piattaforma realizza in mezzo minuto (trovare e addestrare il modello ottimale) può richiedere a un esperto da una settimana a un mese.

Figura 19 Integrazione dell'«auto-ML» nella soluzione AI/ML sulla piattaforma InterSystems IRIS
Il diagramma sottostante un po' «smorza la climax», ma è un buon modo per concludere il racconto delle classi di problemi risolvibili in tempo reale: ricordiamo che, nonostante tutte le capacità della piattaforma InterSystems IRIS, l'addestramento dei modelli sotto il suo controllo non è obbligatorio. La piattaforma può ricevere dall'esterno una specifica di modello PMML, addestrata in uno strumento non gestito dalla piattaforma - e applicare questo modello in tempo reale sin dal momento dell'importazione. . È importante considerare che non tutti gli artefatti AI/ML possono essere ridotti a una specifica PMML, anche se la maggior parte degli artefatti più comuni lo consente. Pertanto, la piattaforma InterSystems IRIS ha un «contorno aperto» e non implica una «schiavitù di piattaforma» per gli utenti.

Figura 20 Integrazione dell'«auto-ML» nella soluzione AI/ML sulla piattaforma InterSystems IRIS
Elencando i vantaggi aggiuntivi della piattaforma InterSystems IRIS (per chiarezza, riguardanti la gestione dei processi tecnologici), che hanno grande importanza nell'automazione dell'intelligenza artificiale e dell'apprendimento automatico in tempo reale:
- Strumenti avanzati di integrazione con qualsiasi fonte e consumatori di dati (AHTU/SCADA, attrezzature, manutenzione, ERP, ecc.)
- Integrato per l'elaborazione ibrida transazionale-analitica (Hybrid Transaction/Analytical Processing, HTAP) di qualsiasi volume di dati dei processi tecnologici
- Strumenti di sviluppo per il dispiegamento continuo di meccanismi AI/ML in tempo reale basati su Python, R, Julia
- Processi aziendali adattivi per integrazione continua e auto-apprendimento dei meccanismi delle soluzioni AI/ML in tempo reale
- Strumenti integrati di Business Intelligence per la visualizzazione dei dati dei processi tecnologici e dei risultati delle soluzioni AI/ML
- per la fornitura dei risultati delle soluzioni AI/ML in AHTU/SCADA, sistemi informativi-analitici, invio di avvisi, ecc.
Le soluzioni AI/ML sulla piattaforma InterSystems IRIS si integrano facilmente nell'infrastruttura IT esistente. La piattaforma InterSystems IRIS garantisce alta affidabilità delle soluzioni AI/ML grazie al supporto per configurazioni ad alta disponibilità e tolleranza ai guasti e un dispiegamento flessibile in ambienti virtuali, su server fisici, in cloud privati e pubblici, contenitori Docker.
Pertanto, InterSystems IRIS è una piattaforma universale per il calcolo AI/ML in tempo reale. L'universalità della nostra piattaforma è confermata praticamente dall'assenza di limitazioni de facto sulla complessità dei calcoli implementabili, la capacità di InterSystems IRIS di combinare (in tempo reale) l'elaborazione di scenari provenienti da settori diversi, e l'eccezionale adattabilità di qualsiasi funzione e meccanismo della piattaforma alle specifiche esigenze degli utenti.

Figura 21 InterSystems IRIS — piattaforma universale per il calcolo AI/ML in tempo reale
Per un'interazione più concreta con coloro dei nostri lettori interessati al materiale qui presentato, raccomandiamo di non limitarsi alla lettura e di continuare il dialogo «di persona». Saremo lieti di supportarvi nella formulazione di scenari AI/ML in tempo reale in base alla specificità della vostra azienda, eseguiremo prototipazione congiunta sulla piattaforma InterSystems IRIS, creeremo e implementeremo nella pratica una roadmap per l'integrazione dell'intelligenza artificiale e dell'apprendimento automatico nei vostri processi produttivi e gestionali. L'indirizzo email di contatto del nostro gruppo di esperti AI/ML – .
Fonte: habr.com
