Установка сервиса машинного обучения
Сервис машинного обучения предназначен для прогнозирования значений на основании больших объемов исторических данных и текущих фактов. Подробнее >>>
Важно
Для настройки сервиса машинного обучения необходимы базовые знания администрирования 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-сервис машинного обучения. Единственный компонент, доступный извне.
•R Engine — движок машинного обучения, представляющий собой сервисную оболочку библиотек машинного обучения с открытым исходным кодом.
•Redis — сервер хранения сессий и кэша. Подробнее >>>
•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-сервиса.
...\redis\redis.conf — файл настройки Redis сервера.
...\r-service\config.yml — конфигурация R Engine.
...\\\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
Сервис должен вернуть ответ:
ML Service is ready
2.Для проверки запуска планировщика ML Task Scheduler выполните в терминале Linux команду:
curl -X GET localhost:5004/readiness
Сервис должен вернуть ответ:
L Task Scheduler is ready
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. Подробную информацию вы найдете в документации MySQL
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 для запуска сервисов.
Смотрите также
•Сервис машинного обучения (документация по разработке)