Машинное обучение:

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

  1. Извлечение данных. Интеграция данных из различных источников данных.
  2. Анализ данных. Выполнение исследовательского анализа данных для понимания данных.
  3. Подготовка данных: очистка и предварительная обработка данных, а затем разделение данных на обучающие тестовые и проверочные наборы.
  4. Обучение модели. Внедрение различных алгоритмов машинного обучения и настройка гиперпараметров для лучшего обучения модели.
  5. Оценка модели. Оценка модели для проверки ее работы по результатам тестирования.
  6. Проверка модели: подготовка модели к развертыванию, если прогнозируемая производительность выше определенного порога.
  7. Обслуживание моделей: развертывание проверенной модели в целевой среде для обслуживания прогнозов.
  8. Мониторинг модели: мониторинг производительности модели для запуска новой итерации в процессе машинного обучения.

После развертывания модели машинного обучения работа инженера машинного обучения и специалиста по обработке данных не заканчивается, потому что данные меняются со временем, и если модель не учится на новых данных, производительность модели снижается. Здесь в игру вступает MLOPS.

CICD:
CICD означает непрерывную интеграцию и непрерывную доставку. CI, как следует из названия, автоматизирует интеграцию кода от нескольких участников в один репозиторий, а CD автоматизирует развертывание кода в рабочей среде.

Что такое Млопс?

Операции машинного обучения или MLOPS — это набор инструментов и методов, которые помогают организациям надежно и эффективно развертывать и поддерживать модели машинного обучения в рабочей среде. Инструменты MLOPS позволяют разработчикам обучать, тестировать, устранять неполадки, развертывать и отслеживать модели машинного обучения в любом масштабе. MLOPS — это пересечение Data Engineering, DevOps и машинного обучения.

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

  1. Ручная обработка.
    Это типичный процесс обработки данных и машинного обучения, когда инженеры по обработке данных и машинному обучению создают состояние моделей. Это нулевой уровень автоматизации, так как каждый шаг в конвейере выполняется вручную.
  2. Автоматизация конвейера машинного обучения.
    Этот уровень также называется уровнем 1 автоматизации. На этом уровне выполнение машинного обучения выполняется автоматически. Всякий раз, когда доступны новые данные, запускается переобучение модели, и модель переобучается, после чего модель автоматически оценивается и проверяется.
  3. Автоматизация конвейера CICD:
    Это уровень автоматизации 2. Здесь все делается автоматически, т. е. сборка, тестирование, развертывание данных, модель ML и обучающие компоненты конвейера ML.

Инструменты MLOPS делятся на шесть категорий в зависимости от решаемых ими задач.

  1. Метаданные модели и управление хранилищем.
    Метаданные модели включают параметры обучения, метрики оценки и т. д. а для их управления мы можем использовать Нептун, MLflow и Комету.
  2. Управление версиями данных и конвейера.
    Управление версиями данных — это поддержка различных версий данных. Для этого используются следующие инструменты: Контроль версии данных (DVC), Толстокожий.
  3. Настройка гиперпараметров:
    Для оптимизации гиперпараметров мы можем использовать такие инструменты, как Оптуна, Сигопт.
  4. Запуск конвейеров оркестрации и рабочих процессов:
    Для создания, обучения и мониторинга крупномасштабных приложений глубокого обучения мы можем использовать KuberFlow Pipelines, Polyaxon, Airflow, Kedro. .
  5. Развертывание и обслуживание модели:
    Для развертывания нашей модели мы можем использовать BentoML, Cortex, Seldon.
  6. Производство и мониторинг:
    Для производства и мониторинга мы можем использовать Amazon SageMaker, Fiddler, HydroSphere, Evidently.

Ссылки: