InterSystems IRIS - o platformă universală AI/ML în timp real

Autor: Sergey Lukyanchikov, inginer consultant la InterSystems

Apeluri de calcul AI/ML în timp real

Să începem cu exemple din experiența practicii Data Science la InterSystems:

  • Portalul de cumpărători încărcat este conectat la un sistem de recomandare online. Va exista o restructurare a promoțiilor în rețeaua de retail (de exemplu, în loc de o linie „plată” de promoții, acum va fi folosită o matrice „tactică-segment”). Ce se întâmplă cu motoarele de recomandare? Ce se întâmplă cu transmiterea și actualizarea datelor către motorul de recomandare (volumul datelor de intrare a crescut de 25000 de ori)? Ce se întâmplă cu dezvoltarea recomandărilor (necesitatea de a reduce de o mie de ori pragul de filtrare al regulilor de recomandare din cauza creșterii de o mie de ori a numărului și a „intervalului”)?
  • Există un sistem de monitorizare a probabilității de apariție a defectelor la componentele echipamentelor. La sistemul de monitorizare a fost conectat un sistem automat de control al procesului, care transmitea mii de parametri tehnologici de proces în fiecare secundă. Ce se întâmplă cu sistemul de monitorizare care a lucrat anterior pe „eșantioane manuale” (este capabil să ofere o monitorizare a probabilității secundă cu secundă)? Ce se va întâmpla dacă în datele de intrare apare un nou bloc de câteva sute de coloane cu citiri de la senzori adăugați recent la sistemul de control al procesului (va fi necesar și pentru cât timp să se oprească sistemul de monitorizare pentru a include date de la senzori noi în analiză? )?
  • A fost creat un set de mecanisme AI/ML (recomandare, monitorizare, prognoză) care utilizează rezultatele muncii celuilalt. Câte ore de lucru sunt necesare în fiecare lună pentru a adapta funcționarea acestui complex la modificările datelor de intrare? Care este „încetinirea” generală atunci când este susținută de complexul decizional al managementului (frecvența de apariție a noilor informații de sprijin în acesta în raport cu frecvența de apariție a noilor date de intrare)?

Rezumând acestea și multe alte exemple, am ajuns la formularea provocărilor care apar atunci când trecem la utilizarea mecanismelor de învățare automată și inteligență artificială în timp real:

  • Suntem mulțumiți de viteza de creare și adaptare (la situația în schimbare) a dezvoltărilor AI/ML în compania noastră?
  • Cât de mult susțin soluțiile AI/ML pe care le folosim gestionarea afacerii în timp real?
  • Sunt soluțiile AI/ML pe care le folosim capabile să se adapteze independent (fără dezvoltatori) la schimbările în practicile de management al datelor și ale afacerii?

Articolul nostru este o prezentare detaliată a capacităților platformei InterSystems IRIS în ceea ce privește suportul universal pentru implementarea mecanismelor AI/ML, asamblarea (integrarea) soluțiilor AI/ML și instruirea (testarea) soluțiilor AI/ML pe o utilizare intensivă. fluxuri de date. În acest articol, vom analiza cercetările de piață, studiile de caz ale soluțiilor AI/ML și aspectele conceptuale ale ceea ce numim o platformă AI/ML în timp real.

Ce știm din sondaje: aplicații în timp real

Constatări studiurealizat în rândul a aproape 800 de profesioniști IT în 2019 de Lightbend, vorbesc de la sine:

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 1 Principalii consumatori de date în timp real

Să cităm fragmente importante din raport cu privire la rezultatele acestui sondaj în traducerea noastră:

„... Tendințele în popularitatea instrumentelor de integrare a fluxurilor de date și, în același timp, susținerea calculului în containere oferă un răspuns sinergic la cererea pieței pentru o propunere mai receptivă, rațională, mai dinamică de soluții eficiente. Streamingul de date transferă informații mai rapid decât pachetele de date tradiționale. La aceasta se adaugă și capacitatea de a aplica rapid metode de calcul, cum ar fi, de exemplu, recomandări bazate pe AI/ML, creând avantaje competitive prin creșterea satisfacției clienților. Cursa pentru agilitate afectează, de asemenea, toate rolurile din paradigma DevOps - făcând dezvoltarea și implementarea aplicațiilor mai eficiente. … Opt sute patru profesioniști IT au furnizat informații despre utilizarea fluxurilor de date în organizațiile lor. Respondenții erau localizați preponderent în țările occidentale (41% în Europa și 37% în America de Nord) și erau repartizați aproape uniform între companiile mici, mijlocii și mari. ...

... Inteligența artificială nu este hype. Cincizeci și opt la sută dintre cei care folosesc deja procesarea fluxului de date în aplicațiile de productivitate AI/ML confirmă că utilizarea lor de AI/ML va avea 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 avea cea mai mare creștere în anul următor.
  • Aplicațiile în AI/ML vor crește nu numai datorită unor tipuri relativ noi de scenarii, ci și datorită scenariilor tradiționale în care datele în timp real sunt din ce în ce mai utilizate.
  • Pe lângă AI/ML, nivelul de entuziasm în rândul utilizatorilor conductelor de date IoT este impresionant - 48% dintre cei care au integrat deja date IoT spun că implementarea scenariului pe aceste date va înregistra o creștere semnificativă în viitorul apropiat. ..."

