InterSystems IRIS: una piattaforma AI/ML universale in tempo reale

Autore: Sergey Lukyanchikov, ingegnere consulente presso InterSystems

Chiamate di elaborazione AI/ML in tempo reale

Cominciamo con esempi tratti dall'esperienza della pratica di Data Science presso InterSystems:

  • Il portale acquirenti caricato è collegato a un sistema di consigli online. Ci sarà una ristrutturazione delle promozioni in tutta la rete di vendita al dettaglio (ad esempio, invece di una linea di promozioni “piatta”, verrà ora utilizzata una matrice “tattica per segmenti”). Cosa succede ai motori di raccomandazione? Cosa succede all'invio e all'aggiornamento dei dati al motore di raccomandazione (il volume dei dati di input è aumentato di 25000 volte)? Cosa succede allo sviluppo delle raccomandazioni (la necessità di ridurre di mille volte la soglia di filtraggio delle regole di raccomandazione a causa di un aumento mille volte del loro numero e della loro “portata”)?
  • Esiste un sistema per monitorare la probabilità che si sviluppino difetti nei componenti dell'apparecchiatura. Un sistema automatizzato di controllo del processo era collegato al sistema di monitoraggio, trasmettendo migliaia di parametri di processo tecnologico ogni secondo. Cosa succede al sistema di monitoraggio che in precedenza funzionava su “campioni manuali” (è in grado di fornire un monitoraggio probabilistico secondo per secondo)? Cosa succederà se nei dati di input appare un nuovo blocco di diverse centinaia di colonne con le letture dei sensori recentemente aggiunti al sistema di controllo del processo (sarà necessario e per quanto tempo fermare il sistema di monitoraggio per includere i dati dei nuovi sensori nell'analisi? )?
  • È stata creata una serie di meccanismi AI/ML (raccomandazione, monitoraggio, previsione) che utilizzano i risultati del lavoro reciproco. Quante ore di lavoro sono necessarie ogni mese per adattare il funzionamento di questo complesso ai cambiamenti nei dati di input? Qual è il "rallentamento" generale quando supportato dal complesso decisionale del management (la frequenza con cui si verificano nuove informazioni di supporto in esso rispetto alla frequenza con cui si verificano nuovi dati di input)?

Riassumendo questi e molti altri esempi, siamo arrivati ​​alla formulazione delle sfide che si presentano quando si passa all’utilizzo di meccanismi di machine learning e intelligenza artificiale in tempo reale:

  • Siamo soddisfatti della velocità di creazione e adattamento (alla situazione in evoluzione) degli sviluppi AI/ML nella nostra azienda?
  • In che misura le soluzioni AI/ML che utilizziamo supportano 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 approfondita delle capacità della piattaforma InterSystems IRIS in termini di supporto universale per l'implementazione di meccanismi AI/ML, assemblaggio (integrazione) di soluzioni AI/ML e formazione (test) di soluzioni AI/ML su base intensiva. flussi di dati. In questo articolo esamineremo ricerche di mercato, casi di studio di soluzioni AI/ML e aspetti concettuali di quella che chiamiamo piattaforma AI/ML in tempo reale.

Cosa sappiamo dai sondaggi: applicazioni in tempo reale

Giudizio sondaggiocondotto tra quasi 800 professionisti IT nel 2019 da Lightbend, parlano da soli:

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 1 Principali consumatori di dati in tempo reale

Citiamo importanti frammenti del rapporto sui risultati di questa indagine nella nostra traduzione:

“... Le tendenze nella popolarità degli strumenti per l’integrazione dei flussi di dati e, allo stesso tempo, per il supporto dell’elaborazione in contenitori forniscono una risposta sinergica alla richiesta del mercato di una proposta più reattiva, razionale e dinamica di soluzioni efficaci. Lo streaming di dati trasferisce le informazioni più velocemente rispetto ai tradizionali dati a pacchetto. A ciò si aggiunge la capacità di applicare rapidamente metodi computazionali, come, ad esempio, raccomandazioni basate su AI/ML, creando vantaggi competitivi attraverso una maggiore soddisfazione del cliente. La corsa all’agilità ha un impatto anche su tutti i ruoli nel paradigma DevOps, rendendo lo sviluppo e la distribuzione delle applicazioni più efficienti. … Ottocentoquattro professionisti IT hanno fornito informazioni sull'utilizzo dei flussi di dati nelle loro organizzazioni. Gli intervistati si trovavano prevalentemente nei paesi occidentali (41% in Europa e 37% in Nord America) e erano distribuiti quasi equamente tra piccole, medie e grandi imprese. ...

... L'intelligenza artificiale non è una montatura. Il XNUMX% di coloro che già utilizzano l’elaborazione del flusso di dati nelle applicazioni di produttività AI/ML confermano che il loro utilizzo di AI/ML vedrà la crescita maggiore nel prossimo anno (rispetto ad altre applicazioni).

  • Secondo la maggior parte degli intervistati, l’utilizzo dei flussi di dati negli scenari AI/ML vedrà la crescita maggiore nel prossimo anno.
  • Le applicazioni in AI/ML cresceranno non solo grazie a tipi di scenari relativamente nuovi, ma anche a causa di scenari tradizionali in cui vengono sempre più utilizzati dati in tempo reale.
  • Oltre all’AI/ML, il livello di entusiasmo tra gli utenti delle pipeline di dati IoT è impressionante: il 48% di coloro che hanno già integrato i dati IoT affermano che l’implementazione degli scenari su questi dati vedrà un aumento significativo nel prossimo futuro. ..."

