Машинное обучение:
Машинное обучение — это область искусственного интеллекта, которая предоставляет машинам возможность автоматически учиться на данных и прошлом опыте, чтобы выявлять закономерности и делать прогнозы. Он имеет итеративный и инкрементный процесс. Этот процесс включает ряд шагов. Эти шаги:
- Извлечение данных. Интеграция данных из различных источников данных.
- Анализ данных. Выполнение исследовательского анализа данных для понимания данных.
- Подготовка данных: очистка и предварительная обработка данных, а затем разделение данных на обучающие тестовые и проверочные наборы.
- Обучение модели. Внедрение различных алгоритмов машинного обучения и настройка гиперпараметров для лучшего обучения модели.
- Оценка модели. Оценка модели для проверки ее работы по результатам тестирования.
- Проверка модели: подготовка модели к развертыванию, если прогнозируемая производительность выше определенного порога.
- Обслуживание моделей: развертывание проверенной модели в целевой среде для обслуживания прогнозов.
- Мониторинг модели: мониторинг производительности модели для запуска новой итерации в процессе машинного обучения.
После развертывания модели машинного обучения работа инженера машинного обучения и специалиста по обработке данных не заканчивается, потому что данные меняются со временем, и если модель не учится на новых данных, производительность модели снижается. Здесь в игру вступает MLOPS.
CICD:
CICD означает непрерывную интеграцию и непрерывную доставку. CI, как следует из названия, автоматизирует интеграцию кода от нескольких участников в один репозиторий, а CD автоматизирует развертывание кода в рабочей среде.
Что такое Млопс?
Операции машинного обучения или MLOPS — это набор инструментов и методов, которые помогают организациям надежно и эффективно развертывать и поддерживать модели машинного обучения в рабочей среде. Инструменты MLOPS позволяют разработчикам обучать, тестировать, устранять неполадки, развертывать и отслеживать модели машинного обучения в любом масштабе. MLOPS — это пересечение Data Engineering, DevOps и машинного обучения.
Вышеупомянутые шаги ML можно автоматизировать с помощью инструментов MLOPS. Уровень автоматизации этих шагов определяет, насколько зрелой является модель машинного обучения. Существует три уровня автоматизации, начиная с начального уровня, который включает ручное обучение и развертывание модели, и заканчивая автоматизацией конвейера ML и CI/CD.
- Ручная обработка.
Это типичный процесс обработки данных и машинного обучения, когда инженеры по обработке данных и машинному обучению создают состояние моделей. Это нулевой уровень автоматизации, так как каждый шаг в конвейере выполняется вручную. - Автоматизация конвейера машинного обучения.
Этот уровень также называется уровнем 1 автоматизации. На этом уровне выполнение машинного обучения выполняется автоматически. Всякий раз, когда доступны новые данные, запускается переобучение модели, и модель переобучается, после чего модель автоматически оценивается и проверяется. - Автоматизация конвейера CICD:
Это уровень автоматизации 2. Здесь все делается автоматически, т. е. сборка, тестирование, развертывание данных, модель ML и обучающие компоненты конвейера ML.
Инструменты MLOPS делятся на шесть категорий в зависимости от решаемых ими задач.
- Метаданные модели и управление хранилищем.
Метаданные модели включают параметры обучения, метрики оценки и т. д. а для их управления мы можем использовать Нептун, MLflow и Комету. - Управление версиями данных и конвейера.
Управление версиями данных — это поддержка различных версий данных. Для этого используются следующие инструменты: Контроль версии данных (DVC), Толстокожий. - Настройка гиперпараметров:
Для оптимизации гиперпараметров мы можем использовать такие инструменты, как Оптуна, Сигопт. - Запуск конвейеров оркестрации и рабочих процессов:
Для создания, обучения и мониторинга крупномасштабных приложений глубокого обучения мы можем использовать KuberFlow Pipelines, Polyaxon, Airflow, Kedro. . - Развертывание и обслуживание модели:
Для развертывания нашей модели мы можем использовать BentoML, Cortex, Seldon. - Производство и мониторинг:
Для производства и мониторинга мы можем использовать Amazon SageMaker, Fiddler, HydroSphere, Evidently.
Ссылки: