Practitioners guide to MLOps: A framework for continuous delivery and automation of machine learning
Сам документ состоит из трех частей
- Overview of MLOps lifecycle and core capabilities
- Deep dive of MLOps processes
- Putting it all together
В первой части приводится определение MLOps
MLOps is a methodology for ML engineering that unifies ML system development (the ML element) with ML system operations (the Ops element). It advocates formalizing and (when beneficial) automating critical steps of ML system construction. MLOps provides a set of standardized processes and technology capabilities for building, deploying, and operationalizing ML systems rapidly and reliably.
И показывается четкая связь между data engineering, app engineering и собственно ml engineering. Причем выстроенные процессы работы с данными нам нужны как пререквизиты для эффективной работы над ML моделями, а app engineering нужен для того, чтобы обученные модели хорошо работали в проде и сервили свои запросы.
В документе рассказывается про этапы процесса, которые напоминают стандартные истории из app engineering и devops, но с небольшой спецификой
- ML development эксперименты с данными, выбор модели и архитектуры, оценка вариантов и выбор лучшего
- Training operationalization выстраивание пайплайна обучения модели
- Continuous training непрерывное обучение в ответ на новые данные, изменения кода или просто по расписанию
- Model deployment развертывание модели (очень напоминает развертывание обычных приложений)
- Prediction serving модель работает в проде и обрабатывает запросы (онлайн/оффлайн)
- Continuous monitoring мониторинг работы модели (тут как обычные параметры работы приложения, так и отслеживание метрик эффективности модели, дрифта данных, изменения распределения процесса, что мы предсказываем)
- Data and model management это центральная, сквозная функция управления артефактами ML, обеспечивающая возможность аудита, отслеживания и соответствия требованиям. Эта функция помогает с совместной работой, повторным использованием, и возможностью обнаружения какие ML модели уже есть и работают.
Продолжая первый пост про этот whitepaper, надо рассказать про capabilities ML платформ, которые нужны для того, чтобы выстроить хорошие MLOps процессы:
- Experimentation совместное выполнение исследовательского анализа данных, создание архитектуры прототипов моделей и реализация процедур обучения
- Data processing возможность обработки данных, что позволяют готовить и преобразовывать большие объемы данных в конвейерах непрерывного обучения
- Model training возможность эффективно и экономично запускать мощные алгоритмы для обучения моделей машинного обучения
- Model evaluation возможность оценки модели в интерактивном режиме во время экспериментов
- Model serving возможность развертывать и обслуживать модели в продакшен
- Online experimentation возможность провести онлайн-эксперименты, чтобы понять, как недавно обученные модели работают в продакшене по сравнению с текущими моделями (если таковые имеются) перед выпуском новой модели в производство
- Model monitoring возможность мониторинга моделей позволяет отслеживать эффективность и результативность развернутых моделей для обеспечения прогнозируемого качества
- ML pipelines возможность выстроить сложные пайпланы для тренировки и эксплуатации моделей в проде
- Model registry централизованный реестр моделей (регистрация моделей, описание зависимостей, документации и метаданные, интеграция с экспериментами и мониторингом, а также раскаткой и откаткой моделей)
- Dataset and feature repository хранилище наборов данных и фичей позволяют унифицировать определение и хранение данных для ML моделей. Наличие центрального хранилища свежих высококачественных данных обеспечивает возможность совместного использования, обнаружения и повторного использования.
- ML metadata and artifact tracking хренение различные типов артефактов ML, что создаются в разных процессах жизненного цикла MLOps, включая включая описательную статистику и схемы данных, обученные модели и результаты оценки
В итоге, объединяя capabilities платформ и понимая целевой необходимые шаги конвейра, можно собрать отличный процесс, где ML не будет оторван от работы с данными и разработки, а значит строить и эксплуатировать ML системы станет проще.