Da questo sondaggio piuttosto interessante emerge chiaramente che la percezione degli scenari di machine learning e intelligenza artificiale come leader nel consumo di flussi di dati è già “in arrivo”. Ma un’osservazione altrettanto importante è la percezione dell’AI/ML in tempo reale attraverso la lente di DevOps: qui possiamo già iniziare a parlare della trasformazione della cultura ancora dominante dell’“AI/ML usa e getta con un set di dati completamente accessibile”.

Concetto di piattaforma AI/ML in tempo reale

Una tipica area di applicazione dell'intelligenza artificiale/ML in tempo reale è il controllo dei processi nella produzione. Usando il suo esempio e tenendo conto delle riflessioni precedenti, formuleremo il concetto di una piattaforma AI/ML in tempo reale.
L’uso dell’intelligenza artificiale e dell’apprendimento automatico nel controllo di processo presenta una serie di caratteristiche:

  • I dati sullo stato del processo tecnologico vengono ricevuti in modo intensivo: con alta frequenza e per un'ampia gamma di parametri (fino a decine di migliaia di valori di parametri trasmessi al secondo dal sistema di controllo del processo)
  • I dati sull'identificazione dei difetti, nonché quelli sulla loro evoluzione, al contrario, sono scarsi e irregolari, caratterizzati da un'insufficiente tipizzazione dei difetti e dalla loro localizzazione nel tempo (spesso rappresentata da registrazioni cartacee).
  • Da un punto di vista pratico, per l'addestramento e l'applicazione dei modelli è disponibile solo una "finestra di rilevanza" dei dati di origine, che riflette la dinamica del processo tecnologico su un intervallo scorrevole ragionevole che termina con gli ultimi valori letti dei parametri di processo

Queste caratteristiche ci costringono, oltre a ricevere ed elaborare in tempo reale l’intenso “segnale di ingresso a banda larga” proveniente dal processo tecnologico, a eseguire (in parallelo) l’applicazione, la formazione e il controllo di qualità dei risultati dell’AI / Modelli ML - anche in tempo reale. Il “frame” che i nostri modelli “vedono” nella finestra scorrevole di pertinenza è in continua evoluzione – e con esso cambia anche la qualità dei risultati del lavoro dei modelli AI/ML addestrati su uno dei “frame” in passato . Se la qualità dei risultati del lavoro dei modelli AI/ML si deteriora (ad esempio: il valore dell’errore di classificazione “norma-allarme” ha superato i limiti che abbiamo definito), la formazione aggiuntiva dei modelli dovrebbe essere avviata automaticamente su una “cornice” più attuale - e la scelta del momento per avviare la formazione aggiuntiva dei modelli dovrebbe tenere conto di come la durata della formazione stessa e della dinamica di deterioramento della qualità del lavoro dell'attuale versione dei modelli (poiché le versioni attuali dei modelli continuano a essere utilizzate durante l'addestramento dei modelli e fino alla formazione delle versioni “appena addestrate”).

InterSystems IRIS dispone di funzionalità chiave della piattaforma per abilitare soluzioni AI/ML per il controllo dei processi in tempo reale. Queste capacità possono essere suddivise in tre gruppi principali:

  • Implementazione continua (Continuous Deployment/Delivery, CD) di meccanismi AI/ML esistenti nuovi o adattati in una soluzione produttiva che opera in tempo reale sulla piattaforma InterSystems IRIS
  • Integrazione continua (CI) in un'unica soluzione produttiva dei flussi di dati in ingresso dei processi tecnologici, code di dati per applicazioni/addestramento/controllo qualità di meccanismi AI/ML e scambi di dati/codice/azioni di controllo con ambienti di modellazione matematica, orchestrati in tempo reale piattaforma InterSystems IRIS
  • (auto)formazione continua (Continuous Training, CT) di meccanismi AI/ML, eseguita in ambienti di modellazione matematica utilizzando dati, codice e azioni di controllo (“decisioni prese”) trasmessi dalla piattaforma InterSystems IRIS

La classificazione delle capacità della piattaforma in relazione all’apprendimento automatico e all’intelligenza artificiale proprio in questi gruppi non è casuale. Citiamo il metodologico pubblicazione Google, che fornisce una base concettuale per questa classificazione, nella nostra traduzione:

“... Il concetto DevOps, molto popolare al giorno d'oggi, copre lo sviluppo e il funzionamento di sistemi informativi su larga scala. I vantaggi dell'implementazione di questo concetto sono una riduzione della durata dei cicli di sviluppo, una distribuzione più rapida degli sviluppi e flessibilità nella pianificazione del rilascio. Per ottenere questi vantaggi, DevOps prevede l’implementazione di almeno due pratiche:

  • Integrazione continua (CI)
  • Consegna continua (CD)

Queste pratiche si applicano anche alle piattaforme AI/ML per garantire un assemblaggio affidabile ed efficiente di soluzioni AI/ML produttive.

Le piattaforme AI/ML differiscono dagli altri sistemi informativi nei seguenti aspetti:

  • Competenze del team: quando si crea una soluzione AI/ML, il team solitamente comprende data scientist o esperti “accademici” nel campo della ricerca sui dati che conducono analisi dei dati, sviluppano e testano modelli. Questi membri del team potrebbero non essere sviluppatori di codice produttivi e professionali.
  • Sviluppo: i motori AI/ML sono di natura sperimentale. Per risolvere un problema nel modo più efficiente, è necessario passare attraverso varie combinazioni di variabili di input, algoritmi, metodi di modellazione e parametri del modello. La complessità di tale ricerca sta nel rintracciare “cosa ha funzionato/non ha funzionato”, garantendo la riproducibilità degli episodi, la generalizzazione degli sviluppi per implementazioni ripetute.
  • Test: testare i motori AI/ML richiede una gamma di test più ampia rispetto alla maggior parte degli altri sviluppi. Oltre ai test unitari e di integrazione standard, vengono testate la validità dei dati e la qualità dei risultati dell'applicazione del modello ai campioni di addestramento e controllo.
  • Distribuzione: la distribuzione di soluzioni AI/ML non si limita ai servizi predittivi che utilizzano un modello addestrato una volta. Le soluzioni AI/ML sono costruite attorno a pipeline multifase che eseguono l'addestramento e l'applicazione automatizzata dei modelli. L'implementazione di tali pipeline implica l'automazione di azioni non banali tradizionalmente eseguite manualmente dai data scientist per poter addestrare e testare i modelli.
  • Produttività: i motori AI/ML possono perdere produttività non solo a causa di una programmazione inefficiente, ma anche a causa della natura in continua evoluzione dei dati di input. In altre parole, le prestazioni dei meccanismi AI/ML possono peggiorare per una gamma di ragioni più ampia rispetto alle prestazioni degli sviluppi convenzionali. Ciò porta alla necessità di monitorare (online) le prestazioni dei nostri motori AI/ML, nonché di inviare avvisi o rifiutare risultati se gli indicatori di prestazione non soddisfano le aspettative.

Le piattaforme AI/ML sono simili ad altri sistemi informativi in ​​quanto entrambe richiedono l'integrazione continua del codice con controllo della versione, test unitari, test di integrazione e distribuzione dello sviluppo continuo. Tuttavia, nel caso dell’AI/ML, esistono diverse differenze importanti:

  • La CI (Continuous Integration) non si limita più a testare e validare il codice dei componenti distribuiti, ma include anche il test e la validazione di dati e 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, la formazione e l'applicazione di soluzioni AI/ML.
  • CT (Continuous Training, formazione continua) è un elemento nuovo [ca. autore dell'articolo: un elemento di novità rispetto al concetto tradizionale di DevOps, in cui CT è, di regola, Continuous Testing], inerente alle piattaforme AI/ML, preposte alla gestione autonoma dei meccanismi di addestramento e applicazione dell'AI /ML modelli. ..."

Possiamo affermare che il machine learning e l’intelligenza artificiale che lavorano su dati in tempo reale richiedono un insieme più ampio di strumenti e competenze (dallo sviluppo del codice all’orchestrazione di ambienti di modellazione matematica), una più stretta integrazione tra tutte le aree funzionali e disciplinari, un’organizzazione più efficiente delle risorse umane e risorse della macchina.

Scenario in tempo reale: riconoscimento dello sviluppo di difetti nelle pompe di alimentazione

Continuando a utilizzare l'area del controllo di processo come esempio, consideriamo un problema specifico (di cui abbiamo già parlato all'inizio): dobbiamo fornire un monitoraggio in tempo reale dello sviluppo di difetti nelle pompe in base al flusso dei valori dei parametri di processo ​​e rapporti del personale addetto alle riparazioni sui difetti identificati.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 2 Formulazione del problema per monitorare lo sviluppo dei difetti

Una caratteristica della maggior parte dei compiti così posti nella pratica è che la regolarità e l'efficienza della ricezione dei dati (APCS) devono essere considerate alla luce del verificarsi (e della registrazione) episodica e irregolare di difetti di vario tipo. In altre parole: i dati dal sistema di controllo del processo arrivano una volta al secondo, corretti e accurati, e gli appunti sui difetti vengono annotati con una matita chimica indicando la data su un taccuino generale in officina (ad esempio: “12.01 – perdita nella copertina dal lato del 3° cuscinetto”).

Pertanto, possiamo integrare la formulazione del problema con la seguente importante limitazione: abbiamo solo una "etichetta" di un difetto di un tipo specifico (vale a dire, un esempio di un difetto di un tipo specifico è rappresentato dai dati del controllo di processo sistema in una data specifica - e non abbiamo più esempi di difetti di questo particolare tipo). Questa limitazione ci porta immediatamente oltre l’ambito del classico machine learning (apprendimento supervisionato), per il quale dovrebbero esserci molti “tag”.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 3 Chiarimento del compito di monitorare lo sviluppo dei difetti

Possiamo in qualche modo “moltiplicare” l’unico “tag” a nostra disposizione? Sì possiamo. Lo stato attuale della pompa è caratterizzato dal grado di somiglianza con i difetti registrati. Anche senza l'utilizzo di metodi quantitativi, a livello di percezione visiva, osservando la dinamica dei valori dei dati provenienti dal sistema di controllo del processo, si può già imparare molto:

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 4 Dinamica delle condizioni della pompa sullo sfondo di un "segno" di un difetto di un determinato tipo