Din acest sondaj destul de interesant, este clar că percepția scenariilor de învățare automată și inteligență artificială ca lideri în consumul de fluxuri de date este deja „pe drum”. Dar o observație la fel de importantă este percepția AI/ML în timp real prin prisma DevOps: aici putem deja să începem să vorbim despre transformarea culturii încă dominante a „AI/ML de unică folosință cu un set de date complet accesibil”.

Concept de platformă AI/ML în timp real

Un domeniu tipic de aplicare pentru AI/ML în timp real este controlul procesului în producție. Folosind exemplul ei și ținând cont de gândurile anterioare, vom formula conceptul de platformă AI/ML în timp real.
Utilizarea inteligenței artificiale și a învățării automate în controlul proceselor are o serie de caracteristici:

  • Datele privind starea procesului tehnologic sunt primite intens: cu frecvență înaltă și pentru o gamă largă de parametri (până la zeci de mii de valori ale parametrilor transmise pe secundă de la sistemul de control al procesului)
  • Datele privind identificarea defectelor, ca să nu mai vorbim despre datele despre dezvoltarea lor, dimpotrivă, sunt rare și neregulate, caracterizate prin tipificarea insuficientă a defectelor și localizarea lor în timp (reprezentată adesea prin înregistrări pe hârtie)
  • Din punct de vedere practic, doar o „fereastră de relevanță” a datelor sursă este disponibilă pentru antrenament și aplicarea modelelor, reflectând dinamica procesului tehnologic pe un interval rezonabil de alunecare care se termină cu ultimele valori citite ale parametrilor procesului.

