Сервис машинного обучения (сервис прогнозирования значений справочного поля) использует методы статистического анализа для создания модели прогнозирования на основании набора исторических данных.
Схема работы
Сервис машинного обучения состоит из следующих компонентов:
- ML Service — веб-сервис машинного обучения. Единственный компонент, доступный извне.
- Python Engine — движок машинного обучения, представляющий собой сервисную оболочку библиотек машинного обучения с открытым исходным кодом.
- ML Task Scheduler — планировщик задач.
- MySQL — база данных MySQL.
В процессе работы сервиса создается модель прогнозирования — алгоритм, который строит прогнозы и позволяет автоматически принимать полезное решение на основе исторических данных.
Существует два основных этапа работы сервиса для каждой модели:
- обучение;
- прогнозирование.
Обучение
На этапе обучения выполняется "тренировка" ML модели на сервисе.
Основные шаги обучения:
- Установление сессии передачи данных и обучения.
- Последовательная выборка порции данных для модели и их загрузка в сервис.
- Запрос на постановку в очередь для обучения.
- ML Task Scheduler обрабатывает очередь.
- Python Engine выполняет обучение модели и запись параметров в БД.
- Creatio периодически опрашивает сервис для получения статуса модели.
- Как только для статуса модели установлено значение 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, обратитесь в службу поддержки.
Установка сервиса машинного обучения описана в статье Сервис машинного обучения.