InterSystems IRIS – универсална AI/ML платформа в реално време

Автор: Сергей Лукьянчиков, инженер-консултант InterSystems

Предизвикателства при AI/ML изчисления в реално време

Нека започнем с примери от опита на Data Science практиката на компанията InterSystems:

  • „Натовареният“ портал на клиента е свързан с онлайн система за препоръки. Предстои преструктуриране на промоционалните акции в мащаб на търговската мрежа (да предположим, вместо „плоска“ линия на промоции, вече ще се прилага матрица „сегмент-тактика“). Какво се случва с механизмите за препоръки? Какво се случва с подаването и актуализацията на данни в механизма за препоръки (обемът на входните данни се е увеличил 25000 пъти)? Какво се случва с изработването на препоръки (необходимост от хиляди пъти намаляване на прага на филтрация на препоръчителните правила поради стократно увеличение на тяхното количество и „асортимент“)?
  • Създадена е система за мониторинг на вероятността за развитие на дефекти в обурудването. Към системата за мониторинг е свързана автоматизирана система за управление на технологичния процес, предаваща хиляди параметри на технологичния процес всяка секунда. Какво се случва със системата за мониторинг, която преди е работила на „ръчни проби“ (може ли да осигури мониторинг на вероятността всяка секунда)? Какво ще се случи, ако в входните данни се появи нов блок от няколкостотин колони с показания на сензори, наскоро добавени в автоматизираната система за управление на технологичния процес (ще е необходимо ли и как дълго да се спре системата за мониторинг, за да се включат в анализа данните от новите сензори)?
  • Създаден е комплекс от AI/ML механизми (препоръчителни, мониторингови, прогностични), използващи резултатите от работата на другите. Колко човекочаса са необходими месечно за адаптиране на работата на този комплекс към промените във входните данни? Какво е общото „забавяне“ при поддръжката на комплексното вземане на управленски решения (честота на новата поддържаща информация спрямо честотата на новите входни данни)?

Резюмирайки тези и множество други примери, стигнахме до формулировки на предизвикателствата, които възникват при прехода към използването на механизми за машинно обучение и изкуствен интелект в реално време:

  • Довольни ли сме от оперативността на създаването и адаптирането (към променящата се ситуация) на AI/ML разработки в нашата компания?
  • Как нашите AI/ML решения поддържат управлението на бизнеса в реално време?
  • Могат ли нашите AI/ML решения самостоятелно (без разработчици) да се адаптират към промени в данните и практиките за управление на бизнеса?

Нашата статия е задълбочен преглед на възможностите на платформата InterSystems IRIS относно универсалната подкрепа за внедряване на AI/ML механизми, интеграция на AI/ML решения и обучение на AI/ML решения на интензивни потоци от данни. Ще се обърнем към пазарни изследвания, практическите примери на AI/ML решения и концептуалните аспекти на това, което наричаме в тази статия AI/ML платформа за реално време.

Какво показват проучванията: приложения в реално време

Резултати анкета, проведено сред около 800 ИТ специалисти през 2019 г. от Lightbend, говори само за себе си:

InterSystems IRIS – универсална AI/ML платформа в реално време
Фигура 1 Водещи потребители на данни в реално време

Нека цитираме важни за нас фрагменти от отчета за резултатите от това проучване в нашия превод:

«… Тенденциите на популярност на средствата за интеграция на потоци от данни и едновременното съдействие на изчисленията в контейнери дават синергетичен отговор на търсенията на пазара за по-оперативно, рационално и динамично предложение на ефективни решения. Потоците от данни позволяват по-бързо предаване на информация, отколкото традиционните пакетни данни. Към това се добавя възможността за бързо прилагане на изчислителни методи, като например, базирани на AI/ML препоръки, създавайки конкурентни предимства чрез увеличаване на удовлетвореността на клиентската аудитория. Гонката за оперативност също влияе на всички роли в парадигмата DevOps – повишавайки ефективността на разработката и внедряването на приложения. … Осемстотин и четирима ИТ специалисти предоставиха информация относно използването на потоци от данни в техните организации. Респондентите бяха предимно в западни страни (41% в Европа и 37% в Северна Америка) и бяха практически равномерно разпределени между малки, средни и големи компании. …

Изкуственият интелект не е просто мода. Петдесет и осем процента от тези, които вече прилагат обработка на потоци данни в продуктивни AI/ML приложения, потвърдиха, че тяхното приложение в AI/ML ще получи най-голям ръст през следващата година (в сравнение с другите приложения).

  • Според мнението на повечето анкетираните, приложението на потоци данни в сценарии AI/ML ще получи най-голям ръст през следващата година.
  • Приложението в AI/ML ще нараства не само за сметка на относително нови типове сценарии, но и за сметка на традиционни сценарии, в които данни в реално време се използват все по-интензивно.
  • В допълнение към AI/ML, нивото на ентусиазъм сред потребителите на IoT данни е впечатляващо — 48% от тези, които вече са интегрирали IoT данни, твърдят, че реализацията на сценарии на тези данни ще получи съществен ръст в близко бъдеще. … »

