Сервис машинного
обучения
Сервис машинного обучения применяет статистические методы анализа, чтобы создать модель прогнозирования на основе собранного набора исторических данных.
Модель машинного обучения — это алгоритм, который анализирует набор данных, выявляет в нем закономерности и применяет обнаруженные зависимости в данных к новым объектам, которых не было в обучающей выборке.
Для каждой модели сервис имеет два ключевых этапа работы:
- Обучение:
- Выполняется обучение модели на основе доступных исторических данных;
- Алгоритм «учится» и адаптируется к имеющейся информации.
- Прогнозирование:
- После завершения обучения модель используется для создания прогнозов;
- Алгоритм применяет полученные знания для автоматического принятия полезных решений.
Перед прогнозированием модель обязательно должна быть обучена.
Принцип работы обучения
Во время обучения на сервисе происходит процесс «тренировки» модели.
Основные шаги обучения включают:
- Установка сеанса передачи данных — инициируется соединение для передачи данных в Сервис машинного обучения.
- Последовательная выборка порции данных для модели и их загрузка в сервис — данные выбираются и загружаются в сервис для использования в процессе обучения.
- Запрос на постановку в очередь для обучения — отправляется запрос на добавление модели в очередь для обучения.
- Обработка очереди MLTaskScheduler — планировщик задач Сервиса машинного обучения обрабатывает очередь запросов.
- Выполнение обучения модели и запись параметров в базу данных с помощью MLPythonTaskService и MLPythonPredictService — модель обучается и ее параметры сохраняются в базе данных с помощью компонентов MLPythonTaskService и MLPythonPredictService.
- Периодический опрос системы для получения статуса модели — BPMSoft регулярно проверяет статус обучения модели, обращаясь к сервису.
- Готовность модели для прогнозирования — когда статус модели изменяется на «Обучение завершено», она становится готовой для выполнения прогнозирования.
Принцип работы прогнозирования
Для выполнения задачи прогнозирования необходимо вызвать сервис, указав идентификатор экземпляра модели и данные, которые требуется прогнозировать.
Результат работы сервиса представляет собой набор значений с соответствующими вероятностями, который сохраняется в системе в таблице под названием «MLPrediction».
Если в таблице «MLPrediction» уже существует прогноз для конкретной записи в сущности, то спрогнозированные значения для соответствующего поля автоматически отображаются на странице этой записи.
Компоненты сервиса
Сервис состоит из нескольких компонентов:
Таблица 1 — Компоненты сервиса
| Компонент | Описание |
| MLService | Веб-сервис машинного обучения, который предоставляет API для взаимодействия с ML-сервисом |
| MLTaskScheduler | Планировщик задач, отвечающий за распределение и управление задачами, связанными с машинным обучением |
| MLDatabase | База данных MySQL, которая используется в сервисе машинного обучения |
| Облачный сервис проверки лимитов | Сервис, отвечающий за хранение, проверку и обновление лимитов на отправку запросов в MLService. Для обращения к сервису требуется доступ к сети Интернет |
| MLPythonTaskService | Инструмент машинного обучения, который представляет собой сервисную оболочку с открытым исходным кодом для библиотек машинного обучения |
| MLPythonPredictService | |
| LLMService | Компонент для генерации названий сегментов и их описаний. Подробнее: Развертывание LLM-компонента сервиса машинного обучения через Docker |
Рисунок 1 — Схема работы сервиса

Способы развертывания
Для реализации масштабирования сервиса машинного обучения применяются Docker и Kubernetes.
Развертывание может быть выполнено с использованием Docker compose на основе файла docker-compose.yaml, либо в Kubernetes при помощи helm-чарта, поставляемого в составе дистрибутива. Поддерживается развертывание сервиса для операционных систем на базе Linux: Ubuntu, Debian, CentOS, Astra Linux.
Рекомендуем изучить
Системные требования к сервису машинного обучения
Развертывание сервиса машинного обучения через Kubernetes
Развертывание сервиса машинного обучения через Docker
Развертывание LLM-компонента сервиса машинного обучения через Docker
Подключение к сервису машинного обучения
Калькулятор системных требований