На предыдущую страницу

MLOps

Что такое MLOps

MLOps (Machine Learning Operations) — это набор инженерных практик для управления жизненным циклом моделей машинного обучения: от подготовки данных и экспериментов до развертывания модели, мониторинга ее работы и переобучения.

MLOps помогает превратить ML-модель из эксперимента в стабильный сервис, которым можно управлять в production-среде. Подход объединяет задачи Data Science, ML Engineering и эксплуатации инфраструктуры и во многом развивает идеи DevOps применительно к машинному обучению.

Расшифровка MLOps образована от Machine Learning и Operations. Также можно встретить написание ML Ops.

Коротко
MLOps выстраивает управляемый процесс вокруг ML-модели: обучение → проверка → развертывание → мониторинг → обновление.

Зачем нужен MLOps

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

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

MLOps позволяет организовать этот процесс системно:

  • хранить версии кода, данных и моделей;
  • автоматически запускать ML-пайплайны;
  • тестировать модели перед развертыванием;
  • переносить новые версии в production;
  • контролировать качество и производительность;
  • обнаруживать изменения входных данных;
  • запускать переобучение моделей.

В итоге ML-разработка становится более воспроизводимой, а эксплуатация моделей — предсказуемой.

Как работает MLOps

Жизненный цикл MLOps включает несколько связанных этапов. Конкретная реализация зависит от проекта, но общая логика остается похожей.

1

Подготовка данных

Данные собирают из источников, очищают, проверяют качество и преобразуют в формат, подходящий для обучения.

2

Эксперименты и обучение

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

3

Валидация модели

Перед развертыванием проверяют качество модели и сравнивают ее с предыдущими версиями.

4

Регистрация модели

Подготовленную модель сохраняют в Model Registry вместе с информацией о версии, параметрах и результатах тестирования.

5

Развертывание

Модель переносится в production и становится доступной приложениям или пользователям, например через API.

6

Мониторинг

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

7

Переобучение

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

Жизненный цикл MLOps
Данные → Обучение → Проверка → Развертывание → Мониторинг → Переобучение

Уровни зрелости MLOps

Google выделяет три уровня зрелости MLOps, которые различаются степенью автоматизации процессов.

LEVEL 0

Ручной процесс

Подготовка данных, обучение, проверка и передача модели в production в основном выполняются вручную.

LEVEL 1

Автоматизация ML-пайплайна

Обучение и валидация объединяются в автоматизированный pipeline, появляется Continuous Training — регулярное переобучение модели.

LEVEL 2

Автоматизация CI/CD

Автоматизируется не только обучение модели, но и тестирование, сборка и развертывание компонентов ML-пайплайна.

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

DevOps и MLOps: в чем разница

MLOps появился под влиянием DevOps, но задачи этих подходов различаются.

DevOps MLOps
Работает прежде всего с кодом и приложениями Работает с кодом, данными и ML-моделями
Автоматизирует сборку, тестирование и развертывание ПО Автоматизирует также обучение и проверку моделей
Контролирует версии кода и конфигураций Дополнительно контролирует версии данных и моделей
Следит за доступностью и производительностью приложения Следит также за качеством прогнозов и изменениями данных
Использует CI/CD Использует CI/CD и процессы непрерывного обучения

Главное отличие заключается в том, что поведение обычного приложения определяется прежде всего кодом. Работа ML-модели зависит еще и от данных, на которых она обучалась и которые получает после запуска.

Поэтому в MLOps необходимо управлять сразу несколькими изменяющимися компонентами.

Основные компоненты MLOps

Версионирование

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

ML-пайплайны

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

Model Registry

Хранилище, в котором сохраняются версии ML-моделей и связанные с ними метаданные: параметры, метрики качества и статус модели.

CI/CD и Continuous Training

Практики непрерывной интеграции и доставки дополняются Continuous Training (CT) — автоматическим переобучением модели при появлении новых данных, снижении качества или наступлении заданного события.

Model Serving

Отвечает за предоставление доступа к готовой модели после развертывания. Например, модель может работать как сервис, принимающий запрос через API и возвращающий результат инференса.

Мониторинг ML-моделей

После запуска контролируют не только CPU, GPU, память и задержку ответа, но и качество модели, а также изменения входных данных.

Характеристики входных данных могут меняться со временем. Такое явление называют data drift. Если изменения влияют на качество прогнозов, модель может потребовать повторного обучения.

Инструменты MLOps

