Autor: Serghei Lukiânchikov, consultant inginer InterSystems
Provocările calculilor AI/ML în timp real
Să începem cu exemple din experiența practică a companiei InterSystems în Data Science:
- Un portal „încărcat” al clientului este conectat la un sistem de recomandare online. Este necesară o restructurare a promoțiilor la nivelul rețelei de retail (de exemplu, în loc de o gamă „plată” de promoții, acum va fi aplicată o matrice „segment-tactică”). Ce se întâmplă cu mecanismele de recomandare? Ce se întâmplă cu livrarea și actualizarea datelor în mecanismul de recomandare (volumul de date de intrare a crescut de 25000 de ori)? Ce se întâmplă cu generarea recomandărilor (necesitatea de a reduce de mii de ori pragul de filtrare a regulilor de recomandare din cauza creșterii de mii de ori a numărului și „sortimentului” acestora)?
- Există un sistem de monitorizare a probabilității dezvoltării defectelor în nodurile echipamentului. La sistemul de monitorizare a fost conectată o APU(T), care transmite mii de parametrii ai procesului tehnologic în fiecare secundă. Ce se întâmplă cu sistemul de monitorizare, care anterior funcționa cu „probe manuale” (este capabil să asigure monitorizarea probabilității în fiecare secundă)? Ce se va întâmpla dacă în datele de intrare apare un nou bloc cu câteva sute de coloane cu citirile senzorilor, recent introduse în APU(T) (va fi necesar să se oprească sistemul de monitorizare și, dacă da, pentru cât timp, pentru a include analiza datelor de la noii senzori)?
- A fost creat un complex de mecanisme AI/ML (recomandări, monitorizare, prognoză), care utilizează rezultatele muncii unii altora. Câte ore de muncă sunt necesare lunar pentru adaptarea acestei structuri la modificările din datele de intrare? Care este „încetinirea” generală în sprijinul deciziilor de management din cadrul complexului (frecvența de apariție a noilor informații de suport în raport cu frecvența apariției noilor date de intrare)?
În concluzie, aceste și multe alte exemple ne-au condus la formularea provocărilor care apar în tranziția la utilizarea mecanismelor de învățare automată și inteligență artificială în timp real:
- Suntem mulțumiți de rapiditatea creării și adaptării (la situația în schimbare) a dezvoltărilor AI/ML în compania noastră?
- Cât de bine susțin soluțiile noastre AI/ML managementul afacerilor în timp real?
- Sunt capabile soluțiile noastre AI/ML să se adapteze singure (fără dezvoltatori) la schimbările din date și din practicile de management al afacerilor?
Articolul nostru este o analiză detaliată a capacităților platformei InterSystems IRIS în ceea ce privește suportul universal pentru implementarea mecanismelor AI/ML, integrarea soluțiilor AI/ML și învățarea (testarea) soluțiilor AI/ML pe fluxuri de date intensive. Ne vom referi la cercetările de piață, la exemplele practice de soluții AI/ML și la aspectele conceptuale ale a ceea ce numim în acest articol platforma AI/ML în timp real.
Ce se știe din sondaje: aplicații în timp real
Rezultate , realizat în rândul a aproximativ 800 de profesioniști IT în 2019 de către Lightbend, vorbește de la sine:

Figura 1 Liderii din domeniul consumului de date în timp real
Să cităm fragmente importante din raportul de rezultate al acestui sondaj în traducerea noastră:
„… Tendințele de popularitate ale instrumentelor de integrare a fluxurilor de date, împreună cu suportul calculului în containere, generează un răspuns sinergic la cererea pieței pentru oferte mai rapide, raționalizate și dinamice de soluții eficiente. Fluxurile de date permit transmiterea informației mai rapid decât datele tradiționale în loturi. La aceasta se adaugă capacitatea de aplicare rapidă a metodelor de calcul, cum ar fi, de exemplu, recomandările bazate pe AI/ML, generând avantaje competitive prin creșterea satisfacției clientului. Competitivitatea pentru rapiditate influențează, de asemenea, toate rolurile din paradigma DevOps – sporind eficiența dezvoltării și implementării aplicațiilor. … Opt sute patru specialiști IT au furnizat informații despre utilizarea fluxurilor de date în organizațiile lor. Respondentii se aflau în principal în țări occidentale (41% în Europa și 37% în America de Nord) și erau practic uniform distribuiți între companii mici, medii și mari. …
Inteligența artificială nu este doar un trend. Cinzeci și opt la sută din cei care deja aplică procesarea fluxurilor de date în aplicații productive AI/ML confirmă că utilizarea lor în AI/ML va înregistra cea mai mare creștere în anul următor (comparativ cu alte aplicații).
- Potrivit majorității respondenților, utilizarea fluxurilor de date în scenariile AI/ML va înregistra cea mai mare creștere în următorul an.
- Utilizarea în AI/ML va crește nu doar datorită tipurilor relativ noi de scenarii, ci și din cauza scenariilor tradiționale, în care datele în timp real sunt aplicate din ce în ce mai intens.
- Pe lângă AI/ML, nivelul entuziasmului printre utilizatorii de pipeline-uri de date IoT este impresionant – 48% dintre cei care deja au integrat datele IoT afirmă că implementarea scenariilor pe aceste date va avea o creștere semnificativă în viitorul apropiat. … »
Din acest sondaj destul de interesant, se observă că percepția scenariilor de învățare automată și inteligență artificială ca lideri în consumul de fluxuri de date este deja „în curs de apariție”. Dar o observație la fel de importantă devine percepția AI/ML în timp real prin prisma DevOps: aici se poate începe să se vorbească despre transformarea culturii încă dominante a „AI/ML de tip de unică folosință cu un set de date complet accesibil”.
Conceptul de platformă AI/ML în timp real
Una dintre domeniile tipice de aplicare a AI/ML în timp real este gestionarea proceselor tehnologice în producție. Pe baza acestui exemplu și având în vedere reflecțiile anterioare, vom formula conceptul de platformă AI/ML în timp real.
Utilizarea inteligenței artificiale și a învățării automate în gestionarea proceselor tehnologice are o serie de particularități:
- Datele despre starea procesului tehnologic sosesc intensiv: cu o frecvență mare și pe o gamă largă de parametri (până la zeci de mii de valori ale parametrilor transmise pe secundă din sistemele de control tehnologic).
- Datele referitoare la detectarea defectelor, cu atât mai mult cele despre evoluția lor, sunt, dimpotrivă, rare și neregulate, caracterizate prin insuficienta tipizării defectelor și localizării lor în timp (adesea, reprezentate prin înregistrări pe suport de hârtie).
- Dintr-o perspectivă practică, pentru instruirea și utilizarea modelelor este disponibil doar un „fereastră de relevanță” a datelor de bază, care reflectă dinamica procesului tehnologic pe o intervală de timp rezonabilă, care se încheie cu ultimele valori citite ale parametrilor procesului.
Aceste caracteristici ne obligă, pe lângă recepția și procesarea de bază în timp real a unui „semnal de intrare de mare lățime de bandă” din partea procesului tehnologic, să efectuăm (în paralel) aplicarea, instruirea și controlul calității rezultatelor AI/ML – de asemenea în timp real. „Cadrele” pe care modelele noastre le „văd” în fereastra de relevanță se schimbă constant – și împreună cu acestea, se schimbă și calitatea rezultatelor obținute de modelele AI/ML, antrenate pe unul dintre „cadrele” anterioare. Atunci când calitatea rezultatelor obținute de modelele AI/ML se deteriorează (de exemplu, valoarea erorii de clasificare „alarmă-normă” depășește anumite limite stabilite de noi), trebuie să fie pornită automat recalibrarea modelelor pe un „cadru” mai relevant – iar momentul inițierii recalibrării modelelor trebuie să ia în considerare atât durata în sine a instruirii cât și dinamica deteriorării calității versiunii curente a modelului (deoarece versiunile curente ale modelelor continuă să fie aplicate în timp ce modelele sunt antrenate, până când sunt formate versiunile lor „re-antrenate”).
InterSystems IRIS dispune de capacități platformă cheie pentru a asigura funcționarea soluțiilor AI/ML în managementul proceselor tehnologice în timp real. Aceste capacități pot fi împărțite în trei grupuri principale:
- Dezvoltare continuă (Continuous Deployment/Delivery, CD) a noilor sau adaptate mecanisme existente AI/ML în soluții de producție care funcționează în timp real pe platforma InterSystems IRIS.
- Integrare continuă (Continuous Integration, CI) într-o soluție de producție unificată a fluxurilor de date din procesul tehnologic, a cozii de date pentru aplicare/instruire/controlul calității funcționării mecanismelor AI/ML și pentru schimbul de date/cod/controllere cu medii de modelare matematică, orchestrat în timp real de platforma InterSystems IRIS.
- Învățarea continuă (auto-) a mecanismelor AI/ML, desfășurată în medii de modelare matematică utilizând date, cod și intervenții de management («deciziile luate»), transmise prin platforma InterSystems IRIS
Clasificarea capacităților platformei în raport cu învățarea automată și inteligența artificială după astfel de grupuri nu este întâmplătoare. Să cităm metodologia companiei Google, care fundamentează această clasificare, în traducerea noastră:
„… Conceptul popular astăzi de DevOps acoperă dezvoltarea și operarea sistemelor informaționale complexe. Avantajele implementării acestui concept includ reducerea duratei ciclurilor de dezvoltare, accelerarea desfășurării dezvoltărilor, flexibilitatea planificării lansărilor. Pentru a obține aceste beneficii, DevOps presupune adoptarea, cel puțin, a două practici:
- Integrării continue (CI)
- Livrării continue (CD)
Aceste practici sunt aplicabile și platformelor AI/ML – în scopul asigurării unei construcții fiabile și productive a soluțiilor AI/ML.
Platformele AI/ML se deosebesc de celelalte sisteme informaționale în următoarele aspecte:
- Competențele echipei: în dezvoltarea unei soluții AI/ML, echipa include de obicei data scientists sau experți „academici” în domeniul cercetării datelor, care efectuează analiza datelor, dezvoltarea și testarea modelelor. Acești membri ai echipei pot să nu fie dezvoltatori profesioniști de cod software productiv.
- Dezvoltarea: mecanismele AI/ML sunt experimentale prin natura lor. Pentru a rezolva o problemă în cel mai eficient mod, este necesar să se exploreze diverse combinații de variabile de intrare, algoritmi, metode de modelare și parametri ai modelului. Complexitatea acestei explorări constă în trasarea „ce a funcționat/nu a funcționat”, asigurarea reproducibilității episoadelor și generalizarea dezvoltărilor pentru implementări repetate.
- Testarea: testarea mecanismelor AI/ML necesită un spectru mai larg de teste decât majoritatea altor dezvoltări. Pe lângă testele modulare și de integrare standard, se testează validitatea datelor și calitatea rezultatelor aplicării modelului la seturile de date de antrenament și de control.
- Implementarea: desfășurarea soluțiilor AI/ML nu se rezumă doar la servicii predictive care aplică un model antrenat o singură dată. Soluțiile AI/ML sunt construite în jurul unor pipeline-uri multi-etapă, care realizează învățarea automatizată și aplicarea modelelor. Desfășurarea acestor pipeline-uri implică automatizarea unor acțiuni complexe, de obicei efectuate manual de către data scientists pentru a putea antrena și testa modelele.
- Productivitate: mecanismele AI/ML pot suferi de lipsa de performanță nu doar din cauza programării ineficiente, ci și din cauza naturii în continuă schimbare a datelor de intrare. Cu alte cuvinte, performanța mecanismelor AI/ML poate degrada dintr-o varietate mai largă de motive decât performanța dezvoltărilor convenționale. Acest lucru duce la necesitatea monitorizării în timp real a performanței mecanismelor noastre AI/ML, precum și la trimiteri de alerte sau eliminarea rezultatelor atunci când măsurile de performanță nu corespund așteptărilor.
Platformele AI/ML sunt similare cu alte sisteme informaționale în sensul că ambele necesită integrare continuă a codului cu controlul versiunilor, testare modulară, testare de integrare și desfășurarea continuă a dezvoltărilor. Cu toate acestea, în cazul AI/ML, există câteva diferențe importante:
- CI (Continuous Integration, integrare continuă) nu se mai limitează la testarea și validarea codului componentelor desfășurate – include și testarea și validarea datelor și a modelelor AI/ML.
- CD (Continuous Delivery/Deployment, desfășurare continuă) nu se rezumă la scrierea și lansările de pachete sau servicii, ci implică o platformă pentru compunerea, antrenarea și aplicarea soluțiilor AI/ML.
- CT (Continuous Training, antrenament continuu) – un nou element [nota autorului articolului: un element nou în raport cu conceptul tradițional DevOps, unde CT este, în general, Continuous Testing], caracteristic platformelor AI/ML, responsabil pentru gestionarea autonomă a mecanismelor de învățare și aplicare a modelelor AI/ML. …
Putem afirma că învățarea automată și inteligența artificială, care funcționează pe date în timp real, necesită un set mai larg de instrumente și competențe (de la dezvoltarea codului până la orchestrarea mediilor de modelare matematică), o integrare mai strânsă între toate domeniile funcționale și subiective, o organizație mai eficientă a resurselor umane și mașinilor.
Scenariul în timp real: recunoașterea dezvoltării defectelor în pompele de alimentare
Continuând să folosim ca exemplu domeniul gestionării proceselor tehnologice, să examinăm o sarcină specifică (deja menționată de noi la început): este necesar să asigurăm în timp real monitorizarea dezvoltării defectelor în pompe pe baza fluxului de valori ale parametrilor procesului tehnologic și a rapoartelor personalului de întreținere despre defectele identificate.