От това доста интересно проучване става ясно, че възприятието на сценариите за машинно обучение и изкуствен интелект като водещи в потреблението на потоци данни вече е "на стъпало". Но не по-малко важно наблюдение е и възприятието на AI/ML в реално време през призмата на DevOps: тук вече можем да започнем да говорим за трансформация на доминиращата все още култура на "еднократен AI/ML с напълно достъпен набор от данни".

Концепция на AI/ML платформа в реално време

Една от типичните области на приложение на AI/ML в реално време е управлението на технологичните процеси в производството. На нейния пример и с оглед на предходните размишления, формулираме концепцията на AI/ML платформа в реално време.
Използването на изкуствения интелект и машинното обучение в управлението на технологичните процеси има редица особености:

  • Данните за състоянието на технологичния процес постъпват интензивно: с висока честота и по широк спектър параметри (включително до десетки хиляди стойности на параметри, предавани в секунда от АСУТП)
  • Данните за откритие на дефекти, да не говорим за данните за тяхното развитие, напротив, са оскъдни и нерегулярни, характеризират се с недостатъчност по типизация на дефектите и тяхната локализация във времето (често, представени с записи на хартиен носител)
  • От практическа гледна точка, за обучение и прилагане на модели е налично само "окното на актуалност" на изходните данни, отразяващо динамиката на технологичния процес в разумен плъзгащ се интервал, завършващ с последно прочетените стойности на параметрите на процеса.

Тези характеристики ни принуждават, в допълнение към приемането и основната обработка на интензивния "широколентов входящ сигнал" от технологичния процес в реално време, да извършваме (паралелно) прилагане, обучение и контрол на качеството на резултатите от работата на AI/ML моделите – също в режим на реално време. Този "кадър", който нашите модели "виждат" в плъзгащото се окно на актуалност, постоянно се променя – а с него се променя и качеството на резултатите от работата на AI/ML моделите, обучени на един от "кадрите" в миналото. При влошаване на качеството на резултатите от работата на AI/ML моделите (например: стойността на грешката в класификацията "тревога-норма" е излязла извън определените от нас граници) трябва автоматично да започне дообучение на моделите на по-актуален "кадър" – а изборът на момента за стартиране на дообучението следва да вземе предвид както продължителността на самото обучение, така и динамиката на влошаването на качеството на работа на текущата версия на моделите (тъй като текущите версии на моделите продължават да се прилагат, докато моделите се обучават, и докато не бъдат създадени техните "преподготвени" версии).

InterSystems IRIS предлага ключови платформени възможности за осигуряване на функционирането на AI/ML решения при управление на технологичните процеси в режим на реално време. Тези възможности могат да бъдат разделени на три основни групи:

  • Непрекъснато разгръщане (Continuous Deployment/Delivery, CD) на нови или адаптирани съществуващи AI/ML механизми в продуктивно решение, функциониращо в режим на реално време на платформата InterSystems IRIS.
  • Непрекъсната интеграция (Continuous Integration, CI) в единно продуктивно решение на входящите потоци данни от технологичния процес, опашките от данни за прилагане/обучение/контрол на качеството на работа на AI/ML механизмите и обмен на данни/код/управляващи въздействия със средите на математическото моделиране, което се оркестрира в реално време от платформата InterSystems IRIS.
  • Непрекъснато (само-)обучение (Continuous Training, CT) на AI/ML механизми, извършващо се в среди на математическо моделиране с използване на данни, код и управляващи въздействия ("приеманите решения"), предавани от платформата InterSystems IRIS

Класификация на платформените възможности по отношение на машинното обучение и изкуствения интелект именно по тези групи не е случайна. Нека цитираме методологичната публикация компания Google, в която се представя концептуалната основа за тази класификация, в нашия превод:

"… Популярната в наши дни концепция DevOps обхваща разработката и експлоатацията на мащабни информационни системи. Предимствата от внедряването на тази концепция се състоят в съкращаване на времето за разработка, ускоряване на разпространението на разработките, гъвкавост при планирането на релизите. За да се получат тези предимства, DevOps предполага внедряване, поне на две практики:

  • Continuous Integration (CI)
  • Continuous Delivery (CD)

Тези практики също са приложими и за AI/ML платформите – с цел осигуряване на надеждна и производителна сборка на продуктивни AI/ML решения.