Ma la percezione visiva (almeno per ora) non è il generatore di “tag” più adatto nel nostro scenario in rapida evoluzione. Valuteremo la somiglianza della condizione attuale della pompa con i difetti segnalati utilizzando un test statistico.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 5 Applicazione di un test statistico ai dati in entrata sullo sfondo di un'"etichetta" di difetto

Un test statistico determina la probabilità che le registrazioni con i valori dei parametri del processo tecnologico nel “flow-packet” ricevuto dal sistema di controllo del processo siano simili alle registrazioni del “tag” di un difetto di un certo tipo. Il valore di probabilità (indice di somiglianza statistica) calcolato come risultato dell'applicazione di un test statistico viene convertito in un valore pari a 0 o 1, diventando una "etichetta" per l'apprendimento automatico in ogni record specifico del pacchetto esaminato per la somiglianza. Cioè, dopo aver elaborato un pacchetto di record sullo stato della pompa appena ricevuto con un test statistico, abbiamo l'opportunità di (a) aggiungere questo pacchetto al set di addestramento per addestrare il modello AI/ML e (b) effettuare il controllo di qualità del versione corrente del modello quando lo si utilizza con questo pacchetto.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 6 Applicazione di un modello di apprendimento automatico ai dati in ingresso sullo sfondo di un'"etichetta" di difetto

In uno dei nostri precedenti webinar Mostriamo e spieghiamo come la piattaforma InterSystems IRIS consente di implementare qualsiasi meccanismo AI/ML sotto forma di esecuzione continua di processi aziendali che monitorano l'affidabilità dei risultati della modellazione e adattano i parametri del modello. Quando implementiamo un prototipo del nostro scenario con le pompe, utilizziamo tutte le funzionalità InterSystems IRIS presentate durante il webinar, implementando nel processo di analisi come parte della nostra soluzione non il classico apprendimento supervisionato, ma piuttosto l'apprendimento per rinforzo, che gestisce automaticamente la selezione dei modelli di addestramento . Il campione di addestramento contiene record sui quali si forma un "consenso di rilevamento" dopo aver applicato sia il test statistico che la versione corrente del modello, ovvero sia il test statistico (dopo aver trasformato l'indice di somiglianza in 0 o 1) sia il modello che ha prodotto il risultato su tali record 1. Durante il nuovo addestramento del modello, durante la sua validazione (il modello appena addestrato viene applicato al proprio campione di addestramento, con applicazione preliminare di un test statistico ad esso), registra che “non ha mantenuto” il risultato 1 dopo l'elaborazione dal test statistico (a causa della costante presenza nell'addestramento di un campione di record provenienti dall'“etichetta” originale del difetto), vengono rimossi dal training set, e una nuova versione del modello apprende dall'“etichetta” del difetto difetto più i record “conservati” dal flusso.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 7 Robotizzazione del calcolo AI/ML in InterSystems IRIS

Se è necessaria una sorta di "seconda opinione" sulla qualità del rilevamento ottenuto durante i calcoli locali in InterSystems IRIS, viene creato un processo di consulenza per eseguire l'addestramento e l'applicazione di modelli su un set di dati di controllo utilizzando servizi cloud (ad esempio, Microsoft Azure, Amazon Web Services, Google Cloud Platform, ecc.):

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 8 Seconda opinione di Microsoft Azure orchestrata da InterSystems IRIS

Il prototipo del nostro scenario in InterSystems IRIS è progettato come un sistema basato su agenti di processi analitici che interagiscono con un oggetto apparecchiatura (pompa), ambienti di modellazione matematica (Python, R e Julia) e garantiscono l'autoapprendimento di tutte le IA/AI coinvolte Meccanismi ML: su flussi di dati in tempo reale.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 9 Funzionalità principali della soluzione AI/ML in tempo reale in InterSystems IRIS

Il risultato pratico del nostro prototipo:

  • Difetto del campione riconosciuto dal modello (12 gennaio):

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale

  • Un difetto in via di sviluppo riconosciuto dal modello che non era incluso nel campione (l'11 settembre, il difetto stesso è stato identificato dal team di riparazione solo due giorni dopo, il 13 settembre):

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
La simulazione su dati reali contenenti diversi episodi dello stesso difetto ha mostrato che la nostra soluzione, implementata sulla piattaforma InterSystems IRIS, ci consente di identificare lo sviluppo di difetti di questo tipo diversi giorni prima che vengano rilevati dal team di riparazione.

InterSystems IRIS: una piattaforma informatica AI/ML in tempo reale universale

La piattaforma InterSystems IRIS semplifica lo sviluppo, l'implementazione e il funzionamento di soluzioni di dati in tempo reale. InterSystems IRIS è in grado di eseguire simultaneamente l'elaborazione dei dati transazionali e analitici; supportare visualizzazioni di dati sincronizzate secondo più modelli (inclusi relazionale, gerarchico, oggetto e documento); fungere da piattaforma per l'integrazione di un'ampia gamma di fonti di dati e singole applicazioni; fornire analisi avanzate in tempo reale su dati strutturati e non strutturati. InterSystems IRIS fornisce anche meccanismi per l'utilizzo di strumenti analitici esterni e consente una combinazione flessibile di hosting nel cloud e su server locali.

Le applicazioni costruite sulla piattaforma InterSystems IRIS sono implementate in una varietà di settori, aiutando le aziende a realizzare vantaggi economici significativi da una prospettiva strategica e operativa, aumentando il processo decisionale informato e colmando il divario tra evento, analisi e azione.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 10 Architettura InterSystems IRIS nel contesto di AI/ML in tempo reale

Come il diagramma precedente, il diagramma seguente combina il nuovo “sistema di coordinate” (CD/CI/CT) con un diagramma del flusso di informazioni tra gli elementi di lavoro della piattaforma. La visualizzazione inizia con il macromeccanismo CD e prosegue con i macromeccanismi CI e CT.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 11 Diagramma 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 gli sviluppi AI/ML esistenti e/o creano nuovi sviluppi utilizzando un editor di codice specializzato per meccanismi AI/ML: Jupyter (nome completo: Jupyter Notebook; per brevità, vengono talvolta chiamati anche i documenti creati in questo editor). In Jupyter, uno sviluppatore ha l'opportunità di scrivere, eseguire il debug e verificare le prestazioni (incluso l'utilizzo della grafica) di uno specifico sviluppo AI/ML prima che venga inserito ("distribuito") in InterSystems IRIS. È chiaro che un nuovo sviluppo creato in questo modo riceverà solo il debug di base (poiché, in particolare, Jupyter non funziona con flussi di dati in tempo reale) - questo è nell'ordine delle cose, perché il risultato principale dello sviluppo in Jupyter è la conferma dell'operabilità fondamentale di un meccanismo AI/ML separato (“mostra il risultato atteso su un campione di dati”). Allo stesso modo, un meccanismo già inserito nella piattaforma (vedere i seguenti macro-meccanismi) prima del debug in Jupyter può richiedere un "rollback" a un modulo "pre-piattaforma" (lettura di dati da file, lavoro con dati tramite xDBC anziché tabelle, interazione diretta con i globali - array di dati multidimensionali InterSystems IRIS – ecc.).

Un aspetto importante dell'implementazione del CD in InterSystems IRIS: è stata implementata l'integrazione bidirezionale tra la piattaforma e Jupyter, consentendo il trasferimento dei contenuti in Python, R e Julia sulla piattaforma (e, successivamente, elaborati nella piattaforma) (tutti e tre sono programmi di programmazione nei corrispondenti principali linguaggi open source). ambienti di modellazione matematica di origine). Pertanto, gli sviluppatori di contenuti AI/ML hanno l'opportunità di effettuare una "distribuzione continua" di questi contenuti nella piattaforma, lavorando nel loro familiare editor Jupyter, con librerie familiari disponibili in Python, R, Julia ed eseguendo il debug di base (se necessario) fuori dalla piattaforma.