Aceste caracteristici ne obligă, pe lângă primirea și procesarea de bază în timp real a „semnalului de intrare în bandă largă” intensivă din procesul tehnologic, să efectuăm (în paralel) aplicarea, instruirea și controlul calității rezultatelor AI / Modele ML - tot în timp real. „Cadru” pe care modelele noastre îl „văd” în fereastra glisantă a relevanței se schimbă constant – și odată cu acesta, se schimbă și calitatea rezultatelor muncii modelelor AI/ML antrenate pe unul dintre „cadrele” în trecut. . În cazul în care calitatea rezultatelor muncii modelelor AI/ML se deteriorează (de exemplu: valoarea erorii de clasificare „alarma-normă” a depășit limitele pe care le-am definit), instruirea suplimentară a modelelor ar trebui să fie lansată automat pe un „cadru” mai actual - și alegerea momentului pentru a lansa formarea suplimentară a modelelor ar trebui să ia în considerare modul în care durata antrenamentului în sine și dinamica deteriorării calității muncii a versiunii actuale a modelelor (deoarece versiunile actuale ale modelelor continuă să fie utilizate în timp ce modelele sunt antrenate și până când se formează versiunile lor „proaspăt antrenate”.

InterSystems IRIS are capabilități cheie ale platformei pentru a permite soluții AI/ML pentru controlul procesului în timp real. Aceste capacități pot fi împărțite în trei grupuri principale:

  • Implementarea continuă (Continuous Deployment/Delivery, CD) a mecanismelor AI/ML noi sau adaptate existente într-o soluție productivă care funcționează în timp real pe platforma InterSystems IRIS
  • Integrare continuă (CI) într-o singură soluție productivă a fluxurilor de date de proces tehnologice primite, cozi de date pentru aplicare/formare/controlul calității mecanismelor AI/ML și schimburi de date/cod/acțiuni de control cu ​​medii de modelare matematică, orchestrate în timp real platforma InterSystems IRIS
  • (Auto-)instruire continuă (Continuous Training, CT) a mecanismelor AI/ML, efectuată în medii de modelare matematică folosind date, cod și acțiuni de control („decizii luate”) transmise de platforma InterSystems IRIS

Clasificarea capabilităților platformei în raport cu învățarea automată și inteligența artificială în tocmai aceste grupuri nu este întâmplătoare. Să cităm metoda metodologică publicare Google, care oferă o bază conceptuală pentru această clasificare, în traducerea noastră:

„... Conceptul DevOps, popular în zilele noastre, acoperă dezvoltarea și operarea sistemelor informaționale la scară largă. Avantajele implementării acestui concept sunt reducerea duratei ciclurilor de dezvoltare, implementarea mai rapidă a dezvoltărilor și flexibilitatea în planificarea lansărilor. Pentru a obține aceste beneficii, DevOps presupune implementarea a cel puțin două practici:

  • Integrare continuă (CI)
  • Livrare continuă (CD)

Aceste practici se aplică și platformelor AI/ML pentru a asigura un asamblare fiabilă și performantă a soluțiilor productive AI/ML.

Platformele AI/ML diferă de alte sisteme informaționale prin următoarele aspecte:

  • Competențele echipei: atunci când creează o soluție AI/ML, echipa include de obicei oameni de știință ai datelor sau experți „academicieni” în domeniul cercetării datelor care efectuează analiza datelor, dezvoltă și testează modele. Este posibil ca acești membri ai echipei să nu fie dezvoltatori profesioniști de cod productiv.
  • Dezvoltare: motoarele AI/ML sunt de natură experimentală. Pentru a rezolva o problemă în cel mai eficient mod, este necesar să parcurgem diverse combinații de variabile de intrare, algoritmi, metode de modelare și parametri ai modelului. Complexitatea unei astfel de căutări constă în urmărirea „ce a funcționat/nu a funcționat”, asigurarea reproductibilității episoadelor, generalizarea evoluțiilor pentru implementări repetate.
  • Testare: testarea motoarelor AI/ML necesită o gamă mai largă de teste decât majoritatea celorlalte dezvoltări. Pe lângă testele standard de unitate și de integrare, sunt testate validitatea datelor și calitatea rezultatelor aplicării modelului la probele de instruire și de control.
  • Implementare: Implementarea soluțiilor AI/ML nu se limitează la serviciile predictive care utilizează un model odată antrenat. Soluțiile AI/ML sunt construite în jurul conductelor în mai multe etape care efectuează instruire și aplicare automată a modelelor. Implementarea unor astfel de conducte implică automatizarea acțiunilor non-triviale efectuate în mod tradițional manual de oamenii de știință de date pentru a putea antrena și testa modele.
  • Productivitate: Motoarele AI/ML pot avea lipsă de productivitate nu numai 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 se poate degrada din cauza unei game mai largi de motive decât performanța dezvoltărilor convenționale. Ceea ce duce la necesitatea de a monitoriza (online) performanța motoarelor noastre AI/ML, precum și de a trimite alerte sau de a respinge rezultatele dacă indicatorii de performanță nu corespund așteptărilor.

Platformele AI/ML sunt similare cu alte sisteme de informare prin faptul că ambele necesită integrare continuă a codului cu controlul versiunilor, testarea unitară, testarea integrării și implementarea dezvoltării continue. Cu toate acestea, în cazul AI/ML, există câteva diferențe importante:

  • CI (Continuous Integration) nu se mai limitează la testarea și validarea codului componentelor implementate - include și testarea și validarea datelor și a modelelor AI/ML.
  • CD (Continuous Delivery/Deployment, continuous deployment) nu se limitează la scrierea și lansarea de pachete sau servicii, ci implică o platformă pentru compunerea, instruirea și aplicarea soluțiilor AI/ML.
  • CT (Continuous Training, continuous training) este un element nou [aprox. autorul articolului: un nou element în raport cu conceptul tradițional DevOps, în care CT este, de regulă, Continuous Testing], inerent platformelor AI/ML, responsabil de gestionarea autonomă a mecanismelor de instruire și aplicare a AI modele /ML. ..."

Putem afirma că învățarea automată și inteligența artificială care lucrează 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 tematice, organizarea mai eficientă a resursele mașinii.

Scenariu în timp real: recunoașterea dezvoltării defectelor la pompele de alimentare

Continuând să folosiți zona de control al procesului ca exemplu, luați în considerare o problemă specifică (am menționat deja la început): trebuie să asigurăm monitorizarea în timp real a dezvoltării defectelor în pompe pe baza debitului valorilor parametrilor procesului și rapoartele personalului de reparații despre defecțiunile identificate.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 2 Formularea problemei pentru monitorizarea dezvoltării defectelor

O caracteristică a majorității sarcinilor prezentate în acest mod în practică este că regularitatea și eficiența primirii datelor (APCS) trebuie luate în considerare pe fundalul apariției episodice și neregulate (și înregistrării) defectelor de diferite tipuri. Cu alte cuvinte: datele din sistemul de control al procesului sosesc o dată pe secundă, corecte și precise, iar notările despre defecte se fac cu un creion chimic indicând data într-un caiet general din atelier (de exemplu: „12.01 – scurgere în capac din partea celui de-al 3-lea rulment”).

Astfel, putem completa formularea problemei cu următoarea limitare importantă: avem o singură „etichetă” a unui defect de un anumit tip (adică, un exemplu de defect de un anumit tip este reprezentat de date din controlul procesului). sistem la o anumită dată - și nu avem mai multe exemple de defect de acest tip). Această limitare ne duce imediat dincolo de sfera învățării automate clasice (învățare supravegheată), pentru care ar trebui să existe o mulțime de „etichete”.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 3 Clarificarea sarcinii de monitorizare a dezvoltării defectelor

Putem „înmulți” cumva singura „etichetă” pe care o avem la dispoziție? Da putem. Starea actuală a pompei este caracterizată de gradul de similitudine cu defectele înregistrate. Chiar și fără utilizarea metodelor cantitative, la nivelul percepției vizuale, observând dinamica valorilor datelor care sosesc din sistemul de control al procesului, puteți învăța deja multe:

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 4 Dinamica stării pompei pe fundalul unui „semn” al unui defect de un anumit tip

Dar percepția vizuală (cel puțin pentru moment) nu este cel mai potrivit generator de „etichete” în scenariul nostru în schimbare rapidă. Vom evalua asemănarea stării curente a pompei cu defectele raportate folosind un test statistic.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 5 Aplicarea unui test statistic la datele primite pe fundalul unei „etichete” de defect

