Сервис машинного обучения

Основы

Сервис машинного обучения (сервис прогнозирования значений справочного поля) использует методы статистического анализа для создания модели прогнозирования на основании набора исторических данных. 

Схема работы 

Сервис машинного обучения состоит из следующих компонентов:

  • ML Service — веб-сервис машинного обучения. Единственный компонент, доступный извне.
  • Python Engine — движок машинного обучения, представляющий собой сервисную оболочку библиотек машинного обучения с открытым исходным кодом.
  • ML Task Scheduler — планировщик задач.
  • MySQL — база данных MySQL.
Схема работы сервиса машинного обучения
scr_machine_learning_ml_components.png

В процессе работы сервиса создается модель прогнозирования — алгоритм, который строит прогнозы и позволяет автоматически принимать полезное решение на основе исторических данных.

Существует два основных этапа работы сервиса для каждой модели:

  • обучение;
  • прогнозирование.

Обучение 

На этапе обучения выполняется "тренировка" ML модели на сервисе.

Основные шаги обучения:

  1. Установление сессии передачи данных и обучения.
  2. Последовательная выборка порции данных для модели и их загрузка в сервис.
  3. Запрос на постановку в очередь для обучения.
  4. ML Task Scheduler обрабатывает очередь.
  5. Python Engine выполняет обучение модели и запись параметров в БД.
  6. Creatio периодически опрашивает сервис для получения статуса модели.
  7. Как только для статуса модели установлено значение Done — модель готова для прогнозирования.

Прогнозирование 

Задача прогнозирования выполняется через вызов облачного сервиса с указанием Id экземпляра модели и данных для прогноза.

Результат работы сервиса — набор значений с вероятностями, который сохраняется в Creatio в таблице [MLPrediction].

Если существует прогноз в таблице [MLPrediction] по определенной записи сущности, то на странице записи автоматически отображаются спрогнозированные значения для поля.

Масштабируемость 

Масштабирование сервиса машинного обучения выполняется за счет использования Docker и Kubernetes.

Совместимость с продуктами Creatio 

Сервис машинного обучения для on-site приложений Creatio совместим со всеми продуктами Creatio версий 7.10 и выше.

Сервис машинного обучения для cloud приложений совместим со всеми продуктами Creatio версий 7.13.3 и выше.

Для настройки сервиса в более ранних версиях Creatio необходимо использовать docker-образ соответствующей версии с Docker Hub.

Варианты развертывания 

Для использования функциональности предиктивного анализа данных в Creatio on-site необходимо выполнить предварительную настройку.

Для настройки сервиса необходим сервер (физический или виртуальный компьютер) с установленной ОС Linux или Windows. Установка компонентов сервиса выполняется с помощью Docker. 

Для промышленной среды следует использовать сервер с ОС Linux. Сервер на базе Windows можно использовать только для среды разработки.

Для получения Docker-контейнеров, предназначенных для Windows, обратитесь в службу поддержки.

Установка сервиса машинного обучения описана в статье Сервис машинного обучения.