Passiamo al meccanismo della macro CI in InterSystems IRIS. Il diagramma mostra il macro processo del "robotizzatore in tempo reale" (un complesso di strutture dati, processi aziendali e frammenti di codice da essi orchestrati in linguaggi matematici e ObjectScript - il linguaggio di sviluppo nativo di InterSystems IRIS). Il compito di questo macro processo è quello di mantenere le code di dati necessarie per il funzionamento dei meccanismi AI/ML (basati su flussi di dati trasmessi alla piattaforma in tempo reale), prendere decisioni sulla sequenza di applicazione e sull'"assortimento" di AI/ I meccanismi ML (sono anche “algoritmi matematici”, “modelli”, ecc. – possono essere chiamati in modo diverso a seconda delle specificità dell’implementazione e delle preferenze terminologiche), mantengono aggiornate le strutture dei dati per analizzare i risultati del lavoro di AI/ meccanismi ML (cubi, tabelle, array di dati multidimensionali, ecc.) ecc. – per report, dashboard, ecc.).

Un aspetto importante dell'implementazione della CI in InterSystems IRIS: è stata implementata l'integrazione bidirezionale tra la piattaforma e gli ambienti di modellazione matematica, consentendo di eseguire i contenuti ospitati nella piattaforma in Python, R e Julia nei rispettivi ambienti e ricevere indietro i risultati dell'esecuzione. Questa integrazione è implementata sia in "modalità terminale" (ovvero, il contenuto AI/ML è formulato come codice ObjectScript che effettua chiamate all'ambiente) sia in "modalità processo aziendale" (ovvero, il contenuto AI/ML è formulato come un processo aziendale utilizzando un editor grafico, o talvolta utilizzando Jupyter, o utilizzando un IDE - IRIS Studio, Eclipse, Visual Studio Code). La disponibilità dei processi aziendali per la modifica in Jupyter si riflette nella connessione tra IRIS a livello CI e Jupyter a livello CD. Di seguito viene fornita una panoramica più dettagliata dell'integrazione con ambienti di modellazione matematica. In questa fase, a nostro avviso, ci sono tutte le ragioni per garantire che la piattaforma disponga di tutti gli strumenti necessari per implementare la “integrazione continua” degli sviluppi AI/ML (provenienti dal “distribuzione continua”) in soluzioni AI/ML in tempo reale.