Un test statistic determină probabilitatea ca înregistrările cu valorile parametrilor tehnologici ai procesului din „pachetul de flux” primite de la sistemul de control al procesului să fie similare cu înregistrările „etichetei” unui defect de un anumit tip. Valoarea probabilității (indicele de similaritate statistică) calculată ca urmare a aplicării unui test statistic este convertită la o valoare de 0 sau 1, devenind o „etichetă” pentru învățarea automată în fiecare înregistrare specifică din pachetul examinat pentru similitudine. Adică, după procesarea unui pachet nou primit de înregistrări de stare a pompei cu un test statistic, avem posibilitatea de a (a) adăuga acest pachet la setul de antrenament pentru antrenarea modelului AI/ML și (b) de a efectua controlul calității versiunea actuală a modelului atunci când îl utilizați în acest pachet.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 6 Aplicarea unui model de învățare automată la datele primite pe fundalul unei „etichete” defect

Într-una dintre anterioarele noastre webinarii Arătăm și explicăm modul în care platforma InterSystems IRIS vă permite să implementați orice mecanism AI/ML sub forma unor procese de afaceri cu execuție continuă care monitorizează fiabilitatea rezultatelor modelării și adaptează parametrii modelului. Atunci când implementăm un prototip al scenariului nostru cu pompe, folosim toată funcționalitatea InterSystems IRIS prezentată în timpul webinarului - implementând în procesul analizorului ca parte a soluției noastre nu învățarea clasică supervizată, ci mai degrabă învățarea prin întărire, care gestionează automat selecția pentru modelele de antrenament. . Eșantionul de antrenament conține înregistrări asupra cărora apare un „consens de detecție” după aplicarea atât a testului statistic, cât și a versiunii curente a modelului - adică atât testul statistic (după transformarea indicelui de similaritate la 0 sau 1), cât și modelul a produs rezultatul. pe astfel de înregistrări 1. În timpul noului antrenament al modelului, în timpul validării acestuia (modelul nou antrenat este aplicat propriului eșantion de antrenament, cu aplicarea prealabilă a unui test statistic la acesta), înregistrările care „nu au reținut” rezultatul 1 după procesare prin testul statistic (datorită prezenței constante în antrenament un eșantion de înregistrări din „eticheta” originală a defectului), sunt eliminate din setul de antrenament, iar o nouă versiune a modelului învață din „eticheta” defect plus înregistrările „reținute” din flux.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 7 Robotizarea calculului AI/ML în InterSystems IRIS

Dacă este nevoie de un fel de „a doua opinie” cu privire la calitatea detectării obținute în timpul calculelor locale în InterSystems IRIS, este creat un proces de consilier pentru a efectua instruirea și aplicarea modelelor pe un set de date de control folosind servicii cloud (de exemplu, Microsoft Azure, Amazon Web Services , Google Cloud Platform etc.):

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 8 A doua opinie de la Microsoft Azure orchestrată de InterSystems IRIS

Prototipul scenariului nostru în InterSystems IRIS este conceput ca un sistem bazat pe agenți de procese analitice care interacționează cu un obiect de echipament (pompă), medii de modelare matematică (Python, R și Julia) și asigură auto-învățarea tuturor AI / implicate. Mecanisme ML - pe fluxuri de date în timp real.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 9 Funcționalitatea principală a soluției AI/ML în timp real în InterSystems IRIS

Rezultatul practic al prototipului nostru:

  • Eșantion de defect recunoscut de model (12 ianuarie):

InterSystems IRIS - o platformă universală AI/ML în timp real

  • Un defect în curs de dezvoltare recunoscut de model care nu a fost inclus în eșantion (11 septembrie, defectul în sine a fost identificat de echipa de reparații abia două zile mai târziu, pe 13 septembrie):

InterSystems IRIS - o platformă universală AI/ML în timp real
Simularea pe date reale care conțin mai multe episoade ale aceluiași defect a arătat că soluția noastră, implementată pe platforma InterSystems IRIS, ne permite să identificăm dezvoltarea defectelor de acest tip cu câteva zile înainte ca acestea să fie detectate de echipa de reparații.

InterSystems IRIS - o platformă universală de calcul AI/ML în timp real

Platforma InterSystems IRIS simplifică dezvoltarea, implementarea și operarea soluțiilor de date în timp real. InterSystems IRIS este capabil să efectueze simultan procesarea datelor tranzacționale și analitice; suportă vizualizări de date sincronizate în funcție de modele multiple (inclusiv relaționale, ierarhice, obiect și document); acționează ca o platformă pentru integrarea unei game largi de surse de date și aplicații individuale; oferiți analize avansate în timp real asupra datelor structurate și nestructurate. InterSystems IRIS oferă, de asemenea, mecanisme pentru utilizarea instrumentelor analitice externe și permite combinarea flexibilă a găzduirii în cloud și pe servere locale.

Aplicațiile construite pe platforma InterSystems IRIS sunt implementate într-o varietate de industrii, ajutând companiile să obțină beneficii economice semnificative dintr-o perspectivă strategică și operațională, sporind luarea deciziilor în cunoștință de cauză și reducând diferențele dintre eveniment, analiză și acțiune.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 10 Arhitectura InterSystems IRIS în contextul AI/ML în timp real

Ca și diagrama anterioară, diagrama de mai jos combină noul „sistem de coordonate” (CD/CI/CT) cu o diagramă a fluxului de informații între elementele de lucru ale platformei. Vizualizarea începe cu macromecanismul CD și continuă cu macromecanismele CI și CT.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 11 Diagrama fluxurilor de informații între elementele AI/ML ale platformei InterSystems IRIS

Esența mecanismului CD din InterSystems IRIS: utilizatorii platformei (dezvoltatori de soluții AI/ML) adaptează și/sau creează noi dezvoltări AI/ML folosind un editor de cod specializat pentru mecanismele AI/ML: Jupyter (nume complet: Jupyter Notebook; pentru concizie, documentele create în acest editor sunt uneori numite). În Jupyter, un dezvoltator are posibilitatea de a scrie, depana și verifica performanța (inclusiv utilizarea grafică) a unei anumite dezvoltări AI/ML înainte de a fi plasată („implementată”) în InterSystems IRIS. Este clar că o nouă dezvoltare creată în acest fel va primi doar depanare de bază (din moment ce, în special, Jupyter nu funcționează cu fluxuri de date în timp real) - aceasta este în ordinea lucrurilor, deoarece principalul rezultat al dezvoltării în Jupyter este o confirmare a operabilității fundamentale a unui mecanism AI / ML separat („afișează rezultatul așteptat pe un eșantion de date”). În mod similar, un mecanism deja plasat în platformă (a se vedea următoarele macro-mecanisme) înainte de depanare în Jupyter poate necesita o „retroducere” într-un formular „pre-platformă” (citirea datelor din fișiere, lucrul cu date prin xDBC în loc de tabele, interacțiune directă cu globale - matrice de date multidimensionale InterSystems IRIS – etc.).

Un aspect important al implementării CD-ului în InterSystems IRIS: integrarea bidirecțională a fost implementată între platformă și Jupyter, permițând transferul conținutului în Python, R și Julia pe platformă (și, ulterior, procesat în platformă) (toate trei sunt programare). limbi în limbajele open-source de vârf corespunzătoare).medii de modelare matematică sursă). Astfel, dezvoltatorii de conținut AI/ML au posibilitatea de a efectua „implementare continuă” a acestui conținut în platformă, lucrând în editorul lor familiar Jupyter, cu biblioteci familiare disponibile în Python, R, Julia și efectuând depanare de bază (dacă este necesar) în afara platformei.

Să trecem la mecanismul macro CI din InterSystems IRIS. Diagrama arată procesul macro al „robotizorului în timp real” (un complex de structuri de date, procese de afaceri și fragmente de cod orchestrate de acestea în limbaje matematice și ObjectScript - limbajul de dezvoltare nativ al InterSystems IRIS). Sarcina acestui macroproces este de a menține cozile de date necesare funcționării mecanismelor AI/ML (bazate pe fluxurile de date transmise platformei în timp real), de a lua decizii cu privire la secvența de aplicare și „asortimentul” de AI/ Mecanismele ML (sunt și „algoritmi matematici”, „modele”, etc. – pot fi numite diferit în funcție de specificul implementării și preferințele terminologice), mențin structurile de date la zi pentru analiza rezultatelor muncii AI/ Mecanisme ML (cuburi, tabele, matrice de date multidimensionale etc.) etc. – pentru rapoarte, tablouri de bord etc.).

Un aspect important al implementării CI în InterSystems IRIS: integrarea bidirecțională a fost implementată între platformă și mediile de modelare matematică, permițându-vă să executați conținut găzduit în platformă în Python, R și Julia în mediile lor respective și să primiți înapoi rezultatele execuției. Această integrare este implementată atât în ​​„modul terminal” (adică, conținutul AI/ML este formulat ca cod ObjectScript care face apeluri către mediu), cât și în „modul procesului de afaceri” (adică conținutul AI/ML este formulat ca un proces de afaceri). folosind un editor grafic, sau uneori folosind Jupyter sau folosind un IDE - IRIS Studio, Eclipse, Visual Studio Code). Disponibilitatea proceselor de afaceri pentru editare în Jupyter se reflectă prin conexiunea dintre IRIS la nivel CI și Jupyter la nivel CD. O prezentare mai detaliată a integrării cu mediile de modelare matematică este oferită mai jos. În această etapă, în opinia noastră, există toate motivele pentru a ne asigura că platforma dispune de toate instrumentele necesare pentru implementarea „integrării continue” a dezvoltărilor AI/ML (care provin de la „implementare continuă”) în soluții AI/ML în timp real.

Și principalul mecanism macro: CT. Fără aceasta, nu va exista platformă AI/ML (deși „în timp real” va fi implementat prin CD/CI). Esența CT este munca platformei cu „artefacte” de învățare automată și inteligență artificială direct în sesiunile de lucru ale mediilor de modelare matematică: modele, tabele de distribuție, vectori matrice, straturi de rețele neuronale etc. Această „lucrare”, în cele mai multe cazuri, constă în crearea artefactelor menționate în medii (în cazul modelelor, de exemplu, „crearea” constă în stabilirea specificației modelului și selectarea ulterioară a valorilor parametrilor acestuia - așa-numitul „antrenament” al modelului), aplicarea lor (pentru modele: calculul cu ajutorul valorilor „modelului” ale variabilelor țintă - previziuni, apartenența la categorie, probabilitatea unui eveniment etc.) și îmbunătățirea deja artefacte create și aplicate (de exemplu, redefinirea unui set de variabile de intrare model pe baza rezultatelor aplicației - pentru a îmbunătăți acuratețea prognozei, ca opțiune). Punctul cheie în înțelegerea rolului CT este „abstracția” sa din realitățile CD și CI: CT va implementa toate artefactele, concentrându-se pe specificul computațional și matematic al soluției AI/ML în cadrul capabilităților oferite de mediile specifice. Responsabilitatea pentru „furnizarea intrărilor” și „furnizarea rezultatelor” va fi responsabilitatea CD și CI.

Un aspect important al implementării CT în mod specific în InterSystems IRIS: folosind integrarea cu mediile de modelare matematică deja menționată mai sus, platforma are capacitatea de a extrage chiar acele artefacte din sesiunile de lucru care rulează sub controlul său în medii matematice și (cel mai important) de a transforma ele în obiecte de date ale platformei. De exemplu, un tabel de distribuție care tocmai a fost creat într-o sesiune Python de lucru poate fi (fără a opri sesiunea Python) transferat pe platformă sub forma, de exemplu, a unui global (o matrice de date InterSystems IRIS multidimensională) - și utilizat pentru calcule într-un alt mecanism AI/ML- (implementat în limbajul altui mediu - de exemplu, în R) - sau un tabel virtual. Un alt exemplu: în paralel cu „modul normal” de funcționare a modelului (în sesiunea de lucru Python), „auto-ML” este efectuat pe datele sale de intrare: selecția automată a variabilelor de intrare optime și a valorilor parametrilor. Și împreună cu antrenamentul „regulat”, un model productiv în timp real primește și o „propunere de optimizare” a specificației sale - în care setul de variabile de intrare se modifică, valorile parametrilor se schimbă (nu mai ca urmare a antrenamentului). în Python, dar ca rezultat al antrenamentului cu o versiune „alternativă” a ei însăși, cum ar fi stiva H2O), permițând soluției generale AI/ML să facă față în mod autonom schimbărilor neașteptate în natura datelor de intrare și a fenomenelor care sunt modelate .

Să facem cunoștință mai detaliată cu funcționalitatea AI/ML a platformei InterSystems IRIS, folosind exemplul unui prototip din viața reală.

În diagrama de mai jos, în partea stângă a slide-ului există o parte a procesului de afaceri care implementează execuția scripturilor în Python și R. În partea centrală există jurnalele vizuale ale execuției unora dintre aceste scripturi, respectiv, în Python și R. Imediat în spatele lor sunt exemple de conținut pe una și alta limbă, transferate pentru execuție în mediile adecvate. La capătul din dreapta sunt vizualizări bazate pe rezultatele execuției scriptului. Vizualizările din partea de sus au fost realizate pe IRIS Analytics (datele au fost preluate din Python în platforma de date InterSystems IRIS și afișate pe un tablou de bord folosind platforma), în partea de jos au fost făcute direct în sesiunea de lucru R și de acolo au fost ieșite în fișiere grafice . Un aspect important: fragmentul prezentat în prototip este responsabil de antrenarea modelului (clasificarea stărilor echipamentului) pe datele primite în timp real din procesul de simulare a echipamentelor, la comanda procesului de monitorizare a calității clasificării observat în timpul aplicării modelului. Implementarea unei soluții AI/ML sub forma unui set de procese care interacționează („agenți”) va fi discutată în continuare.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 12 Interacțiunea cu Python, R și Julia în InterSystems IRIS

Procesele platformei (sunt, de asemenea, „procese de afaceri”, „procese analitice”, „conducte”, etc. - în funcție de context), în primul rând, sunt editate în editorul grafic de procese de afaceri din platforma în sine și într-un astfel de mod în care atât diagrama bloc cât și mecanismul AI/ML corespunzător (codul programului) sunt create simultan. Când spunem că „se obține un mecanism AI/ML”, ne referim inițial la hibriditate (în cadrul unui proces): conținutul în limbajele mediilor de modelare matematică este adiacent conținutului în SQL (inclusiv extensii din IntegratedML), în InterSystems ObjectScript, cu alte limbaje acceptate. Mai mult decât atât, procesul platformei oferă oportunități foarte largi de „redare” sub formă de fragmente imbricate ierarhic (după cum se poate vedea în exemplul din diagrama de mai jos), ceea ce vă permite să organizați eficient chiar și conținutul foarte complex, fără a „cădea” vreodată. a formatului grafic (în formate „non-grafice”). » metode/clase/proceduri etc.). Adică, dacă este necesar (și se prevede în majoritatea proiectelor), absolut întreaga soluție AI/ML poate fi implementată într-un format de auto-documentare grafică. Vă rugăm să rețineți că în partea centrală a diagramei de mai jos, care reprezintă un „nivel de imbricare” mai ridicat, este clar că, pe lângă munca efectivă de antrenare a modelului (folosind Python și R), o analiză a așa-numitului Se adaugă curba ROC a modelului antrenat, permițând evaluarea vizuală (și computațională) a calității antrenamentului - iar această analiză este implementată în limbajul Julia (executat, în consecință, în mediul matematic Julia).

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 13 Mediu vizual pentru compoziția soluțiilor AI/ML în InterSystems IRIS

