Готовы ли вы к MLOps: что такое Machine Learning Operations Maturity Model

MlOps, цифровизация, цифровая трансформация, Big Data, Большие данные, Data Science, машинное обучение, Machine Learning, Agile, DevOps, CMMI

Цифровизация и запуск проектов Big Data предполагают некоторый уровень управленческой зрелости бизнеса, который обычно оценивается по модели CMMI. MLOps также требует предварительной готовности предприятия к базовым ценностям этой концепции. Читайте в нашей статье, что такое Machine Learning Operations Maturity Model – модель зрелости операций разработки и эксплуатации машинного обучения, из каких уровней она состоит и как оценить готовность к внедрению MLOps в вашей компании.

3 уровня MLOps-зрелости по версии Google

Напомним, как и цифровая трансформация, MLOps – это не только технологии, но и корпоративная культура, а также устойчивое развитие производственных процессов.  При этом запуск машинного обучения в промышленную эксплуатацию (production) можно представить следующей последовательностью этапов, которые можно выполнить вручную или с помощью автоматического конвейера [1]:

  • извлечение данных (Data extraction), когда производится выборка данных из различных источников и их интеграция для ML-задач;
  • анализ данных (Data analysis), чтобы понять, какие данные доступны для построения моделей машинного обучения, включая разбор схемы данных и характеристик для ML-модели, а также определение необходимых шагов подготовки данных и генерации нужных признаков;
  • подготовка данных (Data Preparation) к ML-моделированию, включая выборку, очистку, генерацию признаков, интеграцию, форматирование, разделение на обучающий, валидационный и тестовый датасеты;
  • обучение модели (Model training) на подготовленном датасете, а также настройка гиперпараметров для повышения эффективности ML-алгоритма;
  • оценка модели (Model evaluation) на тестовом датасете для получения показателей качества;
  • проверка модели (Model validation), которая подтверждает, что ML-решение подходит для развертывания в production, т.к. его прогностическая эффективность выше определенного базового уровня;
  • обслуживание модели (Model serving), когда проверенное ML-решение развертывается в целевой production-среде с помощью REST API микросервисов, встраивается в периферийное/мобильное устройство или многокомпонентную Big Data систему;
  • мониторинг модели (Model monitoring), когда ее производительность непрерывно отслеживается, чтобы по необходимости подкорректировать качество, запустив новую итерацию машинного обучения.

Компания Google определяет зрелость процессов Machine Learning как уровень автоматизации вышеперечисленных шагов, который отражает скорость обучения ML-моделей с учетом новых данных или новых релизов. При этом Google выделяет 3 уровня, от ручного до полностью автоматизированного, включая операции Continuous Integration/Delivery/Training (CI/CD/CT) [1]:

  • нулевой уровень, когда все ML-процессы выполняются вручную, с поэтапной передачей компонентов ML-решения между разнопрофильными специалистами (от Data Scientist’а до разработчика Big Data), редкими итерациями выпуска, отсутствием мониторинга и непрерывного конвейера CI/CD/CT;
MLOps, machine learning, машинное обучение
0-ой уровень MLOps-зрелости по модели Google
  • первый уровень, где автоматизирован процесс непрерывного машинного обучения, ускоряются итерации выпуска продукта за счет поддержки CT/CD в production-среде, однако часть эксплуатационных операций выполняется вручную или отделена от ML-конвейеров;
MLOps, machine learning, машинное обучение
1-ый уровень MLOps-зрелости по модели Google

 

  • второй уровень, который объединяет автоматизированную систему CI/CD с конвейерами машинного обучения, что позволяет дата-специалистам быстро исследовать новые идеи в области проектирования функций, архитектуры модели и гиперпараметров, реализовывать их и автоматически создавать, тестировать и развертывать новые компоненты в production-среде.
MLOps, machine learning, машинное обучение
2-ой уровень MLOps-зрелости по модели Google

Как повысить свою MLOps-зрелость: 2 примера из практики российских Big Data компаний

С практической точки зрения продвижение по уровням этой модели следует рассматривать в двух перспективах:

  • организационная, которая охватывает внедрение принципов цифровизации, Agile и DevOps в корпоративную культуру;
  • технологическая, что означает автоматизацию процессов жизненного цикла ML с помощью соответствующего инструментария.

Например, в банке ВТБ внедрение MLOps началось с построения структуры компетенций и процессов этой парадигмы, включая оптимизацию взаимодействия между всеми участниками данной деятельности. В частности, были организованы Agile-команды, которые решают задачи всех бизнес-заказчиков, налажено безбарьерное сотрудничество проектных команд по созданию платформ и MLOps-инфраструктуры. В июне 2020 года тестировалось несколько MVP-проектов по управлению жизненным циклом ML-моделей и их применению в качестве сервисов [2].

Также интересен опыт компании КРОК, которая начала выстраивать собственную MLOps-систему на базе открытого фреймворка MLFlow, который позволяет отслеживать модели Machine Learning, хранит и управляет их состоянием в централизованном репозитории, упаковывает код и воспроизводит его на любой платформе, в т.ч. в production. Наиболее известными альтернативами MLFlow для автоматизации операций жизненного цикла машинного обучения считаются Amazon SageMaker, Allegro Trains и Kubeflow, которые, также, как и MLFlow, позволяют частично или полностью автоматизировать процессы жизненного цикла машинного обучения [3].

Впрочем, прежде чем приступить к организационным или техническим мероприятиям, следует, прежде всего идентифицировать свой уровень MLOps-зрелости. Это можно сделать с помощью вышерассмотренной модели от Google или альтернативной методики исследовательской ИТ-компании GigaOm. В отличие от Google-модели, она учитывает не только технологии поддержки жизненного цикла машинного обучения, но и корпоративную культуру, которая неотделима от любой технической парадигмы [4]. По каким критериям она оценивает MLOps-зрелость и какие уровни предусматривает при этом, мы рассмотрим в следующей статье.

Как запустить MLOps-инициативы в рамках цифровизации частного бизнеса или цифровой трансформации государственных и муниципальных предприятий, вы узнаете на нашем обновленном курсе «Аналитика больших данных для руководителей» в лицензированном учебном центре обучения и повышения квалификации разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве.

 

Источники

  1. https://cloud.google.com/solutions/machine-learning/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning
  2. https://habr.com/ru/company/vtb/blog/508012/
  3. https://habr.com/ru/company/croc/blog/507314/
  4. https://azure.microsoft.com/ru-ru/resources/gigaom-delivering-on-the-vision-of-mlops/