AI/ML платформите се различават от останалите информационни системи в следните аспекти:

  • Компетенции на екипа: при създаването на AI/ML решение, екипът обикновено включва дата-сайентисти или експерти-"академици" в областта на изследването на данни, които провеждат анализ на данни, разработка и тестване на модели. Тези участници в екипа може и да не са професионални разработчици на продуктивен код.
  • Разработка: AI/ML механизмите са експериментални по своята същност. За да се реши задачата по най-ефективния начин, е необходимо да се пробват различни комбинации от входни променливи, алгоритми, методи на моделиране и параметри на модела. Сложността на такова пробване се състои в проследяването на "какво е работило/не е работило", осигуряване на възпроизведимост на епизодите, генерализиране на разработките за повторяеми внедрявания.
  • Тестване: тестването на AI/ML механизмите изисква по-добър спектър от тестове, отколкото повечето други разработки. В допълнение към стандартните модулни и интеграционни тестове се тестват валидността на данните, качеството на резултатите от приложението на модела към обучаващи и контролни извадки.
  • Разгръщане: разгръщането на AI/ML решения не се ограничава до предсказателни услуги, използващи еднократно обучен модел. AI/ML решенията са изградени около многоетапни пайплайни, изпълняващи автоматизирано обучение и приложение на модели. Разгръщането на такива пайплайни предполага автоматизация на нетривиални действия, традиционно извършвани ръчно от дата специалисти, за да се предостави възможност за обучение и тестване на модели.
  • Продуктивност: AI/ML механизмите може да нямат достатъчна производителност не само поради неефективно програмиране, но и в резултат на постоянно променящия се характер на входните данни. С други думи, производителността на AI/ML механизмите може да деградира поради по-широк спектър от причини, отколкото производителността на обикновените разработки. Това води до необходимост от мониторинг (в режим „онлайн”) на производителността на нашите AI/ML механизми, както и разпращане на аларми или отстраняване на резултати, ако показателите за производителност не отговарят на очакванията.

AI/ML платформите са сходни с другите информационни системи, тъй като и двете изискват непрекъсната интеграция на код с контрол на версиите, модулно тестване, интеграционно тестване, непрекъснато разгръщане на разработки. Въпреки това, в случая с AI/ML, има няколко важни разлики:

  • CI (Непрекъсната интеграция) вече не се ограничава до тестването и валидирането на кода на разгръщаните компоненти – тя също така включва тестване и валидиране на данни и AI/ML модели.
  • CD (Непрекъснато разгръщане) не се свежда до писането и издаването на пакети или услуги, а предполага платформа за композиция, обучение и приложение на AI/ML решения.
  • CT (Непрекъснато обучение) – нов елемент [прим. автора на статията: нов елемент в сравнение с традиционната концепция DevOps, където CT обикновено е Непрекъснато тестване], характерен за AI/ML платформите, отговарящ за автономното управление на механизмите за обучение и приложение на AI/ML модели.

Можем да заключим, че машинното обучение и изкуственият интелект, работещи с данни в реално време, изискват по-широк набор от инструменти и компетенции (от разработка на код до оркестрация на математически модели), по-тясна интеграция между всички функционални и предметни области и по-ефективна организация на човешките и машинните ресурси.

Сценарий в реално време: разпознаване на развитието на дефекти в хранителните помпи

Продължавайки с примера в областта на управлението на технологичните процеси, нека разгледаме конкретна задача (която вече споменахме в самото начало): необходимо е да се осигури мониторинг в реално време на развитието на дефекти в помпите, базиран на потока от стойности на параметрите на технологичния процес и отчетите на ремонтния персонал за установени дефекти.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 2 Формулировка на задачата за мониторинг на развитието на дефекти

Особеността на повечето подобни задачи в практиката е, че редовността и бързината на получаване на данни (АСУТП) трябва да се разглеждат на фона на епизодичността и нерегулярността на възникването (и регистрацията) на различни типове дефекти. С други думи: данните от АСУТП постъпват веднъж в секунда с точност, а за дефектите се водят записи с химически молив, указващи датата в обща тетрадка в цеха (например: „12.01 – теч от капака от страна на 3-то лагерно място“).

Следователно, можем да допълним формулировката на задачата с още едно важно ограничение: „маркировката“ на дефекта от конкретен тип е само една (т.е. примерът за дефект от конкретен тип е представен с данни от АСУТП на конкретна дата – и нямаме повече примери за дефекта именно от този тип). Това ограничение веднага излиза извън рамките на класическото машинно обучение (supervised learning), за което трябва да има много „маркировки“.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 3 Уточнение на задачата за мониторинг на развитието на дефекти