După cum s-a menționat mai devreme, dezvoltarea inițială și (în unele cazuri) adaptarea mecanismelor AI/ML deja implementate în platformă se va/se va face în afara platformei în editorul Jupyter. În diagrama de mai jos vedem un exemplu de adaptare a unui proces de platformă existent (la fel ca în diagrama de mai sus) - așa arată fragmentul care este responsabil pentru antrenarea modelului în Jupyter. Conținutul Python este disponibil pentru editare, depanare și ieșire grafică direct în Jupyter. Modificările (dacă este necesar) pot fi făcute cu sincronizare instantanee în procesul platformei, inclusiv în versiunea sa productivă. Conținutul nou poate fi transferat pe platformă într-un mod similar (se generează automat un nou proces de platformă).

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 14 Utilizarea Jupyter Notebook pentru a edita motorul AI/ML în platforma InterSystems IRIS

Adaptarea unui proces de platformă poate fi realizată nu numai în format grafic sau laptop - ci și în formatul „total” IDE (Integrated Development Environment). Aceste IDE-uri sunt IRIS Studio (studio nativ IRIS), Visual Studio Code (extensia InterSystems IRIS pentru VSCode) și Eclipse (plugin Atelier). În unele cazuri, este posibil ca o echipă de dezvoltare să folosească toate cele trei IDE-uri simultan. Diagrama de mai jos arată un exemplu de editare a aceluiași proces în IRIS studio, în Visual Studio Code și în Eclipse. Absolut tot conținutul este disponibil pentru editare: Python/R/Julia/SQL, ObjectScript și proces de afaceri.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 15 Dezvoltarea procesului de afaceri InterSystems IRIS în diferite IDE-uri

Mențiune specială merită instrumentele pentru descrierea și executarea proceselor de afaceri InterSystems IRIS în Business Process Language (BPL). BPL face posibilă utilizarea „componentelor de integrare gata făcute” (activități) în procesele de afaceri - ceea ce, de fapt, oferă toate motivele pentru a spune că „integrarea continuă” este implementată în InterSystems IRIS. Componentele gata de proces de afaceri (activitățile și conexiunile dintre ele) sunt un accelerator puternic pentru asamblarea unei soluții AI/ML. Și nu numai ansambluri: datorită activităților și conexiunilor dintre acestea prin dezvoltări și mecanisme disparate AI/ML, ia naștere un „nivel de management autonom”, capabil să ia decizii în funcție de situație, în timp real.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 16 Componente gata de proces de afaceri pentru integrare continuă (CI) pe platforma InterSystems IRIS

Conceptul de sisteme de agenți (cunoscut și ca „sisteme multi-agent”) are o poziție puternică în robotizare, iar platforma InterSystems IRIS îl susține organic prin constructul „proces-produs”. Pe lângă posibilitățile nelimitate de „încărcare” fiecărui proces cu funcționalitatea necesară soluției de ansamblu, dotarea sistemului de procese platformei cu proprietatea de „agenție” vă permite să creați soluții eficiente pentru fenomene simulate extrem de instabile (comportamentul social/ biosisteme, procese tehnologice parțial observabile etc.).

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 16 Funcționarea unei soluții AI/ML ca sistem de proces de afaceri bazat pe agenți în InterSystems IRIS

Continuăm revizuirea InterSystems IRIS cu o poveste despre utilizarea aplicată a platformei pentru rezolvarea unor clase întregi de probleme în timp real (o introducere destul de detaliată la unele dintre cele mai bune practici ale platformei AI/ML pe InterSystems IRIS poate fi găsită într-un a anterioarei noastre webinarii).

Pe urmele diagramei anterioare, mai jos este o diagramă mai detaliată a sistemului de agenți. Diagrama prezintă același prototip, toate cele patru procese de agenți sunt vizibile, relațiile dintre ele sunt desenate schematic: GENERATOR - procesează crearea de date de către senzorii echipamentelor, BUFFER - gestionează cozile de date, ANALYZER - realizează în sine învățarea automată, MONITOR - monitorizează calitatea învățării automate și transmite un semnal cu privire la necesitatea recalificarii modelului.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 17 Compoziția unei soluții AI/ML sub forma unui sistem de proces de afaceri bazat pe agenți în InterSystems IRIS