E il macro meccanismo principale: CT. Senza di essa, non ci sarà alcuna piattaforma AI/ML (anche se il “tempo reale” sarà implementato tramite CD/CI). L’essenza del CT è il lavoro della piattaforma con “artefatti” dell’apprendimento automatico e dell’intelligenza artificiale direttamente nelle sessioni di lavoro degli ambienti di modellazione matematica: modelli, tabelle di distribuzione, vettori di matrici, strati di reti neurali, ecc. Questo “lavoro”, nella maggior parte dei casi, consiste nel creare gli artefatti menzionati negli ambienti (nel caso dei modelli, ad esempio, la “creazione” consiste nell'impostare le specifiche del modello e la successiva selezione dei valori dei suoi parametri - il cosiddetto “addestramento” del modello), la loro applicazione (per i modelli: calcolo con il loro ausilio dei valori “modello” delle variabili target - previsioni, appartenenza alla categoria, probabilità di un evento, ecc.) e il miglioramento di già artefatti creati e applicati (ad esempio, ridefinendo un insieme di variabili di input del modello in base ai risultati dell'applicazione, al fine di migliorare l'accuratezza della previsione, come opzione). Il punto chiave per comprendere il ruolo di CT è la sua “astrazione” dalle realtà di CD e CI: CT implementerà tutti gli artefatti, concentrandosi sulle specificità computazionali e matematiche della soluzione AI/ML nell’ambito delle capacità fornite da ambienti specifici. La responsabilità di “fornire input” e “consegnare output” sarà responsabilità di CD e CI.

Un aspetto importante dell'implementazione del CT specificamente in InterSystems IRIS: utilizzando l'integrazione con ambienti di modellazione matematica già menzionata sopra, la piattaforma ha la capacità di estrarre proprio quegli artefatti dalle sessioni di lavoro eseguite sotto il suo controllo in ambienti matematici e (soprattutto) trasformarli trasformarli in oggetti dati della piattaforma. Ad esempio, una tabella di distribuzione appena creata in una sessione Python funzionante può essere (senza interrompere la sessione Python) trasferita alla piattaforma sotto forma, ad esempio, di un globale (un array di dati IRIS InterSystems multidimensionale) - e utilizzata per calcoli in un altro meccanismo AI/ML (implementato nel linguaggio di un altro ambiente - ad esempio in R) - o in una tabella virtuale. Un altro esempio: parallelamente alla “modalità normale” di funzionamento del modello (nella sessione di lavoro di Python), viene eseguito “auto-ML” sui suoi dati di input: selezione automatica delle variabili di input e dei valori dei parametri ottimali. E insieme all’addestramento “regolare”, un modello produttivo in tempo reale riceve anche una “proposta di ottimizzazione” delle sue specifiche – in cui cambia l’insieme delle variabili di input, cambiano i valori dei parametri (non più per effetto dell’addestramento in Python, ma come risultato dell'addestramento con una versione "alternativa" di se stesso, come lo stack H2O), consentendo alla soluzione AI/ML complessiva di far fronte in modo autonomo a cambiamenti imprevisti nella natura dei dati di input e dei fenomeni modellati .

Conosciamo più in dettaglio la funzionalità della piattaforma AI/ML di InterSystems IRIS, utilizzando l'esempio di un prototipo reale.

Nello schema sottostante, sul lato sinistro della slide è presente una parte del processo aziendale che implementa l'esecuzione di script in Python e R. Nella parte centrale sono presenti rispettivamente i log visivi dell'esecuzione di alcuni di questi script, in Python e R. Immediatamente dietro di loro ci sono esempi di contenuti sull'uno e sull'altro linguaggio, trasferiti per l'esecuzione negli ambienti appropriati. Alla fine a destra ci sono le visualizzazioni basate sui risultati dell'esecuzione dello script. Le visualizzazioni in alto sono state realizzate su IRIS Analytics (i dati sono stati presi da Python nella piattaforma dati InterSystems IRIS e visualizzati su una dashboard utilizzando la piattaforma), in basso sono state effettuate direttamente nella sessione di lavoro R e da lì output in file grafici . Un aspetto importante: il frammento presentato nel prototipo è responsabile dell'addestramento del modello (classificazione degli stati delle apparecchiature) sui dati ricevuti in tempo reale dal processo di simulazione dell'apparecchiatura, su comando del processo di monitoraggio della qualità di classificazione osservato durante l'applicazione del modello. L'implementazione di una soluzione AI/ML sotto forma di un insieme di processi interagenti ("agenti") verrà discussa ulteriormente.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 12 Interazione con Python, R e Julia in InterSystems IRIS

I processi della piattaforma (sono anche “processi aziendali”, “processi analitici”, “condutture”, ecc. - a seconda del contesto), innanzitutto, vengono modificati nell'editor grafico dei processi aziendali nella piattaforma stessa, e in tale modo in modo che sia il suo diagramma a blocchi che il corrispondente meccanismo AI/ML (codice programma) vengano creati simultaneamente. Quando diciamo che "si ottiene un meccanismo AI/ML", inizialmente intendiamo ibridità (all'interno di un processo): il contenuto nei linguaggi degli ambienti di modellazione matematica è adiacente al contenuto in SQL (comprese le estensioni da IntegratoML), in InterSystems ObjectScript, con altri linguaggi supportati. Inoltre, il processo della piattaforma offre opportunità molto ampie di "rendering" sotto forma di frammenti nidificati gerarchicamente (come si può vedere nell'esempio nel diagramma seguente), che consente di organizzare in modo efficace anche contenuti molto complessi senza mai "cadere" del formato grafico (in formati “non grafici”). » metodi/classi/procedure, ecc.). Cioè, se necessario (ed è previsto nella maggior parte dei progetti), l'intera soluzione AI/ML può essere implementata in un formato grafico autodocumentante. Si noti che nella parte centrale del diagramma sottostante, che rappresenta un “livello di nidificazione” più elevato, è chiaro che oltre al lavoro vero e proprio di training del modello (usando Python e R), un’analisi del cosiddetto Viene aggiunta la curva ROC del modello addestrato, che consente di valutare visivamente (e anche computazionalmente) la qualità dell'addestramento - e questa analisi è implementata nel linguaggio Julia (eseguita, di conseguenza, nell'ambiente matematico Julia).

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 13 Ambiente visivo per la composizione delle soluzioni AI/ML in InterSystems IRIS

Come accennato in precedenza, lo sviluppo iniziale e (in alcuni casi) l'adattamento dei meccanismi AI/ML già implementati nella piattaforma saranno/potranno essere eseguiti all'esterno della piattaforma nell'editor Jupyter. Nel diagramma seguente vediamo un esempio di adattamento del processo di una piattaforma esistente (lo stesso del diagramma sopra): ecco come appare il frammento responsabile dell'addestramento del modello in Jupyter. Il contenuto Python è disponibile per la modifica, il debug e l'output grafico direttamente in Jupyter. È possibile apportare modifiche (se necessario) con la sincronizzazione istantanea nel processo della piattaforma, inclusa la sua versione produttiva. I nuovi contenuti possono essere trasferiti alla piattaforma in modo simile (un nuovo processo della piattaforma viene generato automaticamente).

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 14 Utilizzo di Jupyter Notebook per modificare il motore AI/ML nella piattaforma InterSystems IRIS

L'adattamento del processo di piattaforma può essere eseguito non solo in formato grafico o portatile, ma anche nel formato IDE (Integrated Development Environment) “totale”. Questi IDE sono IRIS Studio (studio IRIS nativo), Visual Studio Code (estensione InterSystems IRIS per VSCode) ed Eclipse (plug-in Atelier). In alcuni casi, è possibile per un team di sviluppo utilizzare tutti e tre gli IDE contemporaneamente. Il diagramma seguente mostra un esempio di modifica dello stesso processo in IRIS studio, in Visual Studio Code e in Eclipse. È possibile modificare assolutamente tutto il contenuto: Python/R/Julia/SQL, ObjectScript e processi aziendali.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 15 Sviluppo del processo aziendale InterSystems IRIS in vari IDE

Una menzione speciale meritano gli strumenti per descrivere ed eseguire i processi aziendali di InterSystems IRIS nel Business Process Language (BPL). BPL consente di utilizzare "componenti di integrazione già pronti" (attività) nei processi aziendali - il che, di fatto, dà tutte le ragioni per affermare che in InterSystems IRIS è implementata "l'integrazione continua". I componenti già pronti dei processi aziendali (attività e connessioni tra loro) sono un potente acceleratore per assemblare una soluzione AI/ML. E non solo assemblee: grazie alle attività e alle connessioni tra loro su sviluppi e meccanismi disparati di AI/ML, nasce uno “strato di gestione autonomo”, in grado di prendere decisioni a seconda della situazione, in tempo reale.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 16 Componenti dei processi aziendali già pronti per l'integrazione continua (CI) sulla piattaforma InterSystems IRIS

Il concetto di sistemi ad agenti (noti anche come “sistemi multi-agente”) ha una posizione forte nella robotizzazione e la piattaforma IRIS di InterSystems lo supporta organicamente attraverso il costrutto “prodotto-processo”. Oltre alle illimitate possibilità di “riempire” ciascun processo con le funzionalità necessarie per la soluzione complessiva, dotare il sistema di processi della piattaforma della proprietà di “agenzia” consente di creare soluzioni efficaci per fenomeni simulati estremamente instabili (comportamento sociale/ biosistemi, processi tecnologici parzialmente osservabili, ecc.).

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 16 Funzionamento di una soluzione AI/ML come sistema di processi aziendali basato su agenti in InterSystems IRIS

Continuiamo la nostra recensione di InterSystems IRIS con una storia sull'uso applicato della piattaforma per risolvere intere classi di problemi in tempo reale (un'introduzione abbastanza dettagliata ad alcune delle migliori pratiche della piattaforma AI/ML su InterSystems IRIS può essere trovata in uno del nostro precedente webinar).