Figura 2 Formularea sarcinii de monitorizare a dezvoltării defectelor
Caracteristica majorității sarcinilor formulare în acest mod în practică este că regularitatea și promptitudinea sosirii datelor (SISTEM DE GESTIUNE A PROCESULUI TEHNOLOGIC) trebuie considerate pe fondul episodicității și neregularității apariției (și înregistrării) defectelor de diferite tipuri. Cu alte cuvinte: datele din SISTEMUL DE GESTIUNE A PROCESULUI TEHNOLOGIC sosesc o dată pe secundă, corecte și precise, în timp ce despre defecte se fac înregistrări cu creion chimic, indicând data într-un caiet general din atelier (de exemplu: „12.01 – scurgere pe capacul din partea celui de-al 3-lea rulment”).
Astfel, putem completa formularea sarcinii cu această limitare importantă: „eticheta” defectului unui tip specific avem doar una (adică, exemplul defectului unui tip specific este reprezentat de datele din SISTEMUL DE GESTIUNE A PROCESULUI TEHNOLOGIC la o dată specifică – și nu mai avem alte exemple ale defectului de acest tip). Această limitare ne scoate imediat din limitele învățării automate clasice (învățarea supervizată), pentru care ar trebui să existe multe „etichete”.

Figura 3 Clarificarea sarcinii de monitorizare a dezvoltării defectelor
Putem «multiplica» cumva singura «etichetă» pe care o avem la dispoziție? Da, putem. Starea curentă a pompei este caracterizată de gradul de similitudine cu defectele înregistrate. Chiar și fără aplicarea de metode cantitative, la nivel de percepție vizuală, observând dinamica valorilor datelor provenite din SCADA, putem extrage multe informații.