Можем ли мы по някакъв начин да "репликираме" единствената "етикет", с която разполагаме? Да, можем. Текущото състояние на помпата се характеризира с степен на сходство с регистрираните дефекти. Дори и без да използваме количествени методи, на ниво визуално възприятие, наблюдавайки динамиката на стойностите на данните, идващи от АСУТП, можем да извлечем много:

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 4 Динамика на състоянието на помпата на фона на "етикета" на зададения тип дефект

Но визуалното възприятие (поне за момента) не е най-подходящият генератор на "етикети" в нашия бързо променящ се сценарий. Ще оценим сходството на текущото състояние на помпата с регистрираните дефекти чрез статистически тест.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 5 Приложение на статистическия тест върху входящите данни на фона на "етикета" на дефекта

Статистическият тест определя вероятността, че записите с параметрите на технологичния процес в получените от АСУТП "поток-пакет" са сходни с записите на "етикета" на определен тип дефект. Изчисленото в резултат на прилагането на статистическия тест значение на вероятността (индекс на статистическо сходство) се преобразува в стойност 0 или 1, ставайки "етикет" за машинно обучение за всеки конкретен запис в изследваното на сходство пакетче. Тоест, след обработката на новия пакет записи за състоянието на помпата със статистическия тест, имаме възможността (а) да добавим този пакет в обучителната извадка за обучение на AI/ML модел и (б) да извършим контрол на качеството на текущата версия на модела при прилагането на този пакет.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 6 Приложение на модела за машинно обучение върху входящите данни на фона на "етикета" на дефекта

В един от нашите предишни уебинари Показваме и обясняваме как платформата InterSystems IRIS позволява реализирането на всякакви AI/ML механизми под формата на непрекъснато изпълнявани бизнес процеси, които осъществяват контрол на достоверността на резултатите от моделирането и адаптиране на параметрите на моделите. При реализиране на прототипа на нашия сценарий с помпи, ние използваме целия функционал, представен по време на уебинара на InterSystems IRIS – имплементирайки в процеса на анализатор в състава на нашето решение не класическото обучавано обучение, а по-скоро обучение с подкрепление (reinforcement learning), автоматично управляващо избора за обучение на моделите. В извадката за обучение се помещават записи, при които възниква „консенсус на детекцията“ след прилагане както на статистическия тест, така и на текущата версия на модела – т.е. и статистическият тест (след трансформация на индекса на подобие до 0 или 1), и моделът дават на такива записи резултат 1. При новото обучение на модела, по време на неговата валидация (новообученият модел се прилага към собствената си обучаваща извадка, след предварително прилагане на статистическия тест), записи, които не са достигнали резултат 1 след обработката със статистическия тест (поради постоянното присъствие на записи от първоначалната „етикета“ на дефекта в обучаващата извадка), се отстраняват от обучаващата извадка, а новата версия на модела се учи на „етикета“ на дефекта плюс на „достигналите“ записи от потока.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рис. 7 Роботизация на AI/ML изчисленията в InterSystems IRIS

В случай че възникне необходимост от своеобразно „второ мнение“ относно качеството на детекцията, получавана при локалните изчисления в InterSystems IRIS, се създава процес-советник за извършване на обучение-приложения на моделите на контролен датасет с помощта на облачни услуги (например Microsoft Azure, Amazon Web Services, Google Cloud Platform и др.):

InterSystems IRIS – универсална AI/ML платформа в реално време
Рис. 8 „Второ мнение“ от Microsoft Azure под оркестрацията на InterSystems IRIS

Прототипът на нашия сценарий в InterSystems IRIS е реализиран под формата на агентна система от аналитични процеси, осъществяващи взаимодействия с обекта на оборудването (помпа), среди за математическо моделиране (Python, R и Julia) и осигуряващи самообучение на всички ангажирани AI/ML механизми – на потоци от данни в реално време.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рис. 9 Основен функционал на AI/ML решение за реално време в InterSystems IRIS

Практически резултат от работата на нашия прототип:

  • Разпознатият от модела образец на дефект (12 януари):

InterSystems IRIS – универсална AI/ML платформа в реално време

  • Разпознатият от модела развиваещ се дефект, който не е включен в образеца (11 септември, самият дефект е бил констатирован от ремонтния екип едва след два дни – 13 септември):

InterSystems IRIS – универсална AI/ML платформа в реално време
Имитацията на реални данни, съдържащи няколко епизода на един и същи дефект, показа, че нашето решение, реализирано на платформата InterSystems IRIS, позволява да се идентифицира развитието на дефекти от този тип дни преди тяхното откритие от ремонтния екип.

InterSystems IRIS – универсална платформа за AI/ML изчисления в реално време

Платформата InterSystems IRIS опростява разработката, внедряването и експлоатацията на решения с данни в реално време. InterSystems IRIS може едновременно да извършва транзакционна и аналитична обработка на данни; да поддържа синхронизирани представяния на данни съобразно с няколко модела (включително релационен, йерархичен, обектен и документен); да действа като платформа за интеграция на широк спектър от източници на данни и отделни приложения; да осигурява напреднала аналитика в реално време на структурирани и неструктурирани данни. InterSystems IRIS също така предоставя механизми за прилагане на външни аналитични инструменти, позволяващи гъвкаво комбиниране на разполагане в облака и на локални сървъри.

Приложенията, изградени на платформата InterSystems IRIS, са внедрени в различни индустрии, помагайки на компаниите да постигнат значителни икономически ползи в стратегическа и оперативна перспектива, повишавайки осведомеността при вземането на решения и премахвайки "разликите" между събитието, анализа и действията.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 10 Архитектура InterSystems IRIS в контекста на AI/ML в реално време

Както и предишната диаграма, следващата диаграма съчетава нова "координатна система" (CD/CI/CT) със схемата на информационните потоци между работните елементи на платформата. Визуализацията започва с макромеханизма CD и продължава с макромеханизмите CI и CT.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 11 Схема на информационните потоци между AI/ML елементите на платформата InterSystems IRIS

Същността на механизма CD в InterSystems IRIS: потребителите на платформата (разработчици на AI/ML решения) адаптират вече съществуващите и/или създават нови AI/ML разработки с помощта на специализирания редактор за програмен код за AI/ML механизми: Jupyter (пълното наименование: Jupyter Notebook; също, за краткост, понякога се наричат и документи, създадени в този редактор). В Jupyter разработчикът има възможност да напише, отстрани грешки и да се увери в работоспособността (в т.ч. с използване на графика) на конкретна AI/ML разработка преди нейното разполагане („разгръщане“) в InterSystems IRIS. Ясно е, че създадената по този начин нова разработка ще получи само базова отстраняване на грешки (тъй като, в частност, Jupyter не работи с потоци от данни в реално време) – това е нормално, понеже основният резултат от разработката в Jupyter става потвърждението за принципната работоспособност на отделен AI/ML механизъм („показва очаквания резултат върху набор от данни“). По същия начин, вече разположеният в платформата механизъм (вж. следващите макромеханизми) преди отстраняване на грешките в Jupyter може да изисква „възстановяване“ до „доплатформен“ вид (четене на данни от файлове, работа с данни чрез xDBC вместо таблици, непосредствено взаимодействие с глобалите – многомерни масиви от данни в InterSystems IRIS – и т.н.).

Важно аспекта на имплементацията на CD именно в InterSystems IRIS: между платформата и Jupyter е реализирана двупосочна интеграция, позволяваща пренос на съдържание на езиците Python, R и Julia (всички три са езици за програмиране в съответните водещи open-source среди за математическо моделиране). По този начин, разработчиците на AI/ML съдържание имат възможност да извършват „непрекъснато разгръщане“ на това съдържание в платформата, работейки в им познат редактор Jupyter, с познатите библиотеки, достъпни в Python, R, Julia, и извършвайки базова отстраняване на грешки (при необходимост) извън платформата.

Преминаваме към макромеханизма CI в InterSystems IRIS. На диаграммата е представен макропроцесът на работа на „роботизатора в реално време“ (комплекс от структури от данни, бизнес процеси и оркестрирани от тях фрагменти от код на езиците матсред и ObjectScript – родния език на разработка на InterSystems IRIS). Задачата на този макропроцес е да поддържа необходимите за работа на AI/ML механизмите опашки от данни (въз основа на потоците от данни, предавани на платформата в реално време), да взема решения относно последователността на приложение и „асортимента“ от AI/ML механизми (те така наречените „математически алгоритми“, „модели“ и т.н. – могат да се наричат по различен начин в зависимост от конкретната реализация и терминологичните предпочитания), да поддържа актуални структури от данни за анализ на резултатите от работата на AI/ML механизмите (куби, таблици, многомерни масиви от данни и т.н. – за отчети, дашбордове и т.н.).

Важен аспект на имплементацията на CI именно в InterSystems IRIS: между платформата и средите за математическо моделиране е реализирана двупосочна интеграция, позволяваща изпълнение на съдържание, разположено в платформата, на езици Python, R и Julia в съответните им среди с получаване обратно на резултатите от изпълнението. Тази интеграция е реализирана както в „режим на терминала“ (т.е. AI/ML съдържанието се формулира като код на ObjectScript, който извършва извиквания на матсред), така и в „режим на бизнес процеси“ (т.е. AI/ML съдържанието се формулира като бизнес процес с помощта на графичен редактор, понякога с помощта на Jupyter, или с помощта на IDE – IRIS Studio, Eclipse, Visual Studio Code). Достъпността на бизнес процесите за редактиране в Jupyter е отразена чрез връзката между IRIS на ниво CI и Jupyter на ниво CD. По-подробен преглед на интеграцията със средите за математическо моделиране ще бъде направен по-нататък. На този етап, на наше мнение, има всички основания да се установи наличието в платформата на всички необходими инструменти за реализирането на „непрекъсната интеграция“ на AI/ML разработки (идващи от „непрекъснатото разгръщане“) в AI/ML решения в реално време.

