InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego

Autor: Sergey Lukyanchikov, inżynier-konsultant w InterSystems

Połączenia obliczeniowe AI/ML w czasie rzeczywistym

Zacznijmy od przykładów z doświadczeń praktyki Data Science w InterSystems:

  • Załadowany portal kupującego jest podłączony do internetowego systemu rekomendacji. Nastąpi restrukturyzacja promocji w całej sieci detalicznej (np. zamiast „płaskiej” linii promocji będzie teraz stosowana matryca „taktyki segmentowej”). Co się dzieje z silnikami rekomendacji? Co się dzieje z przesyłaniem i aktualizacją danych do silnika rekomendacji (ilość danych wejściowych wzrosła 25000 XNUMX razy)? Co się dzieje z rozwojem rekomendacji (konieczność tysiąckrotnego obniżenia progu filtrowania reguł rekomendacji ze względu na tysiąckrotny wzrost ich liczby i „zakresu”)?
  • Istnieje system monitorowania prawdopodobieństwa wystąpienia usterek w elementach sprzętu. Do systemu monitoringu podłączony został zautomatyzowany system sterowania procesem, który co sekundę przesyła tysiące parametrów procesu technologicznego. Co dzieje się z systemem monitorowania, który wcześniej pracował na „ręcznych próbkach” (czy jest w stanie zapewnić monitorowanie prawdopodobieństwa sekunda po sekundzie)? Co się stanie, jeśli w danych wejściowych pojawi się nowy blok kilkuset kolumn z odczytami z czujników niedawno dodanych do systemu sterowania procesem (czy konieczne będzie i na jak długo zatrzymanie systemu monitorowania, aby uwzględnić w analizie dane z nowych czujników )?
  • Stworzono zestaw mechanizmów AI/ML (rekomendowanie, monitorowanie, prognozowanie), które wykorzystują wzajemnie wyniki swojej pracy. Ile roboczogodzin potrzeba każdego miesiąca, aby dostosować działanie tego kompleksu do zmian danych wejściowych? Na czym polega ogólne „spowolnienie” przy wsparciu kompleksu decyzyjnego zarządzania (częstotliwość występowania w nim nowych informacji wspierających w stosunku do częstotliwości występowania nowych danych wejściowych)?

Podsumowując te i wiele innych przykładów, doszliśmy do sformułowania wyzwań, jakie pojawiają się przy przejściu na wykorzystanie mechanizmów uczenia maszynowego i sztucznej inteligencji w czasie rzeczywistym:

  • Czy jesteśmy zadowoleni z szybkości tworzenia i dostosowywania (do zmieniającej się sytuacji) rozwiązań AI/ML w naszej firmie?
  • W jakim stopniu wykorzystywane przez nas rozwiązania AI/ML wspierają zarządzanie przedsiębiorstwem w czasie rzeczywistym?
  • Czy rozwiązania AI/ML, z których korzystamy, są w stanie samodzielnie (bez programistów) dostosowywać się do zmian w danych i praktykach zarządzania biznesem?

Nasz artykuł stanowi dokładny przegląd możliwości platformy InterSystems IRIS w zakresie uniwersalnego wsparcia wdrażania mechanizmów AI/ML, montażu (integracji) rozwiązań AI/ML oraz szkolenia (testowania) rozwiązań AI/ML na intensywnych strumienie danych. W tym artykule przyjrzymy się badaniom rynku, studiom przypadków rozwiązań AI/ML i koncepcyjnym aspektom tego, co nazywamy platformą AI/ML czasu rzeczywistego.

Co wiemy z ankiet: aplikacje czasu rzeczywistego

wyniki badanieprzeprowadzone wśród blisko 800 specjalistów IT w 2019 roku przez Lightbend, mówią same za siebie:

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 1 Wiodący konsumenci danych w czasie rzeczywistym

Przytoczmy w naszym tłumaczeniu istotne fragmenty raportu z wyników tego badania:

„...Trendy w popularności narzędzi do integracji strumieni danych i jednocześnie wspierania obliczeń w kontenerach stanowią synergiczną odpowiedź na zapotrzebowanie rynku na bardziej responsywną, racjonalną, dynamiczną propozycję efektywnych rozwiązań. Przesyłanie strumieniowe danych umożliwia szybsze przesyłanie informacji niż w przypadku tradycyjnych danych pakietowych. Do tego dochodzi możliwość szybkiego zastosowania metod obliczeniowych, takich jak np. rekomendacje oparte na AI/ML, tworzących przewagi konkurencyjne poprzez zwiększenie zadowolenia klientów. Wyścig o elastyczność wpływa również na wszystkie role w paradygmacie DevOps – zwiększając efektywność tworzenia i wdrażania aplikacji. …Ośmiuset czterech specjalistów IT przekazało informacje na temat wykorzystania przepływów danych w swoich organizacjach. Respondenci pochodzili głównie z krajów zachodnich (41% w Europie i 37% w Ameryce Północnej) i byli niemal równomiernie rozproszeni pomiędzy małymi, średnimi i dużymi firmami. ...

... Sztuczna inteligencja to nie bajka. Pięćdziesiąt osiem procent osób już korzystających z przetwarzania strumienia danych w aplikacjach AI/ML zwiększających produktywność potwierdza, że ​​wykorzystanie AI/ML w ich przypadku odnotuje największy wzrost w przyszłym roku (w porównaniu z innymi aplikacjami).

  • Zdaniem większości respondentów, w przyszłym roku największy wzrost będzie dotyczył wykorzystania strumieni danych w scenariuszach AI/ML.
  • Zastosowania AI/ML będą rosły nie tylko ze względu na stosunkowo nowe typy scenariuszy, ale także ze względu na tradycyjne scenariusze, w których coraz częściej wykorzystywane są dane w czasie rzeczywistym.
  • Oprócz AI/ML, poziom entuzjazmu wśród użytkowników potoków danych IoT jest imponujący – 48% tych, którzy już zintegrowali dane IoT, twierdzi, że wdrażanie scenariuszy na tych danych znacznie wzrośnie w najbliższej przyszłości. ..."

Z tej dość interesującej ankiety jasno wynika, że ​​postrzeganie scenariuszy uczenia maszynowego i sztucznej inteligencji jako liderów w wykorzystaniu strumieni danych jest już „w drodze”. Ale równie ważną obserwacją jest postrzeganie AI/ML czasu rzeczywistego przez pryzmat DevOps: tutaj już możemy zacząć mówić o transformacji wciąż dominującej kultury „jednorazowego AI/ML z w pełni dostępnym zbiorem danych”.

Koncepcja platformy AI/ML w czasie rzeczywistym

Jednym z typowych obszarów zastosowań AI/ML w czasie rzeczywistym jest kontrola procesów w produkcji. Na jej przykładzie i biorąc pod uwagę wcześniejsze przemyślenia, sformułowamy koncepcję platformy AI/ML czasu rzeczywistego.
Zastosowanie sztucznej inteligencji i uczenia maszynowego w sterowaniu procesami ma szereg cech:

  • Dane o stanie procesu technologicznego odbierane są intensywnie: z dużą częstotliwością i dla szerokiego zakresu parametrów (do kilkudziesięciu tysięcy wartości parametrów przesyłanych na sekundę z systemu sterowania procesem)
  • Dane dotyczące identyfikacji wad, nie mówiąc już o ich rozwoju, są wręcz nieliczne i nieregularne, charakteryzują się niewystarczającą typizacją wad i ich lokalizacją w czasie (często reprezentowaną przez zapisy papierowe).
  • Z praktycznego punktu widzenia dostępne jest jedynie „okno istotności” danych źródłowych do uczenia i stosowania modeli, odzwierciedlających dynamikę procesu technologicznego w rozsądnym przedziale przesuwnym kończącym się ostatnimi odczytanymi wartościami parametrów procesu

Cechy te zmuszają nas, oprócz odbioru i podstawowego przetwarzania w czasie rzeczywistym intensywnego „szerokopasmowego sygnału wejściowego” z procesu technologicznego, do wykonywania (równolegle) aplikacji, szkolenia i kontroli jakości wyników AI/ Modele ML – także w czasie rzeczywistym. „Ramka”, którą „widzą” nasze modele w przesuwanym oknie istotności, ulega ciągłym zmianom – a wraz z nią zmienia się także jakość wyników pracy modeli AI/ML trenowanych w przeszłości na jednej z „ramek” . W przypadku pogorszenia się jakości wyników pracy modeli AI/ML (przykładowo: wartość błędu klasyfikacji „alarm-norma” przekroczyła zdefiniowane przez nas granice), należy automatycznie uruchomić dodatkowe szkolenie modeli bardziej aktualną „ramę” - a wybór momentu uruchomienia dodatkowego szkolenia modeli powinien uwzględniać czas trwania samego szkolenia oraz dynamikę pogarszania się jakości pracy aktualnej wersji modeli (ponieważ aktualne wersje modeli będą nadal używane podczas uczenia modeli i do czasu utworzenia ich „nowo wyszkolonych” wersji).

InterSystems IRIS posiada kluczowe możliwości platformy umożliwiające zastosowanie rozwiązań AI/ML do kontroli procesów w czasie rzeczywistym. Możliwości te można podzielić na trzy główne grupy:

  • Ciągłe wdrażanie (Continious Deployment/Delivery, CD) nowych lub adaptowanych istniejących mechanizmów AI/ML w produktywne rozwiązanie działające w czasie rzeczywistym na platformie InterSystems IRIS
  • Ciągła integracja (CI) w jedno produktywne rozwiązanie przychodzących strumieni danych procesów technologicznych, kolejek danych do zastosowań/szkoleń/kontroli jakości mechanizmów AI/ML oraz wymiany danych/kodu/działań kontrolnych ze środowiskami modelowania matematycznego, zorganizowanych w czasie rzeczywistym platforma InterSystems IRIS
  • Ciągłe (samo)szkolenie (Continious Training, CT) mechanizmów AI/ML, realizowane w środowiskach modelowania matematycznego z wykorzystaniem danych, kodu i działań kontrolnych („podjętych decyzji”) przesyłanych przez platformę InterSystems IRIS

Podział możliwości platformy w odniesieniu do uczenia maszynowego i sztucznej inteligencji na właśnie te grupy nie jest przypadkowy. Zacytujmy metodologicznie publikacja Google, który stanowi koncepcyjną podstawę tej klasyfikacji, w naszym tłumaczeniu:

„… Popularna obecnie koncepcja DevOps obejmuje rozwój i obsługę wielkoskalowych systemów informatycznych. Zaletami wdrożenia tej koncepcji są skrócenie czasu trwania cykli programistycznych, szybsze wdrażanie rozwoju i elastyczność w planowaniu wydań. Aby osiągnąć te korzyści, DevOps zakłada wdrożenie co najmniej dwóch praktyk:

  • Ciągła integracja (CI)
  • Ciągłe dostarczanie (CD)

Praktyki te mają zastosowanie również do platform AI/ML, aby zapewnić niezawodny i wydajny montaż produktywnych rozwiązań AI/ML.