Figura 4 Dinamica stării pompei în raport cu «etichetă» defectului de un tip dat
Dar percepția vizuală (cel puțin, deocamdată) nu este cel mai potrivit generator de «etichetă» în scenariul nostru în continuă schimbare. Vom evalua similitudinea stării curente a pompei cu defectele înregistrate printr-un test statistic.

Figura 5 Aplicarea testului statistic la datele primite în raport cu «etichetă» defectului
Testul statistic determină probabilitatea ca înregistrările cu valorile parametrilor procesului tehnologic din «fluxul-pachet» obținut din SCADA să fie similare cu înregistrările etichetei defectului de un anumit tip. Valoarea probabilității calculate în urma aplicării testului statistic (indicele de similitudine statistică) este transformată într-o valoare de 0 sau 1, devenind «etichetă» pentru învățarea automată în fiecare înregistrare specifică din pachetul analizat pentru similitudine. Adică, după procesarea unui nou pachet de înregistrări ale stării pompei prin testul statistic, avem posibilitatea (a) să adăugăm acest pachet la setul de antrenament pentru antrenarea modelului AI/ML și (b) să efectuăm controlul calității versiunii curente a modelului aplicat acestui pachet.

Figura 6 Aplicarea modelului de învățare automată la datele primite în raport cu «etichetă» defectului
În unul dintre webinariile noastre anterioare Arătăm și explicăm cum platforma InterSystems IRIS permite implementarea oricărui mecanism AI/ML sub forma unor procese de afaceri care rulează continuu, asigurând controlul asupra veridicității rezultatelor modelării și adaptând parametrii modelelor. În realizarea prototipului scenariului nostru cu pompe, utilizăm întreaga funcționalitate prezentată în cadrul webinarului InterSystems IRIS – implementând în procesul de analiză, ca parte a soluției noastre, nu învățarea supervizată clasică, ci mai degrabă învățarea prin întărire (reinforcement learning), care gestionează automat selecția pentru antrenarea modelelor. În setul de date pentru antrenare sunt incluse înregistrările pe care apare „consensul detectării” după aplicarea atât a testului statistic, cât și a versiunii actuale a modelului – adică atât testul statistic (după transformarea indexului de similaritate la 0 sau 1), cât și modelul au oferit un rezultat de 1 pe acele înregistrări. La o nouă antrenare a modelului, în timpul validării acestuia (modelul reantrenat este aplicat propriului său set de date pentru antrenare, cu aplicarea prealabilă a testului statistic), înregistrările care „nu au menținut” rezultatul de 1 după procesarea testului statistic (din cauza prezenței constante în setul de date de antrenare a înregistrărilor din eticheta inițială a defectului), sunt eliminate din setul de date pentru antrenare, iar noua versiune a modelului învață pe „eticheta” defectului plus pe înregistrările „menținute” din flux.

Figura 7 Robotizarea calculilor AI/ML în InterSystems IRIS
În cazul în care există nevoie de un fel de „a doua opinie” asupra calității detectării obținute prin calcul local în InterSystems IRIS, se creează un proces-consultant pentru a realiza antrenarea-aplicarea modelelor pe un set de date de control folosind servicii cloud (de exemplu, Microsoft Azure, Amazon Web Services, Google Cloud Platform etc.):

Figura 8 „A doua opinie” din Microsoft Azure orchestrată de InterSystems IRIS
Prototipul scenariului nostru în InterSystems IRIS este realizat sub forma unui sistem agent de procese analitice care interacționează cu obiectul echipamentului (pompa), cu mediile de modelare matematică (Python, R și Julia) și asigură auto-antrenarea tuturor mecanismelor AI/ML implicate – pe fluxuri de date în timp real.

Figura 9 Funcționalitatea principală a soluției AI/ML în timp real în InterSystems IRIS
Rezultatul practic al lucrării prototipului nostru:
- Modelul a identificat un exemplu de defect (12 ianuarie):

- Modelul a identificat un defect în dezvoltare, care nu a fost inclus în exemplu (11 septembrie, defectul fiind confirmat de echipa de reparații abia după două zile – 13 septembrie):

Simularea pe date reale, care conține mai multe episoade ale aceluiași defect, a arătat că soluția noastră, implementată pe platforma InterSystems IRIS, permite identificarea dezvoltării defectelor de acest tip cu câteva zile înainte de a fi observate de echipa de reparații.
InterSystems IRIS – o platformă universală pentru calculul AI/ML în timp real
Platforma InterSystems IRIS simplifică dezvoltarea, implementarea și operarea soluțiilor pe date în timp real. InterSystems IRIS poate efectua simultan procesarea tranzacțională și analitică a datelor; susține vederi sincronizate ale datelor în conformitate cu mai multe modele (inclusiv relațional, ierarhic, obiectual și documentar); servește ca o platformă de integrare pentru o gamă largă de surse de date și aplicații individuale; furnizează analize avansate în timp real pe date structurate și nestructurate. InterSystems IRIS oferă, de asemenea, mecanisme pentru utilizarea instrumentelor analitice externe și permite o combinație flexibilă între implementarea în cloud și servere locale.
Aplicațiile construit pe platforma InterSystems IRIS sunt implementate în diferite industrii, ajutând companiile să obțină un efect economic semnificativ în perspectivele strategice și operaționale, îmbunătățind conștientizarea luării deciziilor și eliminând „găurile” între eveniment, analiză și acțiune.