И основният макромеханизъм: CT. Без него не може да се реализира AI/ML платформа (въпреки че 'в реално време' ще бъде реализирано чрез CD/CI). Същността на CT е работата на платформата с 'артефакти' на машинното обучение и изкуствения интелект директно в работните сесии на математическите модели: модели, таблици на разпределения, вектори-матрици, слоеве на невронни мрежи и т.н. Тази 'работа', в повечето случаи, се състои в създаването на споменатите артефакти в средите (в случая на моделите, например, 'създаването' се състои от задаване на спецификация на модела и последващо подбиране на стойностите на неговите параметри - така нареченото 'обучение' на модела), тяхното приложение (за моделите: изчисление с тяхна помощ на 'моделни' стойности на целевите променливи - прогнози, принадлежност към категория, вероятност за настъпване на събитие и т.н.) и усъвършенстването на вече съществуващите и приложени артефакти (например, преопределяне на набора от входни променливи на модела в зависимост от резултатите от приложението - с цел повишаване на точността на прогнозите, за вариант). Ключовият момент в разбирането на ролята на CT е неговата 'абстрактност' от реалностите на CD и CI: CT ще реализира всички артефакти, ориентирайки се към изчислителната и математическата специфика на AI/ML решение в рамките на възможностите, предоставяни от конкретните среди. Отговорността за 'осигуряване на входни данни' и 'доставяне на резултати' ще лежи на CD и CI.

Важно да се подчертае, че прилагането на CT в InterSystems IRIS: чрез вече споменатата интеграция с математически модели, платформата има възможност да извлича артефакти от работни сесии, управлявани от нея в математическите среди, и (най-важното) да ги превръща в обекти данни на платформата. Например, таблица за разпределение, която току-що е създадена в работна сесия на Python, може да бъде (без да спираме сесията в Python) прехвърлена в платформата под формата на глобал (многомерен масив от данни на InterSystems IRIS) и да се използва за изчисления в друг AI/ML механизъм (реализиран на друг език, например, R) или като виртуална таблица. Друг пример: в паралел с

Нека проучим по-подробно платформените AI/ML функции на InterSystems IRIS, чрез примера на реално съществуващ прототип.

На долната диаграма, в лявата част на слайда – част от бизнес процеса, имплементираща изпълнението на скриптове на Python и R. В централната част – визуални логове на изпълнението на част от тези скриптове, съответно на Python и на R. Веднага след тях – примери за съдържание на един и на друг език, предадени за изпълнение в съответните среди. В края вдясно – визуализации, базирани на резултатите от изпълнението на скриптовете. Визуализациите отгоре – създадени на IRIS Analytics (данните са прехвърлени от Python в платформата за данни InterSystems IRIS и изведени на таблото с инструменти на платформата), отдолу – създадени директно в работната сесия на R и изведени от там в графични файлове. Важен аспект: представеният фрагмент в прототипа отговаря за обучението на модела (класификация на състояния на оборудването) на данни, постъпващи в реално време от процеса-имитатор на оборудването, по команда от процеса-монитор на качеството на класификацията, наблюдавана по време на приложението на модела. За имплементацията на AI/ML-решението под формата на набор от взаимодействия между процеси („агенти“) ще се говори по-късно.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 12 Взаимодействие с Python, R и Julia в InterSystems IRIS

Платформените процеси (също „бизнес процеси“, „аналитични процеси“, „пайплайни“ и т.н. – в зависимост от контекста) са предимно редактирани в графичен редактор за бизнес процеси в самата платформа, така че едновременно се създават и блок-схемата, и съответният AI/ML механизъм (програмният код). Когато говорим за това, че „се получава AI/ML механизъм“, предимно подразбираме хибридност (в рамките на един процес): съдържанието на езиците на математическото моделиране съжителства със съдържанието на SQL (в т. ч., с разширения от IntegratedML), на InterSystems ObjectScript, с други поддържани езици. Освен това, платформеният процес предоставя много широки възможности за 'визуализация' под формата на йерархично вложени фрагменти (както е видно в примера на приведената по-долу диаграма), което позволява ефективна организация дори на много сложен съдържание, без никъде да 'излиза' от графичния формат (в 'неграфични' методи/класове/процедури и т.н.). Тоест, при необходимост (а тя се предвижда в повечето проекти) абсолютно всичко AI/ML-решение може да бъде имплементирано в графичен само-документиращ се формат. Обращаме внимание, че в централната част на по-долу приведената диаграма, на която е представен по-висок 'нивото на вложеност', се вижда, че освен самата работа по обучението на модела (с помощта на Python и R), се добавя анализ на така наречената ROC-крива на обучената модел, позволяващ визуално (и изчислително също) оценяване на качеството на обучението – и този анализ е реализиран на езика Julia (изпълнява се, съответно, в матсреда Julia).

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 13 Визуална среда за композиране на AI/ML-решения в InterSystems IRIS