Sulla scia del diagramma precedente, di seguito è riportato un diagramma più dettagliato del sistema di agenti. Il diagramma mostra lo stesso prototipo, tutti e quattro i processi dell'agente sono visibili, le relazioni tra loro sono disegnate schematicamente: GENERATORE - elabora la creazione di dati da parte dei sensori dell'apparecchiatura, BUFFER - gestisce le code di dati, ANALIZZATORE - esegue l'apprendimento automatico stesso, MONITOR - monitora il qualità dell’apprendimento automatico e invia un segnale sulla necessità di riqualificare il modello.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 17 Composizione di una soluzione AI/ML sotto forma di sistema di processi aziendali basato su agenti in InterSystems IRIS

Lo schema seguente illustra da tempo il funzionamento autonomo di un altro prototipo robotico (riconoscimento della colorazione emotiva dei testi). Nella parte superiore c'è l'evoluzione dell'indicatore di qualità della formazione del modello (la qualità è in crescita), nella parte inferiore c'è la dinamica dell'indicatore di qualità dell'applicazione del modello e i fatti della formazione ripetuta (strisce rosse). Come puoi vedere, la soluzione ha imparato da sola in modo efficiente e autonomo e opera a un determinato livello di qualità (i valori del punteggio di qualità non scendono al di sotto dell'80%).

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 18 (Auto)formazione continua (CT) sulla piattaforma InterSystems IRIS

Abbiamo menzionato in precedenza anche "auto-ML", ma il diagramma seguente mostra l'uso di questa funzionalità in dettaglio utilizzando l'esempio di un altro prototipo. Il diagramma grafico di un frammento di un processo aziendale mostra l'attività che innesca la modellazione nello stack H2O, mostra i risultati di questa modellazione (la chiara predominanza del modello risultante rispetto ai modelli "creati dall'uomo", secondo il diagramma comparativo di curve ROC, nonché l'identificazione automatizzata delle "variabili più influenti" disponibili nel set di dati originale). Un punto importante qui è il risparmio di tempo e risorse di esperti che si ottiene attraverso “auto-ML”: ciò che fa il nostro processo di piattaforma in mezzo minuto (trovare e addestrare il modello ottimale) può richiedere a un esperto da una settimana a un mese.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 19 Integrazione di "auto-ML" in una soluzione AI/ML sulla piattaforma InterSystems IRIS

Il diagramma seguente non coglie un po' il punto, ma è un buon modo per concludere la storia delle classi di problemi in tempo reale da risolvere: ricordiamo che con tutte le funzionalità della piattaforma InterSystems IRIS, l'addestramento dei modelli sotto il suo controllo è non obbligatorio. La piattaforma può ricevere dall'esterno la cosiddetta specifica PMML del modello, addestrata in uno strumento non sotto il controllo della piattaforma, e applicare questo modello in tempo reale dal momento in cui viene importato Specifiche PMML. È importante tenere presente 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 è “a circuito aperto” e non significa “schiavitù della piattaforma” per gli utenti.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 20 Integrazione di "auto-ML" in una soluzione AI/ML sulla piattaforma InterSystems IRIS

Elenchiamo gli ulteriori vantaggi della piattaforma InterSystems IRIS (per chiarezza, in relazione al controllo di processo), che sono di grande importanza nell'automazione dell'intelligenza artificiale e dell'apprendimento automatico in tempo reale:

  • Strumenti di integrazione sviluppati con qualsiasi fonte di dati e consumatore (sistema di controllo di processo/SCADA, apparecchiature, MRO, ERP, ecc.)
  • Incorporato DBMS multimodello per l'elaborazione transazionale e analitica ad alte prestazioni (Hybrid Transaction/Analytical Processing, HTAP) di qualsiasi volume di dati di processo tecnologico
  • Strumenti di sviluppo per l'implementazione continua di motori AI/ML per soluzioni in tempo reale basate su Python, R, Julia
  • Processi aziendali adattivi per l'integrazione continua e l'(auto)apprendimento di motori di soluzioni AI/ML in tempo reale
  • Strumenti di Business Intelligence integrati per visualizzare i dati di processo e i risultati di una soluzione AI/ML
  • Gestione dell'API per fornire i risultati della soluzione AI/ML a sistemi di controllo di processo/SCADA, sistemi informativi e analitici, invio di alert, ecc.

Le soluzioni AI/ML sulla piattaforma InterSystems IRIS si integrano facilmente nell'infrastruttura IT esistente. La piattaforma InterSystems IRIS garantisce un'elevata affidabilità delle soluzioni AI/ML supportando configurazioni tolleranti ai guasti e ai disastri e un'implementazione flessibile in ambienti virtuali, su server fisici, in cloud privati ​​e pubblici e contenitori Docker.

Pertanto, InterSystems IRIS è una piattaforma informatica AI/ML universale in tempo reale. L'universalità della nostra piattaforma è confermata nella pratica dall'assenza di restrizioni di fatto sulla complessità dei calcoli implementati, dalla capacità di InterSystems IRIS di combinare (in tempo reale) l'elaborazione di scenari provenienti da un'ampia varietà di settori e dall'eccezionale adattabilità della eventuali funzioni e meccanismi della piattaforma alle esigenze specifiche degli utenti.

InterSystems IRIS: una piattaforma AI/ML universale in tempo reale
Figura 21 InterSystems IRIS: una piattaforma informatica AI/ML universale in tempo reale

Per un’interazione più concreta con i nostri lettori interessati al materiale qui presentato, consigliamo di non limitarsi alla lettura e di continuare il dialogo “dal vivo”. Saremo lieti di fornirvi supporto nella formulazione di scenari AI/ML in tempo reale in relazione alle specificità della vostra azienda, eseguire prototipazioni congiunte sulla piattaforma InterSystems IRIS, formulare e implementare nella pratica una roadmap per l'introduzione dell'intelligenza artificiale e del machine learning nei vostri processi produttivi e gestionali. Email di contatto del nostro team di esperti AI/ML – [email protected].

Fonte: habr.com

Aggiungi un commento