Установка сервиса машинного обучения
Сервис машинного обучения предназначен для прогнозирования значений на основании больших объемов исторических данных и текущих фактов. Подробнее >>>
Важно
Для настройки сервиса машинного обучения необходимы базовые знания администрирования Docker, Linux или Windows.
Содержание
•Подготовка к установке сервиса машинного обучения
•Установка сервиса машинного обучения
•Обновление компонентов сервиса машинного обучения
•Рекомендуемые работы по обслуживанию сервиса
Подготовка к установке сервиса машинного обучения
Для настройки сервиса необходим сервер (физический или виртуальный компьютер) с установленной ОС Linux или Windows. Установка компонентов сервиса выполняется с помощью ПО Docker. Для этого скачайте архив с конфигурационными файлами и скриптами установки. Скачать архив
Важно
Для промышленной среды следует использовать сервер с ОС Linux. Сервер на базе Windows можно использовать только для среды разработки. Для получения Docker-контейнеров, предназначенных для Windows, обратитесь в службу поддержки.
На заметку
В зависимости от потребностей вашей компании можно использовать Docker Community Edition (CE) или Enterprise Edition (EE). Подробную информацию вы найдете в документации Docker.
Рекомендуемые системные требования к серверу
Процессор | 64-битный процессор, минимум 4 ядра. |
ОЗУ (RAM) | 8 ГБ и выше. |
НЖМД (HDD) | 20 ГБ и выше свободного места на жестком диске. |
ОС | Дистрибутив Linux, в котором поддерживается Docker. Поддерживаемые семейства Linux вы найдете в документации Docker. Рекомендуются стабильные (stable) версии Ubuntu или Debian. 64-битные версии Windows 10, WIndows Server 2016 с поддержкой технологии Hyper-V. |
Docker | v.18.03.1 и выше. |
Компоненты сервиса машинного обучения
Сервис машинного обучения использует следующие компоненты (Рис. 1):
•ML Service — web-сервис машинного обучения. Единственный компонент, доступный извне.
•Python Engine — движок машинного обучения, представляющий собой сервисную оболочку библиотек машинного обучения с открытым исходным кодом.
•ML Task Scheduler — планировщик задач.
•MySQL— база данных MySQL. Доступна по стандартному порту 3306.
Для удобства установки сервиса on-site все компоненты упакованы в Docker-образы.
Установка сервиса машинного обучения
Последовательность действий для установки сервиса машинного обучения:
1.Установить Docker. Подробнее >>>
2.Установить Docker Compose. Подробнее >>>
3.Установить и настроить компоненты сервиса. Подробнее >>>
4.Выполнить проверку установки. Подробнее >>>
Для установки Docker на операционную систему Linux воспользуйтесь инструкцией в документации Docker.
Для проверки установленной версии Docker выполните команду docker --version в терминале (консоли) Linux-машины.
Для установки Docker Compose на операционную систему Linux воспользуйтесь инструкцией в документации Docker.
Для проверки установленной версии Docker Compose выполните команду docker-compose --version в терминале (консоли) Linux-машины.
Настройка компонентов сервиса машинного обучения
Все контейнеры компонентов сервиса машинного обучения развертываются с помощью утилиты Docker Compose. Для этого скачайте конфигурационные файлы и скрипты, необходимые для развертывания и настройки компонентов сервиса. Скачать архив
На заметку
Конфигурационные файлы содержат все необходимые настройки по умолчанию для сервера на базе Linux.
Структура архива с конфигурационными файлами и скриптами:
/etc/
.../ml-service/appsettings.json — конфигурация web-сервиса.
.../ml-service/log4net.config — настройка уровня логирования web-сервиса.
.../task-scheduler/appsettings.json — конфигурация утилиты ML task scheduler.
.../task-scheduler/log4net.config — настройка уровня логирования ML Task Scheduler.
docker-compose.yml — конфигурация утилиты Docker Compose.
.env — файл с переменными окружения для запуска компонентов. Например, содержит пароль для MySql.
Важно
Если необходимо изменить пароль к базе данных MySql, то его нужно обновить не только в файле .env, но и в других конфигурационных файлах, содержащих секции настройки доступа к базе данных.
Установка компонентов сервиса машинного обучения
1.Скачайте и разархивируйте содержимое архива с конфигурационными файлами и скриптами в произвольный каталог, например, /opt/ml.
2.Используя терминал Linux, перейдите в каталог docker-compose распакованного архива, например, /opt/ml/docker-compose.
3.Выполните команду sudo docker-compose pull в терминале. Дождитесь завершения загрузки необходимых образов с компонентами сервиса с Docker Hub.
Важно
Если на сервере запрещен доступ в интернет, скачайте на машине с открытым доступом все необходимые образы вручную (см.конфигурационный файл docker-compose.yml). Затем воспользуйтесь командами sudo docker export и sudo docker import для переноса образов в виде файлов на целевую машину.
4.Выполните команду sudo docker-compose run dbmigration для инициализации структуры базы данных. Дождитесь завершения выполнения команды.
5.Выполните команду sudo docker-compose up -d для запуска сервисов. Также в текущем каталоге будет создана папка logs.
Проверка установки компонентов сервиса машинного обучения
1.Для проверки установки веб-сервиса ML service выполните в терминале Linux команду:
curl -X GET localhost:5005/readiness
Сервис должен вернуть ответ:
Healthy
2.Для проверки запуска планировщика ML Task Scheduler выполните в терминале Linux команду:
curl -X GET localhost:5004/readiness
Сервис должен вернуть ответ:
Healthy
3.Для проверки запуска R Engine выполните в терминале Linux команду:
curl -X GET localhost:8081/readiness
Сервис должен вернуть ответ:
R Service is ready
4.Для проверки создания таблиц выполните в терминале команду:
docker exec -it [DB Container Id] mysql -u root --password=Supervisor ml -e "show tables;"
Где [DB Container Id] — идентификатор контейнера с компонентом базы данных. Узнать идентификатор контейнера можно с помощью команды sudo docker ps.
Пример
Проверка создания таблиц:
docker exec -it 7с9de07b53e8 mysql -u root --password=Supervisor ml -e "show tables;
В результате должны отобразиться названия основных таблиц сервиса: “modelinstance”, “traindata”, “trainsession” и т. д.
Обновление компонентов сервиса машинного обучения
Важно
Перед обновлением сервисов рекомендуется сохранить резервную копию базы данных MySQL. Подробную информацию вы найдете в документации MySQ.
1.Используя терминал Linux, перейдите в каталог docker-compose с настроечными файлами, например, /opt/ml/docker-compose.
2.Выполните команду sudo docker-compose stop для остановки контейнеров компонентов сервиса.
3.Выполните команду sudo docker-compose pull в терминале. Дождитесь завершения загрузки необходимых образов с компонентами сервиса с Docker Hub.
4.Выполните команду sudo docker-compose run dbmigration для инициализации структуры базы данных. Дождитесь завершения выполнения команды.
5.Выполните команду sudo docker-compose up -d для запуска сервисов.
Важно
Если у вас в приложении уже есть настроенные и обученные модели, после обновления сервиса рекомендуем их переобучить.
Рекомендуемые работы по обслуживанию сервиса
Для поддержания работоспособности сервиса и возможности быстрого восстановления данных, например, в случае перебоев с электроэнергией, рекомендуется раз в сутки выполнять резервное копирование базы данных MySQL.
Смотрите также
•Сервис машинного обучения (документация по разработке)