Figura 10 Arhitectura InterSystems IRIS în contextul AI/ML în timp real
Ca și diagrama anterioară, diagrama de mai jos combină noua „sistemă de coordonate” (CD/CI/CT) cu schema fluxurilor de informații între elementele de lucru ale platformei. Vizualizarea începe cu macromecanismul CD și continuă cu macromecanismele CI și CT.

Figura 11 Schema fluxurilor de informații între elementele AI/ML ale platformei InterSystems IRIS
Esența mecanismului CD în InterSystems IRIS: utilizatorii platformei (dezvoltatori de soluții AI/ML) adaptează dezvoltările AI/ML existente și/sau creează noi dezvoltări AI/ML folosind un editor de cod specializat pentru mecanismele AI/ML: Jupyter (denumirea completă: Jupyter Notebook; de asemenea, pentru concizie, documentele create în acest editor sunt uneori numite astfel). În Jupyter, dezvoltatorul are posibilitatea de a scrie, debuga și verifica funcționalitatea (inclusiv utilizând grafica) unei dezvoltări AI/ML specifice înainte de a fi implementată („desfășurată”) în InterSystems IRIS. Este clar că noua dezvoltare creată în acest mod va primi doar o debugare de bază (deoarece, printre altele, Jupyter nu lucrează cu fluxuri de date în timp real) - acest lucru este firesc, deoarece rezultatul principal al dezvoltării în Jupyter devine confirmarea funcționalității de bază a unui mecanism AI/ML («pe un set de date, arată rezultatul așteptat»). În mod similar, un mecanism deja desfășurat în platformă (vezi următoarele macromecanisme) înainte de a fi debugat în Jupyter poate necesita un „rollback” la forma „pre-platformă” (citirea datelor din fișiere, lucru cu date prin xDBC în loc de tabele, interacțiune directă cu globale – array-uri multidimensionale de date InterSystems IRIS – etc.).
Un aspect important al implementării CD în mod special în InterSystems IRIS: între platformă și Jupyter există o integrare bidirecțională care permite transferul de conținut în platformă (și, ulterior, prelucrarea acestuia în platformă) în limbajele Python, R și Julia (toate trei fiind limbaje de programare în mediile open-source de modelare matematică de vârf). Astfel, dezvoltatorii de conținut AI/ML au posibilitatea de a efectua „desfășurare continuă” a acestui conținut în platformă, lucrând în editorul Jupyter cu care sunt familiarizați, cu bibliotecile disponibile în Python, R, Julia și efectuând debugarea de bază (dacă este necesar) în afara platformei.
Trecem la macro-mecanismul CI în InterSystems IRIS. În diagrama este ilustrat macroprocesul de funcționare al „robotului în timp real” (un complex de structuri de date, procese de afaceri și fragmente de cod orchestrat în limbajele matSred și ObjectScript – limbaj nativ de dezvoltare pentru InterSystems IRIS). Sarcina acestui macroproces este de a susține cozile de date necesare pentru funcționarea mecanismelor AI/ML (bazate pe fluxurile de date transmise platformei în timp real), de a lua decizii cu privire la ordinea de aplicare și la „sortimentul” mecanismelor AI/ML (acestea fiind „algoritmi matematici”, „modele” etc. – pot fi denumite diferit în funcție de specificul implementării și preferințele terminologice), menținând actualizate structurile de date pentru analiza rezultatelor lucrării mecanismelor AI/ML (cubi, tabele, matrice multidimensionale de date etc. – pentru rapoarte, panouri de control etc.).
Un aspect important al implementării CI în special în InterSystems IRIS: între platformă și medii de modelare matematică este realizată o integrare bidirecțională, care permite executarea conținutului găzduit în platformă în limbajele Python, R și Julia în mediile lor corespunzătoare, cu obținerea înapoi a rezultatelor execuției. Această integrare este realizată atât în „modul terminal” (adică, conținutul AI/ML este formulat ca un cod în ObjectScript, care efectuează apeluri la matSred), cât și în „modul proces de afaceri” (adică, conținutul AI/ML este formulat ca un proces de afaceri cu ajutorul unui editor grafic, sau uneori cu ajutorul Jupyter, sau cu ajutorul IDE-urilor – IRIS Studio, Eclipse, Visual Studio Code). Accesibilitatea proceselor de afaceri pentru editare în Jupyter este reflectată prin legătura dintre IRIS la nivelul CI și Jupyter la nivelul CD. O revizuire mai detaliată a integrării cu mediile de modelare matematică va fi realizată mai departe. În acest stadiu, din punctul nostru de vedere, există toate motivele să consacrăm existența în platformă a tuturor instrumentelor necesare pentru implementarea „integrării continue” a dezvoltărilor AI/ML (provenite din „implementarea continuă”) în soluțiile AI/ML în timp real.
Și principalul mecanism macro este CT. Fără acesta, nu va fi posibilă platforma AI/ML (deși „timpul real” va fi implementat prin CD/CI). Esența CT constă în funcționarea platformei cu „artefactele” învățării automate și inteligenței artificiale direct în sesiunile de lucru ale mediilor de modelare matematică: modele, tabele de distribuție, vectori-matrice, straturi de rețele neuronale etc. Această „activitate” constă, în majoritatea cazurilor, din crearea artefactelor menționate în medii (în cazul modelelor, de exemplu, „crearea” constă în stabilirea speciției modelului și corespunzătoarea valorilor parametrilor săi – așa-numita „învățare” a modelului), aplicarea lor (pentru modele: calcularea cu ajutorul lor a valorilor „model” ale variabilelor țintă – prognoze, apartenențe la categorii, probabilitatea de apariție a unui eveniment etc.) și îmbunătățirea artefactelor deja create și aplicate (de exemplu, redefinirea setului de variabile de intrare ale modelului pe baza rezultatelor aplicării – în scopul creșterii preciziei prognozelor, ca o variantă). Un aspect cheie în înțelegerea rolului CT este „abstracția” sa de realitățile CD și CI: CT va implementa toate artefactele, orientându-se pe specificitatea computațională și matematică a soluției AI/ML în cadrul capacităților oferite de mediile specifice. Responsabilitatea pentru „furnizarea datelor de intrare” și „livrarea rezultatelor” va reveni CD și CI.
Un aspect important al implementării CT în InterSystems IRIS: folosind integrarea menționată anterior cu medii de modelare matematică, platforma are capacitatea de a extrage din sesiunile de lucru ce se desfășoară sub gestionarea sa în mediile matematice, acele artefacte și (cel mai important) de a le transforma în obiecte de date ale platformei. De exemplu, o tabelă de distribuție care a fost creată recent în sesiunea de lucru Python poate fi (fără a opri sesiunea în Python) transferată în platformă sub formă, de exemplu, a unui global (un tablou multidimensional de date InterSystems IRIS) – și utilizată pentru calcule într-un alt mecanism AI/ML (implementat deja în limbajul unei alte medii – de exemplu, R) – sau o tabelă virtuală. Un alt exemplu: în paralel cu „modul de funcționare standard” al modelului (în sesiunea de lucru Python), pe datele de intrare ale acestuia se aplică „auto-ML”: selecția automată a variabilelor de intrare optime și a valorilor parametrilor. Și împreună cu învățarea „standard”, modelul productiv în timp real primește și „o propunere de optimizare” a specificației sale – în care se schimbă setul de variabile de intrare, se schimbă valorile parametrilor (deja nu ca urmare a învățării în Python, ci ca urmare a învățării unei versiuni „alternative” a sa, de exemplu, într-un stack H2O), permițând soluției AI/ML generale să facă față în mod autonom schimbărilor neprevăzute în natura datelor de intrare și a fenomenelor modelate.
Să ne familiarizăm mai în detaliu cu funcționalitatea AI/ML de platformă a InterSystems IRIS, folosind ca exemplu un prototip real existent.
În diagrama de mai jos, în partea stângă a diapozitivului – o parte a procesului de afaceri care implementează executarea scripturilor în Python și R. În partea centrală – jurnalele vizuale de execuție ale unor dintre aceste scripturi, respectiv, în Python și în R. Imediat după acestea – exemple de conținut în fiecare dintre cele două limbi, transmise pentru execuție în medii corespunzătoare. În final, în partea dreaptă – vizualizări bazate pe rezultatele execuției scripturilor. Vizualizările de sus – realizate în IRIS Analytics (datele sunt transferate din Python în platforma de date InterSystems IRIS și sunt afișate pe dashboard prin intermediul platformei), cele de jos – realizate direct în sesiunea de lucru R și exportate din aceasta în fișiere grafice. Un aspect important: fragmentul prezentat în prototip răspunde de pregătirea modelului (clasificarea stărilor echipamentului) pe baza datelor primite în timp real de la un simulator de echipament, la comanda unui proces de monitorizare a calității clasificării, observat în timpul aplicării modelului. Despre implementarea soluției AI/ML sub forma unui set de procese interacționante („agenți”) se va discuta mai departe.