MLOps — это не отдельная программа или конкретная платформа. Для построения процесса используются разные инструменты в зависимости от задачи.

Инструмент Для чего используется
MLflow Управление экспериментами и моделями
DVC Версионирование данных
Kubeflow Построение ML-пайплайнов
Apache Airflow Оркестрация процессов
Feast Организация Feature Store
Docker Упаковка моделей и зависимостей в контейнеры
Kubernetes Развертывание и масштабирование ML-сервисов
Prometheus и Grafana Мониторинг инфраструктуры

На практике MLOps-платформа может объединять несколько таких компонентов в единую среду.

Кто такой MLOps-инженер

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

В его задачи могут входить настройка ML-пайплайнов, автоматизация развертывания, управление версиями, мониторинг моделей и инфраструктуры, интеграция Kubernetes и систем CI/CD.

Работа находится на стыке машинного обучения, разработки и DevOps. Поэтому MLOps engineer обычно должен понимать как особенности ML-моделей, так и принципы эксплуатации IT-инфраструктуры.

Когда компании нужен MLOps

Полноценный MLOps имеет смысл не во всех ML-проектах.

Если команда проводит единичный эксперимент или создает Proof of Concept, сложная платформа автоматизации может оказаться избыточной.

MLOps становится особенно полезен, когда:

  • модели работают в production;
  • моделей становится много;
  • их требуется регулярно обновлять;
  • над ML-проектами работает несколько команд;
  • необходима воспроизводимость экспериментов;
  • модели нужно быстро развертывать и масштабировать;
  • важно контролировать изменение качества моделей после запуска.

Какая инфраструктура нужна для MLOps

Конкретная архитектура зависит от моделей, объемов данных и характера нагрузки.

Для MLOps-среды могут потребоваться вычислительные серверы, CPU и GPU, объектное хранилище, Kubernetes-кластер, системы мониторинга, средства CI/CD и сетевые сервисы.

Например, обучение ресурсоемких моделей может выполняться на GPU, а предварительная обработка данных — преимущественно на CPU. Для хранения датасетов, моделей и других артефактов может использоваться объектное хранилище.

По мере роста ML-проектов инфраструктуру часто разделяют по задачам: отдельно выделяют мощности для экспериментов и обучения, production-инференса и обработки данных. Для переменных нагрузок можно использовать облачные GPU-ресурсы, а для длительных ресурсоемких задач — выделенные серверы с GPU.

Инфраструктура для ML и AI
Подберите вычислительные ресурсы для обучения и инференса моделей
Используйте облачные или выделенные GPU-ресурсы ITGLOBAL.COM для ML-экспериментов, обучения, переобучения и production-инференса.
ОБЛАЧНЫЕ РЕСУРСЫ
GPU Cloud
Облачные GPU-ресурсы для экспериментов, обучения моделей и нагрузок, где важна возможность гибко масштабировать вычислительные мощности.

Подробнее о GPU Cloud →

ВЫДЕЛЕННЫЕ РЕСУРСЫ
Dedicated GPU
Выделенные GPU-серверы для длительных и ресурсоемких ML-нагрузок, когда нужны физически выделенные мощности и контроль над конфигурацией.

Подробнее о выделенных GPU-серверах →

Нужен сервер именно под AI- и ML-задачи?
Подберите инфраструктуру под обучение нейросетей, инференс и другие вычислительные задачи искусственного интеллекта.

Серверы для ИИ →

FAQ

MLOps — это организация полного процесса работы с ML-моделью: ее обучение, проверка, развертывание, мониторинг и дальнейшее обновление. Подход помогает перевести работу с моделями из разрозненных экспериментов в управляемый production-процесс.

DevOps в основном автоматизирует разработку и эксплуатацию программного обеспечения. В MLOps дополнительно приходится управлять данными, ML-моделями, экспериментами, качеством прогнозов и процессом переобучения.

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

Для MLOps используют MLflow, Kubeflow, DVC, Airflow, Feast, Docker, Kubernetes и другие инструменты. Конкретный стек зависит от архитектуры проекта, процессов ML-команды и требований к инфраструктуре.

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

Принципы MLOps можно применять и при работе с большими языковыми моделями. Для LLM появляются дополнительные процессы: управление промптами, оценка качества генерации, RAG, fine-tuning и контроль работы модели. Для этого направления также используется термин LLMOps.

Оцените данную статью
Предыдущая статья Предыдущая статья Следующая статья