Platformy AI/ML różnią się od innych systemów informatycznych następującymi aspektami:

  • Kompetencje zespołu: Tworząc rozwiązanie AI/ML, w skład zespołu wchodzą zazwyczaj badacze danych lub eksperci „akademiccy” w dziedzinie badań danych, którzy przeprowadzają analizę danych, opracowują i testują modele. Ci członkowie zespołu mogą nie być profesjonalnymi, produktywnymi programistami kodu.
  • Rozwój: silniki AI/ML mają charakter eksperymentalny. Aby rozwiązać problem w najbardziej efektywny sposób, należy przejść przez różne kombinacje zmiennych wejściowych, algorytmów, metod modelowania i parametrów modelu. Złożoność takich poszukiwań polega na śledzeniu „co zadziałało/nie zadziałało”, zapewnieniu powtarzalności epizodów, uogólnieniu rozwoju sytuacji dla powtarzalnych wdrożeń.
  • Testowanie: Testowanie silników AI/ML wymaga szerszego zakresu testów niż większość innych rozwiązań. Oprócz standardowych testów jednostkowych i integracyjnych badana jest ważność danych i jakość wyników zastosowania modelu do próbek uczących i kontrolnych.
  • Wdrożenie: wdrażanie rozwiązań AI/ML nie ogranicza się do usług predykcyjnych korzystających z raz wyszkolonego modelu. Rozwiązania AI/ML opierają się na wieloetapowych potokach, które wykonują zautomatyzowane szkolenie modeli i aplikacje. Wdrażanie takich potoków wiąże się z automatyzacją nietrywialnych działań tradycyjnie wykonywanych ręcznie przez analityków danych, aby móc szkolić i testować modele.
  • Produktywność: silnikom AI/ML może brakować produktywności nie tylko z powodu nieefektywnego programowania, ale także ze względu na stale zmieniający się charakter danych wejściowych. Innymi słowy, działanie mechanizmów AI/ML może ulec pogorszeniu z szerszego zakresu powodów niż działanie konwencjonalnych rozwiązań. Co wiąże się z koniecznością monitorowania (online) wydajności naszych silników AI/ML, a także wysyłania alertów lub odrzucania wyników, jeśli wskaźniki wydajności nie spełniają oczekiwań.

Platformy AI/ML są podobne do innych systemów informatycznych pod tym względem, że oba wymagają ciągłej integracji kodu z kontrolą wersji, testowaniem jednostkowym, testowaniem integracyjnym i ciągłym wdrażaniem oprogramowania. Jednakże w przypadku AI/ML istnieje kilka istotnych różnic:

  • CI (Continious Integration) nie ogranicza się już do testowania i walidacji kodu wdrożonych komponentów – obejmuje także testowanie i walidację danych oraz modeli AI/ML.
  • CD (ciągłe dostarczanie/wdrażanie, ciągłe wdrażanie) nie ogranicza się do pisania i udostępniania pakietów lub usług, ale oznacza platformę do tworzenia, szkolenia i stosowania rozwiązań AI/ML.
  • Nowym elementem jest CT (Continious Training, Continuous Training) [ok. autor artykułu: nowy element w stosunku do tradycyjnej koncepcji DevOps, w której CT to z reguły Continuous Testing], nieodłącznie związany z platformami AI/ML, odpowiedzialny za autonomiczne zarządzanie mechanizmami szkolenia i stosowania AI /ML modele. ..."

Można stwierdzić, że uczenie maszynowe i sztuczna inteligencja pracująca na danych w czasie rzeczywistym wymagają szerszego zestawu narzędzi i kompetencji (od tworzenia kodu po orkiestrację środowisk modelowania matematycznego), ściślejszej integracji wszystkich obszarów funkcjonalnych i przedmiotowych, sprawniejszej organizacji zasobów ludzkich i zasoby maszynowe.

Scenariusz w czasie rzeczywistym: rozpoznawanie rozwoju usterek w pompach zasilających

Kontynuując potraktowanie obszaru kontroli procesu jako przykładu, rozważmy konkretny problem (wspominaliśmy już na samym początku): musimy zapewnić monitorowanie w czasie rzeczywistym rozwoju defektów w pompach w oparciu o przepływ wartości parametrów procesu ​​oraz raporty personelu naprawczego o zidentyfikowanych usterkach.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 2. Sformułowanie problemu do monitorowania rozwoju defektów

Cechą większości tak postawionych zadań w praktyce jest to, że regularność i efektywność odbioru danych (APS) należy rozpatrywać na tle epizodycznego i nieregularnego występowania (i rejestracji) różnego rodzaju usterek. Innymi słowy: dane z systemu kontroli procesu napływają raz na sekundę, są prawidłowe i dokładne, a notatki o usterkach robi się ołówkiem chemicznym, zaznaczając datę w notatniku ogólnym w warsztacie (np.: „12.01 – wyciek do okładki od strony trzeciego łożyska”).

Tym samym możemy uzupełnić sformułowanie problemu o następujące istotne ograniczenie: mamy tylko jedną „etykietę” wady określonego typu (tzn. przykład wady określonego rodzaju reprezentują dane z kontroli procesu systemu w konkretnym terminie – a nie mamy więcej przykładów usterek tego typu). To ograniczenie od razu przenosi nas poza zakres klasycznego uczenia maszynowego (uczenia nadzorowanego), dla którego „tagów” ​​powinno być mnóstwo.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 3 Wyjaśnienie zadania monitorowania rozwoju defektów

Czy możemy w jakiś sposób „pomnożyć” jedyny „tag”, jaki mamy do dyspozycji? Tak możemy. Aktualny stan pompy charakteryzuje się stopniem podobieństwa do zarejestrowanych usterek. Nawet bez stosowania metod ilościowych, już na poziomie percepcji wzrokowej, obserwując dynamikę wartości danych pochodzących z systemu sterowania procesem, można się już wiele nauczyć:

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 4 Dynamika stanu pompy na tle „śladu” wady danego typu

Jednak percepcja wzrokowa (przynajmniej na razie) nie jest najodpowiedniejszym generatorem „tagów” ​​w naszym szybko zmieniającym się scenariuszu. Zbliżenie aktualnego stanu pompy do zgłaszanych usterek ocenimy za pomocą testu statystycznego.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 5 Zastosowanie testu statystycznego do przychodzących danych na tle „etykiety” defektu

Test statystyczny określa prawdopodobieństwo, że zapisy z wartościami parametrów procesu technologicznego w „pakietze przepływowym” otrzymanym z systemu sterowania procesem są podobne do zapisów „znacznika” wady określonego typu. Wartość prawdopodobieństwa (wskaźnik podobieństwa statystycznego) obliczona w wyniku zastosowania testu statystycznego jest konwertowana na wartość 0 lub 1, stając się „etykietą” dla uczenia maszynowego w każdym konkretnym rekordzie w pakiecie badanym pod kątem podobieństwa. Oznacza to, że po przetworzeniu nowo otrzymanego pakietu zapisów stanu pomp testem statystycznym mamy możliwość (a) dodać ten pakiet do zbioru uczącego w celu uczenia modelu AI/ML oraz (b) przeprowadzić kontrolę jakości aktualna wersja modelu w przypadku użycia go w tym pakiecie.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 6 Zastosowanie modelu uczenia maszynowego do przychodzących danych na tle „etykiety” defektu

W jednym z naszych poprzednich webinaria Pokazujemy i wyjaśniamy, w jaki sposób platforma InterSystems IRIS pozwala na wdrożenie dowolnego mechanizmu AI/ML w postaci stale realizowanych procesów biznesowych, które monitorują wiarygodność wyników modelowania i dostosowują parametry modelu. Realizując prototyp naszego scenariusza z pompami, wykorzystujemy całą zaprezentowaną podczas webinaru funkcjonalność InterSystems IRIS - wdrażając w procesie analizatora w ramach naszego rozwiązania nie klasyczne uczenie nadzorowane, a raczej uczenie się przez wzmacnianie, które automatycznie zarządza doborem modeli szkoleniowych . Próba ucząca zawiera rekordy, co do których powstaje „konsensus detekcyjny” po zastosowaniu zarówno testu statystycznego, jak i aktualnej wersji modelu – czyli zarówno testu statystycznego (po przekształceniu wskaźnika podobieństwa na 0 lub 1), jak i modelu, który wygenerował wynik na takich zapisach 1. Podczas nowego uczenia modelu, podczas jego walidacji (nowo wyszkolony model jest aplikowany do własnej próbki uczącej, przy wstępnym zastosowaniu do niego testu statystycznego), rekordy, które „nie zachowały” wyniku 1 po przetworzeniu poprzez test statystyczny (ze względu na stałą obecność w szkoleniu próbki rekordów z oryginalnej „etykiety” wady), są usuwane ze zbioru uczącego, a nowa wersja modelu uczy się z „etykiety” wady defekt plus „zachowane” zapisy ze strumienia.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 7 Robotyzacja obliczeń AI/ML w InterSystems IRIS

Jeżeli zaistnieje potrzeba swoistej „drugiej opinii” na temat jakości detekcji uzyskiwanej podczas obliczeń lokalnych w InterSystems IRIS, tworzony jest proces doradczy w celu przeprowadzenia szkolenia i zastosowania modeli na kontrolnym zbiorze danych z wykorzystaniem usług chmurowych (np. Microsoft Azure, Amazon Web Services, Google Cloud Platform itp.):

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 8 Druga opinia Microsoft Azure przygotowana przez InterSystems IRIS

Prototyp naszego scenariusza w InterSystems IRIS został zaprojektowany jako agentowy system procesów analitycznych, które oddziałują z obiektem sprzętowym (pompą), środowiskami modelowania matematycznego (Python, R i Julia) oraz zapewniają samouczenie się wszystkich zaangażowanych AI/ Mechanizmy ML – na strumieniach danych w czasie rzeczywistym.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 9 Główna funkcjonalność rozwiązania AI/ML czasu rzeczywistego w InterSystems IRIS

Praktyczny wynik naszego prototypu:

  • Przykładowa wada rozpoznana przez modelkę (12 stycznia):

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego

  • Rozwijająca się wada rozpoznana przez model, która nie została uwzględniona w próbce (11 września, sama wada została zidentyfikowana przez ekipę naprawczą dopiero dwa dni później, 13 września):

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Symulacja na rzeczywistych danych zawierających kilka epizodów tej samej usterki pokazała, że ​​nasze rozwiązanie, wdrożone na platformie InterSystems IRIS, pozwala na identyfikację rozwoju tego typu usterek na kilka dni przed ich wykryciem przez ekipę naprawczą.

InterSystems IRIS – uniwersalna platforma obliczeniowa AI/ML czasu rzeczywistego

Platforma InterSystems IRIS upraszcza tworzenie, wdrażanie i obsługę rozwiązań danych w czasie rzeczywistym. InterSystems IRIS umożliwia jednoczesne przetwarzanie danych transakcyjnych i analitycznych; obsługa zsynchronizowanych widoków danych według wielu modeli (w tym relacyjnych, hierarchicznych, obiektowych i dokumentowych); pełnić funkcję platformy integrującej szeroką gamę źródeł danych i poszczególnych aplikacji; zapewniają zaawansowaną analizę w czasie rzeczywistym danych ustrukturyzowanych i nieustrukturyzowanych. InterSystems IRIS zapewnia także mechanizmy wykorzystania zewnętrznych narzędzi analitycznych oraz pozwala na elastyczne łączenie hostingu w chmurze i na serwerach lokalnych.

