ОБУЧЕНИЕ НА МАШИНЕ + РАЗРАБОТКА + ОПЕРАЦИИ

ЧТО ТАКОЕ MLOPS?

Технологии и методы машинного обучения (MLOps) предоставляют масштабируемые и управляемые средства для развертывания и управления моделями машинного обучения в производственных средах.

MLOps предоставляет критически важные возможности для машинного обучения в производственной среде, в том числе:

1. Упрощенное развертывание модели. Специалисты по обработке данных используют множество языков моделирования, фреймворков и инструментов. С помощью MLOps группы ИТ-операций могут быстро развертывать модели на различных языках и платформах в производственных средах.

2. Мониторинг машинного обучения. Инструменты для мониторинга программного обеспечения не подходят для машинного обучения. MLOps предоставляет мониторинг, предназначенный для машинного обучения. Ключевые возможности включают обнаружение дрейфа данных для важных функций и метрик для конкретной модели.

3. Управление жизненным циклом производства. Первоначальное развертывание модели - это начало длительного жизненного цикла обновлений для поддержания работоспособности модели машинного обучения. MLOps предоставляет средства для тестирования и обновления моделей в производственной среде без прерывания обслуживания бизнес-приложений.

4. Управление производственной моделью. Модели машинного обучения, используемые в производственных приложениях, необходимо будет строго контролировать, чтобы предотвратить нежелательные изменения и соблюдать нормативные требования. MLOps обеспечивает контроль доступа, отслеживаемость и журналы аудита для минимизации рисков и обеспечения соответствия нормативным требованиям.

ПОЧЕМУ ВАЖНА MLOPS?

Чтобы наконец осознать ценность машинного обучения, модели машинного обучения должны работать в производственной среде и поддерживать усилия по принятию более эффективных решений или повышению эффективности бизнес-приложений. Операции машинного обучения предоставляют технологии и методы для развертывания, мониторинга и управления машинным обучением в производственной среде. MLOps требуется для масштабирования количества приложений, основанных на машинном обучении, в организации. MLOps также укрепляет доверие с помощью автоматизированных процессов, тестирования и проверки, которые создают повторяемый процесс управления машинным обучением в динамических средах. Это также позволяет специалистам по данным выполнять свою работу, давая возможность инженерам MLOps взять на себя ответственность за управление машинным обучением в производственной среде.

ОСНОВНО В ЭТОМ ПРОЕКТЕ МЫ НАСТРАИВАЕМ НАШИ ГИПЕР-ПАРАМЕТРЫ МОДЕЛИ CNN ДЛЯ ПОЛУЧЕНИЯ ЛУЧШЕЙ ТОЧНОСТИ.

ОПИСАНИЕ проекта: -

1. Создайте образ контейнера, в котором установлены Python3 и Keras или numpy, используя dockerfile.

2. Когда мы запускаем этот образ, он должен автоматически запускать обучение модели в контейнере.

3. Создайте цепочку заданий из job1, job2, job3, job4 и job5, используя плагин сборки конвейера в Jenkins.

4. Задание 1. Автоматическое извлечение репозитория Github, когда некоторые разработчики отправляют репозиторий на Github.

5. Задание 2. Посмотрев на код или файл программы, Дженкинс должен автоматически запустить соответствующее программное обеспечение для машинного обучения, установленный интерпретатор, установить контейнер образа, чтобы развернуть код и начать обучение (например, если код использует CNN, то Дженкинс должен запустить контейнер, который уже установил все программное обеспечение, необходимое для обработки cnn).

6. Задание 3: Обучите свою модель и спрогнозируйте точность или показатели.

7. Задание 4: если точность показателей меньше 99%, настройте архитектуру модели машинного обучения.

8. Задание 5. Переобучите модель или сообщите, что создается лучшая модель.

9. Создайте одно дополнительное задание job6 для монитора: если контейнер, в котором запущено приложение. сбой по какой-либо причине, тогда это задание должно автоматически запускать контейнер снова с того места, где оставалась последняя обученная модель.

ПРЕЖДЕ ВСЕГО!

Попробуйте нарисовать блок-схему всех заданий, которые мы должны выполнить в этой задаче, и с моей точки зрения это будет выглядеть так….

А теперь давайте сделаем это на настоящей земле !!

ШАГ 1: -Создание файла Docker в любом каталоге (в моем случае это / root / mdpr).

ПРИМЕЧАНИЕ. - В моем случае работают именно эти версии tenorflow и keras.

Теперь создайте образ, набрав следующую команду для вашего типа терминала →

$ docker build -t image_name:tag .       #Use of "." is necessary because it gives the path of Dockerfile otherwise you write the relative path yourself.

(В моем случае image_name имеет значение deepl: d1)

Подробнее о Dockerfile читайте в моем предыдущем блоге.

ШАГ 2: -Напишите команду в Dockerfile, которая автоматически начинает обучать модель, когда мы запускаем контейнер / ОС через этот образ. Это будет делать этот cmd, который уже записан в dockerfile →

CMD [“python3”,”/mdpc/code.py”]

# Обратите внимание, что / mdpc - это та папка, которая будет создана внутри контейнера во время запуска, а code.py - это тот код, который вы хотите запустить. Поэтому убедитесь, что во время запуска контейнера при создании тома докера, тогда должен быть указан правильный путь.

Если вы хотите вручную проверить свой код, введите →

$ docker run -it --name container_name -v /root/mdpr:/mdpc deepl:d1

(Здесь в моем случае / root / mdpr - это тот путь в rhel, по которому выходит весь наш код, а / mdpc - это то место внутри контейнера, куда мы хотим передать все коды)

ШАГ 3: - Запустите Jenkins и убедитесь, что плагины конвейера сборки уже установлены, и создайте новый элемент / задания для заданий как j1, j2, j3, j4, j5, j6.

ШАГ4 → Job1 (j1): -Загрузите код с github, когда разработчик отправит код на него.

ШАГ5 → ЗАДАНИЕ2 (J2): -Проверьте код, является ли это программой CNN, затем запустите ОС из этого образа, который мы создаем из Dockerfile.

ШАГ6 → ЗАДАНИЕ (J3): -Прогнозируйте нашу точность.

ШАГ7 → ЗАДАНИЕ 4 (J4): -Измените код, если точность показателей меньше 99%.

Перед использованием curl мы вносим некоторые изменения в настройки, в противном случае сталкиваемся с проблемой использования URL-адреса токена в заданиях, а затем выполняем следующие настройки: -

Перейдите в «Управление Jenkins» → «Настроить глобальную безопасность» →

«Авторизация» и выберите «Все могут делать все». Теперь сохраните и примените.

ШАГ8 → ЗАДАНИЕ 5 (J5): - Восстановите модель.

ШАГ9 → ЗАДАНИЕ 6 (J6): - Если контейнер останавливается по какой-либо причине, он обязательно перезапускает его.

СТРОИТЬ ТРУБОПРОВОД всех рабочих мест показано так: -

Чтобы получить код, пройдите по моей ссылке GITHUB.

Этот тип проектов, то есть автоматизация, очень востребован на рынке. У этого будет много вариантов использования на реальной земле. С помощью своего воображения вы можете свести к минимуму свою работу после написания некоторых команд, которые будут выполняться непрерывно до тех пор, пока вы не достигнете максимального результата или цели.

СПАСИБО !! (-: