MLOps: Автоматизация машинного обучения с помощью DevOps

Что такое MLOps и почему это важнее, чем когда-либо?

При создании корпоративной стратегии искусственного интеллекта, способной вести бизнес через экономические взлеты и падения, очень важно иметь системы для мониторинга моделей в производстве и иметь возможность быстро внедрять, тестировать, обучать и внедрять новые модели для изменения стратегий. или адаптироваться к изменяющимся условиям в мгновение ока. Введите: MLOps. Существующего опыта DevOps и DataOps недостаточно, поскольку фундаментальные проблемы, связанные с управлением моделями машинного обучения в производственной среде, другие. Именно здесь на помощь приходит MLOps — стандартизация и оптимизация управления жизненным циклом машинного обучения.

Давайте рассмотрим пример, выполнив простую задачу:-

Описание задачи: –

Обнаружение опухоли головного мозга:

В этой задаче я обучил модель для обнаружения опухоли головного мозгадля CNN, для практики я взял размер пакета 4 в моем рабочем файле .py и 8 в моем настроить файл .py.



Обнаружение рака легких:

Для sklearn я обучил модель для обнаружения рака легких, которая показывает вероятность рака на основе заданных данных.



Приступим :-

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

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

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

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

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

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

7. Job4: если точность метрик меньше 80%, то необходимо настроить архитектуру модели машинного обучения.

8. Job5: переобучить модель или уведомить, что создается лучшая модель

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

Создание Dockerfile для среды sklearn и среды CNN, поэтому, когда мы запускаем этот образ, он должен автоматически запускать обучение модели в контейнере: -



Job1 : автоматически извлекать репозиторий Github, когда некоторые разработчики отправляют репозиторий на Github.

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

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

Задание 4. Если точность метрик меньше 80 %, внесите изменения в архитектуру модели машинного обучения.

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

Задание 6 (для мониторинга): если контейнер, в котором запущено приложение. происходит сбой по какой-либо причине, то это задание должно автоматически снова запускать контейнер с того места, где осталась последняя обученная модель.

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

СПАСИБО ЗА ЧТЕНИЕ!