Aplikacje zbudowane na platformie InterSystems IRIS zostały wdrożone w różnych branżach, pomagając firmom w osiąganiu znaczących korzyści ekonomicznych z punktu widzenia strategicznego i operacyjnego, zwiększając świadome podejmowanie decyzji i wypełniając luki pomiędzy zdarzeniami, analizą i działaniem.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 10 Architektura InterSystems IRIS w kontekście AI/ML czasu rzeczywistego

Podobnie jak poprzedni diagram, poniższy diagram łączy nowy „układ współrzędnych” (CD/CI/CT) ze schematem przepływu informacji pomiędzy elementami roboczymi platformy. Wizualizacja rozpoczyna się od CD makromechanizmu i jest kontynuowana od makromechanizmów CI i CT.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 11 Schemat przepływów informacji pomiędzy elementami AI/ML platformy InterSystems IRIS

Istota mechanizmu CD w InterSystems IRIS: użytkownicy platformy (twórcy rozwiązań AI/ML) adaptują istniejące i/lub tworzą nowe opracowania AI/ML za pomocą specjalistycznego edytora kodu dla mechanizmów AI/ML: Jupyter (pełna nazwa: Jupyter Notebook; dla zwięzłości, czasami nazywane są także dokumenty utworzone w tym edytorze). W Jupyter programista ma możliwość napisania, debugowania i sprawdzenia wydajności (w tym przy użyciu grafiki) konkretnego opracowania AI/ML przed jego umieszczeniem („wdrożeniem”) w InterSystems IRIS. Oczywiste jest, że nowy rozwój utworzony w ten sposób otrzyma jedynie podstawowe debugowanie (ponieważ w szczególności Jupyter nie działa ze strumieniami danych w czasie rzeczywistym) - jest to w porządku rzeczy, ponieważ główny wynik rozwoju w Jupyter jest potwierdzeniem podstawowej funkcjonalności odrębnego mechanizmu AI/ML („pokazuje oczekiwany wynik na próbce danych”). Podobnie mechanizm już umieszczony na platformie (patrz poniższe makromechanizmy) przed debugowaniem w Jupyterze może wymagać „przywrócenia” do postaci „przedplatformowej” (odczyt danych z plików, praca z danymi poprzez xDBC zamiast tabel, bezpośrednia interakcja z globalami – wielowymiarowe tablice danych InterSystems IRIS – itp.).

Ważny aspekt wdrożenia CD w InterSystems IRIS: pomiędzy platformą a Jupyterem została wdrożona dwukierunkowa integracja, umożliwiająca przenoszenie na platformę treści w językach Python, R i Julia (a następnie ich przetwarzanie w platformie) (wszystkie trzy są programistyczne języki w odpowiednich wiodących językach open source).źródła środowisk modelowania matematycznego). Tym samym twórcy treści AI/ML mają możliwość „ciągłego wdrażania” tej treści na platformie, pracując w znanym im edytorze Jupyter, ze znanymi bibliotekami dostępnymi w Pythonie, R, Julia i przeprowadzając podstawowe debugowanie (jeśli to konieczne) poza platformą.

Przejdźmy do mechanizmu makro CI w InterSystems IRIS. Diagram przedstawia makroproces „robotizera czasu rzeczywistego” (zespół struktur danych, procesów biznesowych i fragmentów kodu zaaranżowanych przez nie w językach matematycznych i ObjectScript – natywnym języku programistycznym InterSystems IRIS). Zadaniem tego makroprocesu jest utrzymanie kolejek danych niezbędnych do działania mechanizmów AI/ML (w oparciu o strumienie danych przesyłanych do platformy w czasie rzeczywistym), podejmowanie decyzji o kolejności stosowania oraz „asortymencie” AI/ML mechanizmy ML (są to także „algorytmy matematyczne”, „modele” itp. – można je różnie nazywać w zależności od specyfiki wdrożenia i preferencji terminologicznych), aktualizują struktury danych w celu analizy wyników pracy AI/ Mechanizmy ML (kostki, tabele, wielowymiarowe tablice danych itp.) itp. – dla raportów, dashboardów itp.).

Ważny aspekt wdrożenia CI szczególnie w InterSystems IRIS: wdrożono dwukierunkową integrację pomiędzy platformą a środowiskami modelowania matematycznego, umożliwiając wykonywanie treści hostowanych na platformie w językach Python, R i Julia w ich odpowiednich środowiskach i odbieranie wykonania wyniki. Integracja ta jest realizowana zarówno w „trybie terminala” (tj. treść AI/ML jest formułowana jako kod ObjectScript wywołujący środowisko), jak i w „trybie procesu biznesowego” (tj. treść AI/ML jest formułowana jako proces biznesowy używając edytora graficznego, czasami Jupytera lub używając IDE - IRIS Studio, Eclipse, Visual Studio Code). Dostępność procesów biznesowych do edycji w Jupyterze odzwierciedla się poprzez połączenie IRIS na poziomie CI z Jupyterem na poziomie CD. Bardziej szczegółowy przegląd integracji ze środowiskami modelowania matematycznego znajduje się poniżej. Naszym zdaniem na tym etapie istnieją wszelkie powody, aby zapewnić platformie wszystkie narzędzia niezbędne do wdrożenia „ciągłej integracji” rozwoju AI/ML (pochodzącej z „ciągłego wdrażania”) z rozwiązaniami AI/ML działającymi w czasie rzeczywistym.

I główny mechanizm makro: CT. Bez tego nie będzie platformy AI/ML (choć „w czasie rzeczywistym” będzie realizowany poprzez CD/CI). Istotą CT jest praca platformy z „artefaktami” uczenia maszynowego i sztucznej inteligencji bezpośrednio w sesjach roboczych środowisk modelowania matematycznego: modeli, tablic rozkładu, wektorów macierzowych, warstw sieci neuronowych itp. Ta „praca” polega w większości przypadków na tworzeniu wspomnianych artefaktów w środowiskach (w przypadku modeli np. „kreacja” polega na ustaleniu specyfikacji modelu i późniejszym doborze wartości jego parametrów - tzw. „uczenie” modelu), ich zastosowanie (w przypadku modeli: obliczanie za ich pomocą „modelowych” wartości zmiennych docelowych – prognoz, przynależności do kategorii, prawdopodobieństwa zdarzenia itp.) oraz doskonalenie już istniejących utworzone i zastosowane artefakty (np. redefinicja zbioru zmiennych wejściowych modelu na podstawie wyników aplikacji – opcjonalnie w celu poprawy dokładności prognozowania). Kluczowym punktem w zrozumieniu roli CT jest jej „abstrakcja” od realiów CD i CI: CT zaimplementuje wszystkie artefakty, koncentrując się na specyfice obliczeniowej i matematycznej rozwiązania AI/ML w ramach możliwości zapewnianych przez określone środowiska. Odpowiedzialność za „dostarczanie danych wejściowych” i „dostarczanie wyników” będzie odpowiadać CD i CI.

Ważny aspekt wdrożenia CT szczególnie w InterSystems IRIS: wykorzystując wspomnianą już integrację ze środowiskami modelowania matematycznego, platforma ma możliwość wyodrębnienia tych samych artefaktów z sesji roboczych prowadzonych pod jej kontrolą w środowiskach matematycznych i (co najważniejsze) je do obiektów danych platformy. Przykładowo tabelę dystrybucyjną, która właśnie została utworzona w działającej sesji Pythona, można (bez zatrzymywania sesji Pythona) przenieść na platformę w postaci np. globalnej (wielowymiarowej tablicy danych InterSystems IRIS) - i wykorzystać do obliczeń w innym mechanizmie AI/ML (zaimplementowanym w języku innego środowiska - np. w R) - lub wirtualnej tabeli. Inny przykład: równolegle z „normalnym trybem” pracy modelu (w sesji roboczej Pythona) na jego danych wejściowych przeprowadzany jest „auto-ML”: automatyczny dobór optymalnych zmiennych wejściowych i wartości parametrów. I wraz z „zwykłym” szkoleniem model produktywny w czasie rzeczywistym otrzymuje także „propozycję optymalizacji” swojej specyfikacji – w której zmienia się zbiór zmiennych wejściowych, zmieniają się wartości parametrów (już nie w wyniku uczenia w Pythonie, ale w wyniku szkolenia z „alternatywną” wersją samego siebie, np. stosem H2O), pozwalając całemu rozwiązaniu AI/ML na autonomiczne radzenie sobie z nieoczekiwanymi zmianami charakteru danych wejściowych i modelowanych zjawisk .

Przyjrzyjmy się bliżej funkcjonalności platformy AI/ML InterSystems IRIS na przykładzie rzeczywistego prototypu.

Na poniższym diagramie po lewej stronie slajdu przedstawiono część procesu biznesowego realizującą wykonanie skryptów w Pythonie i R. W centralnej części znajdują się wizualne logi wykonania odpowiednio niektórych z tych skryptów, w Pythonie i R. Zaraz za nimi znajdują się przykłady treści w tym i innym języku, przekazywane do wykonania do odpowiednich środowisk. Na końcu po prawej stronie znajdują się wizualizacje oparte na wynikach wykonania skryptu. Wizualizacje na górze zostały wykonane w IRIS Analytics (dane zostały pobrane z Pythona na platformę danych InterSystems IRIS i wyświetlone na dashboardzie za pomocą platformy), na dole zostały wykonane bezpośrednio w sesji roboczej R i stamtąd wyprowadzone do plików graficznych . Ważny aspekt: ​​zaprezentowany fragment prototypu odpowiada za uczenie modelu (klasyfikację stanów urządzeń) na danych otrzymanych w czasie rzeczywistym z procesu symulatora sprzętu, na polecenie procesu monitora jakości klasyfikacji zaobserwowanego podczas stosowania modelu. Wdrożenie rozwiązania AI/ML w postaci zestawu oddziałujących na siebie procesów („agentów”) zostanie omówione w dalszej części.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 12 Interakcja z Pythonem, R i Julią w InterSystems IRIS

Procesy platformy (są to także „procesy biznesowe”, „procesy analityczne”, „potoki” itp. – w zależności od kontekstu) przede wszystkim edytowane są w graficznym edytorze procesów biznesowych w samej platformie i w taki sposób sposób, aby jednocześnie tworzony był zarówno jego schemat blokowy, jak i odpowiadający mu mechanizm AI/ML (kod programu). Kiedy mówimy, że „uzyskuje się mechanizm AI/ML”, początkowo mamy na myśli hybrydowość (w ramach jednego procesu): treść w językach środowisk modelowania matematycznego sąsiaduje z treścią w SQL (w tym rozszerzeniami z ZintegrowanyML), w InterSystems ObjectScript, z innymi obsługiwanymi językami. Co więcej, proces platformy zapewnia bardzo szerokie możliwości „renderowania” w postaci hierarchicznie zagnieżdżonych fragmentów (co widać na przykładzie na poniższym schemacie), co pozwala efektywnie organizować nawet bardzo złożone treści bez „wypadania” formatu graficznego (na formaty „niegraficzne”). » metody/klasy/procedury itp.). Oznacza to, że jeśli zajdzie taka potrzeba (a jest to przewidziane w większości projektów), absolutnie całe rozwiązanie AI/ML można wdrożyć w graficznym formacie samodokumentującym. Proszę zwrócić uwagę, że w środkowej części poniższego diagramu, która przedstawia wyższy „poziom zagnieżdżenia”, widać wyraźnie, że oprócz samej pracy polegającej na szkoleniu modelu (z wykorzystaniem Pythona i R), analiza tzw. Dodawana jest krzywa ROC wyuczonego modelu, pozwalająca wizualnie (i obliczeniowo) ocenić jakość uczenia - a analiza ta jest realizowana w języku Julia (wykonywana odpowiednio w środowisku matematycznym Julia).

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 13 Środowisko wizualne dla kompozycji rozwiązań AI/ML w InterSystems IRIS

Jak wspomniano wcześniej, początkowy rozwój i (w niektórych przypadkach) adaptacja mechanizmów AI/ML już zaimplementowanych na platformie będzie/może odbywać się poza platformą w edytorze Jupyter. Na poniższym schemacie widzimy przykład adaptacji istniejącego procesu platformy (tak samo jak na powyższym schemacie) - tak wygląda fragment odpowiedzialny za uczenie modelu w Jupyterze. Treść Pythona jest dostępna do edycji, debugowania i tworzenia grafiki bezpośrednio w Jupyter. Zmiany (jeśli zajdzie taka potrzeba) można wprowadzić z natychmiastową synchronizacją w procesie platformy, w tym w jej wersji produkcyjnej. W podobny sposób można przenieść nową treść na platformę (automatycznie generowany jest nowy proces platformy).

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 14 Użycie Jupyter Notebook do edycji silnika AI/ML na platformie InterSystems IRIS

Adaptację procesu platformy można przeprowadzić nie tylko w formacie graficznym czy laptopowym - ale także w formacie „total” IDE (Integrated Development Environment). Te IDE to IRIS Studio (natywne studio IRIS), Visual Studio Code (rozszerzenie InterSystems IRIS dla VSCode) i Eclipse (wtyczka Atelier). W niektórych przypadkach zespół programistów może używać wszystkich trzech IDE jednocześnie. Poniższy diagram przedstawia przykład edycji tego samego procesu w studiu IRIS, w Visual Studio Code i w Eclipse. Do edycji dostępna jest absolutnie cała zawartość: Python/R/Julia/SQL, ObjectScript i proces biznesowy.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 15 Rozwój procesu biznesowego InterSystems IRIS w różnych IDE

Na szczególną uwagę zasługują narzędzia służące do opisu i realizacji procesów biznesowych InterSystems IRIS w języku Business Process Language (BPL). BPL umożliwia wykorzystanie w procesach biznesowych „gotowych komponentów (działań) integracyjnych” – co w zasadzie daje podstawy do twierdzenia, że ​​w InterSystems IRIS wdrożona jest „integracja ciągła”. Gotowe komponenty procesów biznesowych (działania i powiązania między nimi) są potężnym akceleratorem do montażu rozwiązania AI/ML. I nie tylko zgromadzenia: dzięki działaniom i powiązaniom między nimi w ramach odmiennych rozwiązań i mechanizmów AI/ML powstaje „autonomiczna warstwa zarządzania”, zdolna do podejmowania decyzji w zależności od sytuacji, w czasie rzeczywistym.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 16 Gotowe komponenty procesów biznesowych do ciągłej integracji (CI) na platformie InterSystems IRIS

Koncepcja systemów agentowych (znanych również jako „systemy wieloagentowe”) ma silną pozycję w robotyzacji, a platforma InterSystems IRIS organicznie ją wspiera poprzez konstrukt „produkt-proces”. Oprócz nieograniczonych możliwości „wypychania” każdego procesu funkcjonalnością niezbędną dla całości rozwiązania, wyposażenie systemu procesów platformowych we właściwość „sprawczości” pozwala na tworzenie efektywnych rozwiązań dla skrajnie niestabilnych symulowanych zjawisk (zachowań społecznościowych/ biosystemy, częściowo obserwowalne procesy technologiczne itp.).

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 16 Działanie rozwiązania AI/ML jako agentowego systemu procesów biznesowych w InterSystems IRIS

Naszą recenzję InterSystems IRIS kontynuujemy opowieścią o zastosowaniu platformy do rozwiązywania całych klas problemów czasu rzeczywistego (dość szczegółowe wprowadzenie do niektórych najlepszych praktyk platformy AI/ML na InterSystems IRIS można znaleźć w jednym naszego poprzedniego webinaria).

Zaraz po poprzednim schemacie, poniżej znajduje się bardziej szczegółowy schemat systemu agentów. Na schemacie przedstawiono ten sam prototyp, widoczne są wszystkie cztery procesy agentów, schematycznie przedstawiono zależności między nimi: GENERATOR - przetwarza tworzenie danych przez czujniki urządzenia, BUFOR - zarządza kolejkami danych, ANALIZATOR - sam dokonuje uczenia maszynowego, MONITOR - monitoruje proces jakość uczenia maszynowego i daje sygnał o konieczności przeszkolenia modelu.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 17 Skład rozwiązania AI/ML w postaci agentowego systemu procesów biznesowych w InterSystems IRIS

Poniższy schemat ilustruje autonomiczne funkcjonowanie innego prototypu robota (rozpoznawanie emocjonalnego zabarwienia tekstów) od pewnego czasu. W górnej części przedstawiono ewolucję wskaźnika jakości szkolenia modelowego (jakość rośnie), w dolnej części dynamika wskaźnika jakości stosowania modelu oraz fakty dotyczące powtarzanego szkolenia (czerwone paski). Jak widać rozwiązanie nauczyło się sprawnie i autonomicznie oraz działa na zadanym poziomie jakości (wartości scoringu jakości nie spadają poniżej 80%).

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 18 Ciągłe (samo)szkolenie (CT) na platformie InterSystems IRIS

