GlowByte Media
2021-04-06 21:26 Архив

5 столпов MLOps

Команда Advanced Analytics GlowByte запускает цикл статей посвященных MLOps. MLOps — это набор практик и технологий, которые объединяют Machine Learning, DevOps, Data Engineering и Model Governance в единую методологию создания, внедрения и эксплуатации моделей машинного обучения. MLOps помогает бизнесу развивать Data Science и внедрять качественные ML модели на 80% быстрее. 

Из статей узнаете о следующем:
  • О среде разработки моделей машинного обучения;
  • Об управлении данными для ML и концепции FeatureStore;
  • Связи MLOps с DevOps и о внедрении ML Моделей;
  • Мониторинге ML моделей;
  • Калибровке, переобучении, дообучении и пр;
  • Основах управления Жизненным Циклом Моделей.
В этой статье команда рассказывает как из общих методов и технологий машинного обучения получить приложения для решения конкретных бизнес-задач.
Бизнес собирает петабайты данных для использования в Data Science проектах, но это не гарантирует прибыль. Единого понимания, как работать с ML-приложениями, еще нет, хотя у многих компаний есть обнадеживающие пилоты и удачные эксперименты, превратить их в стабильную ценность для бизнеса не всегда получается и многие компании не могут превратить обнадеживающие пилоты и удачные эксперименты в стабильную ценность для бизнеса. Причина — не изъяны технологий ML, и даже не слабая квалификация специалистов, а отсутствие проторенной дороги от среды экспериментов в промышленную эксплуатацию (как вариант — “от теста в продакшн”). Концепция MLOps такую дорогу прокладывает операционализацией работы с моделями, систематизацией внедрения и автоматизацией всего что только можно в жизненном цикле моделей.

На какие вопросы отвечает MLOps?

Как организовать процесс разработки? Во-первых, каждому разработчику нужна полноценная среда разработки, которая не ограничивает в технологиях и ресурсах. Время разработки на локальных машинах уходит. Компании смотрят в сторону выделенных серверов или кластеров с изолированными средами разработки (например: JupyterHub на k8s) или же на облачные технологии (например: Yandex DataSphere, Amazon SageMaker). Во-вторых, все репозитории моделей важно вести в одинаковой структуре, а модели вызывать единообразно. Это упростит взаимодействие в команде и позволит организовать единый автоматизированный CI/CD-процесс внедрения моделей.
Как выстроить сквозной жизненный цикл моделей (ЖЦМ)? Для начала вспомним, что в ЖЦМ участвует не только непосредственный разработчик модели (Data Scientist), но еще и инженер данных (Data Engineer), IT специалист (IT Engineer), специалист по операционализации (MLOps engineer) и сам бизнес-заказчик. ЖЦМ описывает взаимодействие между ролями участников процесса и внешними системами. Его можно представить в виде бизнес-процесса в BPMN-нотации. Шаг процесса — это конкретная задача конкретного специалиста. Например, для окончания разработки витрины данных для модели, необходимо наличие кода сборки витрины, ссылки на саму витрину и документации о разработке.
Как выстроить коммуникацию и взаимодействие между командами? Выстроив бизнес процессы, мы уже упростили взаимодействие между командами, но нужна система хранения артефактов и метаданных модели, чтобы разработчикам не приходилось искать информацию в почте или мессенджерах. Для этого подойдет единый портал, в котором будут храниться все данные конкретной модели, и этот портал должен наполняться в соответствии с течением бизнес процесса ЖЦМ. Для решения таких задач существует ряд решений (например: BPMN движки, Jira, таск-менеджеры и тд), однако ни одно решение не может закрыть все проблемы на 100%.
Как управлять моделями? Бизнес-заказчик хочет держать руку на пульсе ML-проектов, чтобы понимать статус разработки, управлять человеческими ресурсами и вовремя отменять нерентабельные проекты. Этого позволяет достичь реализация БП на каком-либо движке и объединение БП с системой хранения метаданных. Так мы получим одну точку входа для разработчиков и менеджмента.
Как сократить время доставки моделей в продакшн? Вопрос сложный и затрагивает многие этапы жизненного цикла моделей. MLOps-подход сокращает time-to-market моделей. Он позволяет структурировать процесс разработки и упаковки моделей. Используя DevOps методологию, мы выстраиваем автоматизированный CI/CD пайплайн сборки ML приложения из кода Data Scientist`а и доставки его до всех контуров. В свою очередь, выстроенный бизнес-процесс и единый портал сокращают время на коммуникацию и менеджмент проектов.
Что делать после внедрения модели? Понятно, что ЖЦМ не заканчивается на внедрении. На промышленной среде придется присматривать за качеством поступающих данных, за степенью деградации самой модели и за инфраструктурой, на которой работает модель. При падении качества, модель необходимо откалибровать или обучить заново на новых данных. А при наличии проблем с серверной частью, мы хотим своевременно обнаружить их и проинформировать ответственных лиц. Для этого стоит выстроить дашборд мониторинга (а лучше — полноценную систему), который бы включал в себя все метрики, влияющие на работоспособность модели и на бизнес в целом.

Мы выделяем 5 основных столпов, на которых стоит MLOps

  • Контур анализа данных и моделирования — системы и технологии, связанные с разработкой моделей машинного обучения и датасетов для обучения/применения/эксплуатации. Управление вычислительными ресурсами, разграничение доступа и поддержка большого количества современных фреймворков для разработки моделей;
  • Среда применения моделей — сама среда, в которой запускается код моделей, пайплайны обработки данных связанные с ML и процессы принятия решений на основе моделей машинного обучения;
  • Управление переменными (Feature Store) — технология, упрощающая взаимодействие между Data Scientist и Data Engineer. Первый больше не собирает данные самостоятельно, а “заказывает” датасеты; второй же приобретает инструмент автоматической сборки этих заказов, вместо постоянных выгрузок ad-hoc;
  • Система управления ЖЦМ и модельным риском — единая платформа для работы всех ролей, связанных с разработкой моделей;
  • Технологии эксплуатации моделей — система мониторинга всего и вся, пульсометр, что проверяет “здоровье” модели и сигнализирует об угрозах ее “жизни”. А также система повторного обучения, дообучения и калибровки, которая может реанимировать умирающую модель.
Однако помимо этих столпов есть и другие системы, связанные с MLOps:
  • Платформа AB тестирования;
  • AutoML;
  • Система автоматизации процесса разработки;
  • Система отслеживания модельных экспериментов;
  • Платформа валидации и аудита моделей;
Об этом мы подробно расскажем в следующих статьях этого цикла, где остановимся на готовых решениях и технологиях для реализации MLOps-подхода в широком смысле.
Пока вы ждете продолжения, приходите общаться в наше NoML Community и заглядывайте на эфиры в CH https://www.joinclubhouse.com/club/noml.