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 передбачає використання, як мінімум, двох практик:

  • Безперервна інтеграція (CI)
  • Безперервна доставка (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 (Continuous Integration, безперервна інтеграція) більше не обмежується тестуванням і валідацією коду компонентів, що розгортаються – до неї також відноситься тестування та валідація даних та AI/ML-моделей.
  • CD (Continuous Delivery/Deployment, безперервне розгортання) не зводиться до написання та релізів пакетів чи сервісів, а має на увазі платформу для композиції, навчання та застосування AI/ML-рішень.
  • CT (Continuous Training, безперервне навчання) – новий елемент [прим. автора статті: новий елемент стосовно традиційної концепції DevOps, в якій CT це, як правило, Continuous Testing], властивий 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 – імплементуючи в процесі-аналізаторі у складі нашого рішення не класичний supervised learning, а скоріше навчання з підкріпленням (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 та СТ.

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) - або віртуальної таблиці. Інший приклад: у паралель зі «штатним режимом» роботи моделі (в робочій сесії Python), на її вхідних даних здійснюється «авто-ML»: автоматичний підбір оптимальних вхідних змінних та значень параметрів. І разом зі «штатним» навчанням, продуктивна модель в режимі реального часу отримує ще й «пропозицію щодо оптимізації» своєї специфікації – в якій змінюється набір вхідних змінних, змінюються значення параметрів (вже не в результаті навчання в Python, а в результаті навчання «альтернативної» » версії її самої, наприклад, в стеку H2O), дозволяючи загальному AI/ML-рішенню автономно справлятися з непередбаченими змінами в характері вхідних даних і явищ, що моделюються.

Більш детально познайомимося з платформним 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 (Integrated Development Environment). Такими 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 – [захищено електронною поштою].

Джерело: habr.com

Додати коментар або відгук