Figura 12 Interacțiunea cu Python, R și Julia în InterSystems IRIS
Procesele platformei (de asemenea, denumite „procese de afaceri”, „procese analitice”, „pipeline-uri” etc. – în funcție de context) sunt, în primul rând, editabile în editorul grafic pentru procese de afaceri din cadrul platformei, astfel încât se creează simultan atât diagramă de flux, cât și mecanismul AI/ML corespunzător (codul software). Când spunem că „rezultatul este un mecanism AI/ML”, ne referim inițial la hibriditate (în cadrul unui singur proces): conținutul în limbile medii de modelare matematică coexistă cu conținutul în SQL (inclusiv cu extensiile de la ), în InterSystems ObjectScript, cu celelalte limbaje acceptate. Mai mult, procesul platformei oferă oportunități foarte largi pentru „ilustrarea” sub formă de fragmente ierarhic închise (așa cum se vede în exemplul din diagrama de mai jos), ceea ce permite organizarea eficientă chiar și a conținutului destul de complex, fără a „cădea” din formatul grafic (în metodele/clasele/procedurile „negrafice” etc.). Așadar, dacă este necesar (și se preconizează în majoritatea proiectelor) absolut toate soluțiile AI/ML pot fi implementate într-un format grafic auto-comentat. Vă atragem atenția asupra faptului că în centrul diagramei de mai jos, care prezintă un „nivel mai înalt de ierarhizare”, se poate observa că pe lângă lucrările efective de antrenare a modelului (printr-un Python și R), se adaugă analiza așa-numitei curbe ROC a modelului antrenat, care permite evaluarea vizuală (și de asemenea computațională) a calității antrenamentului – iar această analiză este implementată în limbajul Julia (se execută, prin urmare, în mediu Julia).

Figura 13 Mediu vizual de compunere a soluțiilor AI/ML în InterSystems IRIS
După cum s-a menționat anterior, dezvoltarea inițială și (în unele cazuri) adaptarea mecanismelor AI/ML deja implementate în platformă se va putea realiza în afara platformei, în editorul Jupyter. În diagrama de mai jos vedem un exemplu de adaptare a procesului existent al platformei (același ca și în diagrama de mai sus) – acest aspect este cum arată în Jupyter fragmentul său care se ocupă cu antrenarea modelului. Conținutul în limbajul Python este disponibil pentru editare, depanare, generarea graficelor direct în Jupyter. Modificările (dacă este necesar) pot fi efectuate cu sincronizare instantanee în procesul platformei, inclusiv în versiunea sa productivă. În mod similar, un nou conținut poate fi transmis în platformă (se formează automat un nou proces platformă).

Figura 14 Utilizarea Jupyter Notebook pentru editarea mecanismului AI/ML în platforma InterSystems IRIS
Adaptarea procesului platformei poate fi realizată nu doar într-un format grafic sau pe laptop, ci și într-un format IDE „total” (Integrated Development Environment). Aceste IDE sunt IRIS Studio (studio nativ IRIS), Visual Studio Code (extensia InterSystems IRIS pentru VSCode) și Eclipse (plugin Atelier). În anumite cazuri, este posibil ca echipa de dezvoltatori să utilizeze simultan toate cele trei IDE-uri. Diagrama de mai jos ilustrează un exemplu de editare a aceluiasi proces în studio IRIS, Visual Studio Code și Eclipse. Toate conținutul este disponibil pentru editare: inclusiv Python/R/Julia/SQL, ObjectScript și procesul de afaceri.

Figura 15 Dezvoltarea procesului de afaceri InterSystems IRIS în diferite IDE-uri
Merită menționate instrumentele de descriere și execuție a proceselor de afaceri InterSystems IRIS în limbajul Business Process Language (BPL). BPL permite utilizarea „componentelor integrate predefinite” (activități) în procesele de afaceri - ceea ce, de fapt, oferă suficiente motive pentru a susține că InterSystems IRIS realizează „integrarea continuă”. Componentele predefinite ale procesului de afaceri (activitățile și legăturile dintre acestea) sunt un accelerator puternic pentru construirea soluțiilor AI/ML. Și nu doar pentru construcție: datorită activităților și legăturilor dintre acestea, se formează un „strat de management autonom”, capabil să ia decizii în funcție de situație, în timp real.

Figura 16 Componentele predefinite ale proceselor de afaceri pentru integrarea continuă (CI) pe platforma InterSystems IRIS
Conceptul sistemelor agentuiale (sau „sisteme multiagent”) are o poziție puternică în robotizare, iar platforma InterSystems IRIS o susține organic prin constructul „produs-proces”. Pe lângă posibilitățile nelimitate de a dota fiecare proces cu funcționalitate necesară soluției generale, conferirea sistemului de procese pe platformă a proprietății de „agentitate” permite crearea de soluții eficiente pentru fenomene modelate extrem de instabile (comportamentul sistemelor sociale/bio-sisteme, procese tehnologice parțial observabile etc.).

Figura 16 Funcționarea soluției AI/ML sub forma unui sistem agent de procese de afaceri în InterSystems IRIS
Continuăm recenzia noastră despre InterSystems IRIS cu o poveste despre utilizarea practică a platformei pentru a rezolva clase întregi de probleme în timp real (o prezentare destul de detaliată a unora dintre cele mai bune practici AI/ML pe platforma InterSystems IRIS poate fi găsită într-una dintre articolele noastre anterioare. ).
Pe urmele celei de-a precedentei diagrame, mai jos este prezentată o diagramă mai detaliată a sistemului agent. Diagrama ilustrează același prototip, evidențiind cele patru procese-agent, arătând relațiile dintre ele: GENERATOR – îndeplinește generarea de date de către senzorii echipamentelor, BUFFER – gestionează coșurile de date, ANALYZER – efectuează învățarea automată, MONITOR – supraveghează calitatea învățării automate și semnalizează necesitatea reînvățării modelului.

Figura 17 Compoziția soluției AI/ML sub forma unui sistem agent al proceselor de afaceri în InterSystems IRIS
Diagrama de mai jos ilustrează funcționarea autonomă a unui alt prototip robotizat (recunoașterea emoțională a textelor) pe parcursul unei anumite perioade de timp. În partea de sus – evoluția indicatorului de calitate a învățării modelului (calitatea crește), iar în partea de jos – dinamica indicatorului de calitate al aplicării modelului și faptele de reînvățare (bande roșii). După cum se poate vedea, soluția s-a autoînvățat eficient și autonom și funcționează la nivelul de calitate dorit (valorile indicatorului de calitate nu scad sub 80%).

Figura 18 Învățarea continuă (auto-) pe platforma InterSystems IRIS
Despre «auto-ML» am mai menționat anterior, dar în diagrama de mai jos aplicarea acestei funcționalități este detaliată pe exemplul unui alt prototype. În schema grafică a unui fragment din procesul de afaceri este arătată activitatea care declanșează modelarea în stiva H2O, rezultatele acestei modelări sunt prezentate (dominarea evidentă a modelului obținut față de modelele «făcute manual», conform diagramei comparative a curbelor ROC, precum și identificarea automată a «variabilelor cele mai influente» din setul de date inițial). Un aspect important aici este economia de timp și resurse expert pe care o realizăm prin «auto-ML»: ceea ce procesul nostru pe platformă face în treizeci de secunde (identificarea și antrenarea modelului optim) poate dura de la o săptămână la o lună pentru un expert.

Figura 19 Integrarea «auto-ML» în soluția AI/ML pe platforma InterSystems IRIS
Diagrama de mai jos ușor «dezvăluie culminarea», dar este o opțiune bună pentru a încheia povestea despre clasele de probleme rezolvate în timp real: amintim că, în ciuda tuturor posibilităților platformei InterSystems IRIS, antrenarea modelelor sub gestionarea acesteia nu este obligatorie. Platforma poate obține din exterior așa-numita specificație PMML a modelului, antrenat în un instrument care nu se află sub gestionarea platformei – și poate aplica acest model în timp real de la momentul importului său. . Este important de reținut că nu toate artefactele AI/ML pot fi reduse la specificația PMML, chiar dacă majoritatea artefactelor cele mai comune permit acest lucru. Astfel, platforma InterSystems IRIS are un „contur deschis” și nu înseamnă „sclavie platformică” pentru utilizatori.

Figura 20 Integrarea «auto-ML» în soluția AI/ML pe platforma InterSystems IRIS
Să enumerăm avantajele suplimentare ale platformei InterSystems IRIS (pentru claritate, aplicabile gestionării proceselor tehnologice), care au o mare importanță în automatizarea inteligenței artificiale și învățării automate în timp real:
- Instrumente avansate de integrare cu orice surse și consumatori de date (SISTEME DE CONTROL/SCADA, echipamente, MTO, ERP etc.)
- Integrat pentru prelucrarea tranzacțional-analitică de înaltă performanță (Hybrid Transaction/Analytical Processing, HTAP) a oricăror volume de date ale proceselor tehnologice
- Instrumente de dezvoltare pentru desfășurarea continuă a mecanismelor AI/ML de soluții în timp real bazate pe Python, R, Julia
- Procese de afaceri adaptive pentru integrarea continuă și autoînvățarea mecanismelor AI/ML de soluții în timp real
- Instrumente Business Intelligence încorporate pentru vizualizarea datelor proceselor tehnologice și rezultatelor soluției AI/ML
- pentru livrarea rezultatelor soluției AI/ML în SCADA/ACS, sisteme informaționale și analitice, notificări, etc.
Soluțiile AI/ML pe platforma InterSystems IRIS se integrează ușor în infrastructura IT existentă. Platforma InterSystems IRIS asigură fiabilitatea ridicată a soluțiilor AI/ML prin suportul configurațiilor redundante și de continuitate a activității, precum și desfășurarea flexibilă în medii virtuale, pe servere fizice, în cloud-uri private și publice, containe Docker.
Astfel, InterSystems IRIS este o platformă universală pentru computațiile AI/ML în timp real. Universalitatea platformei noastre este confirmată în practică prin lipsa restricțiilor de facto privind complexitatea calculilor implementate, capacitatea InterSystems IRIS de a combina (în timp real) procesarea scenariilor din cele mai variate industrii și adaptabilitatea excepțională a oricăror funcții și mecanisme ale platformei la nevoile specifice ale utilizatorilor.

Figura 21 InterSystems IRIS — o platformă universală pentru computațiile AI/ML în timp real
Pentru o interacțiune mai detaliată cu cititorii noștri interesați de materialul prezentat aici, recomandăm să nu se limiteze la citirea acestuia și să continue dialogul „live”. Suntem pregătiți să oferim suport pentru formularea scenariilor AI/ML în timp real aplicabile specificului companiei dumneavoastră, să realizăm prototipuri comune pe platforma InterSystems IRIS, să dezvoltăm și să aplicăm o foaie de parcurs pentru implementarea inteligenței artificiale și învățării automate în procesele dumneavoastră de producție și management. Adresa de contact a echipei noastre de experți AI/ML – .
Sursa: habr.com