Както вече беше споменато, началната разработка и (в някои случаи) адаптация на вече имплементираните AI/ML механизми в платформата ще/може да се извършва извън платформата в редактора Jupyter. На диаграмата по-долу виждаме пример за адаптация на съществуващ платформен процес (същия, който е на диаграмата по-горе) – така изглежда в Jupyter онзи негов фрагмент, който отговаря за обучението на модела. Съдържанието на Python език е достъпно за редактиране, отстраняване на грешки и извеждане на графика направо в Jupyter. Промените (при необходимост) могат да се извършват с мигновена синхронизация в платформения процес, включително в неговата продуктивна версия. По аналогичен начин може да се предава в платформата и ново съдържание (автоматично се формира нов платформен процес).

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 14 Приложение на Jupyter Notebook за редактиране на AI/ML механизъм в платформата InterSystems IRIS

Адаптация на платформения процес може да се извършва не само в графичен или ноутбучен формат – но и в „тотален“ формат IDE (Интегрирана среда за разработка). Такива IDE са IRIS Studio (нативно студио IRIS), Visual Studio Code (разширение InterSystems IRIS за VSCode) и Eclipse (плъгин Atelier). В редица случаи е възможно едновременното използване от екипа на разработчици на всички три IDE. На диаграмата по-долу е показан пример за редактиране на същия процес в студия IRIS, Visual Studio Code и Eclipse. За редактиране е налично абсолютно всичко: както Python/R/Julia/SQL, така и ObjectScript, и бизнес-процес.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 15 Разработка на бизнес процеса InterSystems IRIS в различни IDE

Отделно споменаване заслужават средствата за описание и изпълнение на бизнес процеси InterSystems IRIS на език Business Process Language (BPL). BPL дава възможност за използване в бизнес процесите на „готови интеграционни компоненти“ (activities) – което, всъщност, дава пълни основания да се твърди, че в InterSystems IRIS е реализирана „непрекъсната интеграция“. Готовите компоненти на бизнес процеса (активности и връзки между тях) са мощен акселератор за изграждане на AI/ML решения. И не само за изграждане: благодарение на активностите и връзките между тях, над разрознените AI/ML разработки и механизми възниква „автономен управленски слой“, способен да взема решения в съответствие със ситуацията в реално време.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 16 Готови компоненти на бизнес процеси за непрекъсната интеграция (CI) на платформата InterSystems IRIS

Концепцията за агентни системи (т.н. „мултиагентни системи“) има силни позиции в роботизацията, и платформата InterSystems IRIS органично я поддържа чрез конструкта „продукт-процес“. Освен неограничените възможности за „начинка“ на всеки процес с необходимия за общото решение функционал, наделянето на системата на платформен процес с качеството на „агентност“ позволява създаването на ефективни решения за крайно нестабилни моделирани явления (поведение на социални/биосистеми, частично наблюдавани технологични процеси и т.н.).

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 16 Работа на AI/ML решение под формата на агентна система на бизнес процеси в InterSystems IRIS

Продължаваме нашия преглед на InterSystems IRIS с разказ за приложното използване на платформата за решаване на цели класове задачи в реално време (доста подробно запознаване с някои от най-добрите практики на платформения AI/ML на InterSystems IRIS се състои в едно от нашите предишни уебинари).

По „горещите следи“ на предишната диаграма, по-долу е представена по-подробна диаграма на агентната система. На диаграмата е изобразен същият прототип, видими са всичките четири процеса-агенти, схемно са представени взаимоотношенията между тях: GENERATOR – обработва създаването на данни от сензорите на оборудването, BUFFER – управлява опашките на данните, ANALYZER – изпълнява самото машинно обучение, MONITOR – контролира качеството на машинното обучение и подава сигнал за необходимост от повторно обучение на модела.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 17 Композиция на AI/ML-решение под формата на агентна система от бизнес-процеси в InterSystems IRIS