O „auto-ML” wspominaliśmy już wcześniej, jednak poniższy schemat przedstawia szczegółowo wykorzystanie tej funkcjonalności na przykładzie innego prototypu. Na schemacie graficznym fragmentu procesu biznesowego przedstawiono czynność wyzwalającą modelowanie w stosie H2O, przedstawiono wyniki tego modelowania (wyraźna dominacja modelu wynikowego nad modelami „wytworzonymi przez człowieka”, zgodnie ze schematem porównawczym krzywe ROC, a także automatyczną identyfikację „najbardziej wpływowych zmiennych” dostępnych w oryginalnym zbiorze danych). Ważną kwestią jest tutaj oszczędność czasu i zasobów ekspertów, którą osiąga się dzięki „auto-ML”: to, co proces naszej platformy robi w pół minuty (znalezienie i wytrenowanie optymalnego modelu), może zająć ekspertowi od tygodnia do miesiąca.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 19. Integracja „auto-ML” z rozwiązaniem AI/ML na platformie InterSystems IRIS

Poniższy diagram trochę mija się z sednem sprawy, ale jest to dobry sposób na zakończenie opowieści o rozwiązywaniu klas problemów w czasie rzeczywistym: przypominamy, że przy wszystkich możliwościach platformy InterSystems IRIS kontrolowane przez nią modele szkoleniowe są nie jest obowiązkowe. Platforma może otrzymać z zewnątrz tzw. specyfikację PMML modelu, przeszkoloną w narzędziu nie będącym pod kontrolą platformy – i zastosować ten model w czasie rzeczywistym od momentu jego zaimportowania Specyfikacje PMML. Należy wziąć pod uwagę, że nie wszystkie artefakty AI/ML można zredukować do specyfikacji PMML, nawet jeśli pozwala na to większość najpopularniejszych artefaktów. Tym samym platforma InterSystems IRIS ma charakter „otwartej pętli” i nie oznacza dla użytkowników „niewolnictwa platformy”.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 20. Integracja „auto-ML” z rozwiązaniem AI/ML na platformie InterSystems IRIS

Wymieńmy dodatkowe zalety platformy InterSystems IRIS (dla przejrzystości, w odniesieniu do sterowania procesami), które mają ogromne znaczenie w automatyzacji sztucznej inteligencji i uczenia maszynowego w czasie rzeczywistym:

  • Opracowane narzędzia integrujące z dowolnymi źródłami danych i odbiorcami (system kontroli procesów/SCADA, sprzęt, MRO, ERP itp.)
  • Wbudowany wielomodelowy system DBMS do wysokowydajnego przetwarzania transakcyjnego i analitycznego (Hybrid Transaction/Analytical Processing, HTAP) dowolnego wolumenu danych procesu technologicznego
  • Narzędzia deweloperskie do ciągłego wdrażania silników AI/ML dla rozwiązań czasu rzeczywistego opartych na Python, R, Julia
  • Adaptacyjne procesy biznesowe umożliwiające ciągłą integrację i (samo)uczenie się silników rozwiązań AI/ML działających w czasie rzeczywistym
  • Wbudowane narzędzia Business Intelligence umożliwiające wizualizację danych procesowych i wyników rozwiązania AI/ML
  • Zarządzanie API za dostarczanie wyników rozwiązania AI/ML do systemów kontroli procesów/SCADA, systemów informatycznych i analitycznych, wysyłanie alertów itp.

Rozwiązania AI/ML na platformie InterSystems IRIS z łatwością wpasowują się w istniejącą infrastrukturę IT. Platforma InterSystems IRIS zapewnia wysoką niezawodność rozwiązań AI/ML poprzez obsługę konfiguracji odpornych na awarie i katastrofy oraz elastyczne wdrażanie w środowiskach wirtualnych, na serwerach fizycznych, w chmurach prywatnych i publicznych oraz kontenerach Docker.

Tym samym InterSystems IRIS jest uniwersalną platformą obliczeniową AI/ML czasu rzeczywistego. Uniwersalność naszej platformy potwierdza w praktyce brak de facto ograniczeń w zakresie złożoności realizowanych obliczeń, możliwość łączenia (w czasie rzeczywistym) przez InterSystems IRIS przetwarzania scenariuszy z różnych branż oraz wyjątkowa zdolność adaptacji dowolne funkcje i mechanizmy platformy do konkretnych potrzeb użytkowników.

InterSystems IRIS - uniwersalna platforma AI/ML czasu rzeczywistego
Rysunek 21 InterSystems IRIS – uniwersalna platforma obliczeniowa AI/ML czasu rzeczywistego

Dla bardziej merytorycznej interakcji z tymi naszymi czytelnikami, którzy są zainteresowani prezentowanym tutaj materiałem, zalecamy nie ograniczać się do jego przeczytania i kontynuować dialog „na żywo”. Chętnie udzielimy wsparcia przy formułowaniu scenariuszy AI/ML w czasie rzeczywistym w odniesieniu do specyfiki Twojej firmy, wykonamy wspólne prototypowanie na platformie InterSystems IRIS, sformułowamy i wdrożymy w praktyce plan działania dotyczący wprowadzenia sztucznej inteligencji i uczenia maszynowego w procesy produkcyjne i zarządcze. Adres e-mail do kontaktu z naszym zespołem ekspertów AI/ML – [email chroniony].

Źródło: www.habr.com

Dodaj komentarz