Diagrama de mai jos ilustrează funcționarea autonomă a unui alt prototip robot (recunoașterea colorării emoționale a textelor) de ceva timp. În partea de sus este evoluția indicatorului de calitate al antrenamentului model (calitatea este în creștere), în partea de jos este dinamica indicatorului de calitate al aplicării modelului și faptele antrenamentului repetat (dungi roșii). După cum puteți vedea, soluția s-a învățat eficient și autonom și funcționează la un anumit nivel de calitate (valorile scorului de calitate nu scad sub 80%).

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 18 (auto-)antrenament (CT) continuu pe platforma InterSystems IRIS

Am menționat și „auto-ML” mai devreme, dar diagrama de mai jos arată utilizarea acestei funcționalități în detaliu folosind exemplul unui alt prototip. Diagrama grafică a unui fragment dintr-un proces de afaceri arată activitatea care declanșează modelarea în stiva H2O, arată rezultatele acestei modelări (dominanța clară a modelului rezultat asupra modelelor „fabricate de om”, conform diagramei comparative a curbele ROC, precum și identificarea automată a „variabilelor cele mai influente” disponibile în setul de date original). Un punct important aici este economisirea de timp și resurse de experți care se realizează prin „auto-ML”: ceea ce face procesul platformei noastre într-o jumătate de minut (găsirea și antrenamentul modelului optim) poate dura un expert de la o săptămână la o lună.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 19 Integrarea „auto-ML” într-o soluție AI/ML pe platforma InterSystems IRIS

Diagrama de mai jos pierde puțin sensul, dar este o modalitate bună de a încheia povestea despre clasele de probleme în timp real care se rezolvă: vă reamintim că, cu toate capacitățile platformei InterSystems IRIS, modelele de antrenament aflate sub controlul acesteia sunt nu obligatoriu. Platforma poate primi din exterior așa-numita specificație PMML a modelului, instruită într-un instrument care nu se află sub controlul platformei - și să aplice acest model în timp real din momentul importului Specificații PMML. Este important să țineți cont de faptul că nu toate artefactele AI/ML pot fi reduse la o specificație PMML, chiar dacă majoritatea artefactelor cele mai comune permit acest lucru. Astfel, platforma InterSystems IRIS este „în buclă deschisă” și nu înseamnă „sclavie a platformei” pentru utilizatori.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 20 Integrarea „auto-ML” într-o soluție AI/ML pe platforma InterSystems IRIS

Să enumeram avantajele suplimentare ale platformei InterSystems IRIS (pentru claritate, în legătură cu controlul procesului), care sunt de mare importanță în automatizarea inteligenței artificiale și a învățării automate în timp real:

  • Dezvoltarea instrumentelor de integrare cu orice sursă de date și consumatori (sistem de control al proceselor/SCADA, echipamente, MRO, ERP etc.)
  • Incorporat SGBD cu mai multe modele pentru procesarea tranzacțională și analitică de înaltă performanță (Hybrid Transaction/Analytical Processing, HTAP) a oricărui volum de date de proces tehnologic
  • Instrumente de dezvoltare pentru implementarea continuă a motoarelor AI/ML pentru soluții în timp real bazate pe Python, R, Julia
  • Procese de afaceri adaptive pentru integrarea continuă și (auto-)învățare a motoarelor de soluții AI/ML în timp real
  • Instrumente de Business Intelligence încorporate pentru vizualizarea datelor de proces și a rezultatelor unei soluții AI/ML
  • Management API pentru livrarea rezultatelor soluției AI/ML către sistemele de control al proceselor/SCADA, sistemele informaționale și analitice, trimiterea de alerte etc.

Soluțiile AI/ML de pe platforma InterSystems IRIS se potrivesc cu ușurință în infrastructura IT existentă. Platforma InterSystems IRIS asigură o fiabilitate ridicată a soluțiilor AI/ML prin sprijinirea configurațiilor tolerante la erori și tolerante la dezastre și implementare flexibilă în medii virtuale, pe servere fizice, în cloud-uri private și publice și containere Docker.

Astfel, InterSystems IRIS este o platformă universală de calcul AI/ML în timp real. Universalitatea platformei noastre este confirmată în practică de absența restricțiilor de facto privind complexitatea calculelor implementate, capacitatea InterSystems IRIS de a combina (în timp real) procesarea scenariilor dintr-o mare varietate de industrii și adaptabilitatea excepțională a orice funcții și mecanisme ale platformei la nevoile specifice ale utilizatorilor.

InterSystems IRIS - o platformă universală AI/ML în timp real
Figura 21 InterSystems IRIS - o platformă universală de calcul AI/ML în timp real

Pentru o interacțiune mai substanțială cu cei dintre cititorii noștri care sunt interesați de materialul prezentat aici, vă recomandăm să nu vă limitați la citirea acestuia și să continuați dialogul „în direct”. Vom fi bucuroși să oferim sprijin pentru formularea de scenarii AI/ML în timp real în legătură cu specificul companiei dumneavoastră, să realizăm prototipuri comune pe platforma InterSystems IRIS, să formulăm și să implementăm în practică o foaie de parcurs pentru introducerea inteligenței artificiale și a învățării automate. în procesele dumneavoastră de producție și management. E-mailul de contact al echipei noastre de experți AI/ML – [e-mail protejat].

Sursa: www.habr.com

Adauga un comentariu