На диаграмата по-долу е илюстрирано автономното функциониране на вече друг роботизиран прототип (разпознаване на емоционалната окраска на текстовете) през определен период от време. В горната част – еволюцията на показателя за качество на обучението на модела (качеството нараства), в долната част – динамиката на показателя за качество на приложението на модела и фактите за повторно обучение (червените ленти). Както може да се види, решението е ефективно и автономно самообучаващо се и работи на зададеното ниво на качество (стойностите на показателя за качество не падат под 80%).

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 18 Непрекъснато (само)обучение (CT) на платформата InterSystems IRIS

За «авто-ML» споменахме и по-рано, но на долната диаграма приложението на тази функционалност е показано в детайли чрез още един прототип. На графичната схема на фрагмента от бизнес процеса е показана активността, която стартира моделирането в стека H2O, показани са резултатите от това моделиране (ясно доминиране на получената модел спрямо «рукотворните» модели, съгласно сравнителната диаграма на ROC кривите, както и автоматизираното откритие на «най-влиятелните променливи» от наличните в изходния набор данни). Важно тук е спестяването на време и експертни ресурси, което се постига чрез «авто-ML»: това, което нашият платформен процес прави за половин минута (намиране и обучение на оптималния модел), може да отнеме на експерта от седмица до месец.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 19 Интеграция «авто-ML» в AI/ML-решение на платформата InterSystems IRIS

Диаграмата по-долу малко «сбива кулминацията», но това е добър начин за завършване на разказа за класовете решаеми задачи в реално време: припомняме, че при всички възможности на платформата InterSystems IRIS, обучението на модели именно под нейно управление не е задължително. Платформата може да получи извън така наречената PMML спецификация на модел, обучен в инструмент, който не е под управлението на платформата – и да приложи този модел в реално време от момента на импорта му. PMML-спецификации. Важно е да се има предвид, че далеко не всички AI/ML артефакти могат да бъдат сведени до PMML спецификация, дори ако повечето от най-разпространените артефакти позволяват това да се направи. Така платформата InterSystems IRIS има «отворен контур» и не означава «платформено робство» за потребителите.

InterSystems IRIS – универсална AI/ML платформа в реално време
Рисунок 20 Интеграция «авто-ML» в AI/ML-решение на платформата InterSystems IRIS

Перечислим допълнителни платформени предимства на InterSystems IRIS (за нагледност, приложимо към управлението на технологични процеси), които имат голямо значение при автоматизацията на изкуствения интелект и машинно обучение в реално време:

  • Развити средства за интеграция с всякакви източници и потребители на данни (АСУТП/SCADA, оборудване, ТОиР, ERP и т.н.)
  • Вградена мултимоделна СУБД за високопроизводителна транзакционно-аналитична обработка (Hybrid Transaction/Analytical Processing, HTAP) на всякакви обеми данни от технологични процеси
  • Инструменти за разработка за непрекъснато разгръщане на AI/ML механизми за решения в реално време, базирани на Python, R, Julia
  • Адаптивни бизнес процеси за непрекъсната интеграция и (само)обучение на механизмите на AI/ML решения в реално време
  • Вградени инструменти Business Intelligence за визуализация на данни от технологични процеси и резултати от работата на AI/ML решения
  • Управление на API за доставка на резултатите от работата на AI/ML решения в АСУТП/SCADA, информационно-аналитични системи, изпращане на уведомления и др.

AI/ML решенията на платформата InterSystems IRIS лесно се вписват в съществуващата ИТ инфраструктура. Платформата InterSystems IRIS осигурява висока надеждност на AI/ML решенията чрез поддръжка на отказоустойчиви и катастрофоустойчиви конфигурации, както и гъвкаво разгръщане в виртуални среди, на физически сървъри, в частни и публични облаци, Docker контейнери.

Така InterSystems IRIS представлява универсална платформа за AI/ML изчисления в реално време. Универсалността на нашата платформа е доказана на практика с отсъствието на де-факто ограничения по сложност на имплементираните изчисления, способността на InterSystems IRIS да комбинира (в реално време) обработката на сценарии от най-различни индустрии и изключителната адаптивност на всякакви функции и механизми на платформата, съобразно специфичните нужди на потребителите.

InterSystems IRIS – универсална AI/ML платформа в реално време
Фигура 21 InterSystems IRIS — универсална платформа за AI/ML изчисления в реално време

За по-конкретно взаимодействие с читателите, които се интересуват от представения тук материал, ви препоръчваме да не се ограничавате само до прочитането му и да продължите диалога «на живо». С радост ще окажем подкрепа за формулиране на сценарии за AI/ML в реално време, приложими спрямо спецификата на вашата компания, ще извършим съвместно прототипиране на платформата InterSystems IRIS, ще създадем и реализираме на практика пътна карта за внедряване на изкуствен интелект и машинно обучение във вашите производствени и управленски процеси. Контактният имейл на нашата експертна група AI/ML – MLToolkit@intersystems.com.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster