Как внедрить MLOps: краткое пошаговое руководство

Автор Категория , ,
Как внедрить MLOps: краткое пошаговое руководство

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

2 направления для внедрения MLOps

Напомним, MLOps – это культура и набор практик для автоматизации комплексного управления жизненным циклом систем машинного обучения, от разработки (Development) до эксплуатации (Operations) всех компонентов: ML-модели, программный код и инфраструктура развертывания. MLOps расширяет методологию CRISP-DM с помощью Agile-подхода и технических инструментов автоматизированного выполнения операций с данными, ML-моделями, кодом и окружением. Таким образом, практическое внедрение MLOps следует вести сразу по 2-м направлениям:

  • организационное, что предполагает адаптацию принципов Agile к корпоративной культуре и частичную перестройку бизнес-процессов и структур с целью ускорения циклов выпуска продуктов за счет оперативного и безбарьерного взаимодействия всех участников этой деятельности. Помимо обучающих тренингов, что такое Agile, также здесь необходимо объединение DevOps-инженеров, Data Scinetist’ов и инженеров Big Data в комплексную команду с закреплением личной и групповой ответственности в одном или нескольких ML-проектах и целостными KPI [1].
  • техническое, что означает использование DevOps-инструментария (CI/CD) для автоматизации процессов разработки, тестирования (в т.ч. валидации данных), интеграции, развертывания и эксплуатационного сопровождения датасетов, моделей, кода и production-среды. Примечательно, что ведется работа с обоими ML-конвейерами: обучения (Training Pipeline) и обслуживания (Serving Pipeline), аналогичные по сути преобразования данных в которых могут различаться с точки зрения реализации. Например, конвейер обучения обычно работает с пакетными файлами, содержащими все функции, а конвейер обслуживания часто работает в интерактивном (потоковом) режиме и получает только часть функций в запросах, а остальные извлекает из существующего хранилища (СУБД или Data Lake на Apache Hadoop). Для согласования обоих pipeline’ов следует обеспечить повторное использование кода и данных везде, где это возможно [2].
MLOps pipeline
Непрерывный MLOps-конвейер

Технический инструментарий Machine Learning Operations: лучшие практики и средства с примерами

Объединяя лучшие практики DevOps- и инженерии данных, получаем следующий набор перспектив, каждая из которых должна быть автоматизирована с помощью соответствующего инструмента [3]:

  • контроль версий кода, данных и ML-моделей в Git-подобном репозитории;
  • конвейер операций (Training Pipeline и Serving Pipeline) в рамках готовой или самописной Big Data системы;
  • валидация моделей Machine Learning и датасетов аналогично unit-тестированию с учетом бизнес-требований и форматов данных, например, с применением PyTest или комплексных систем типа Cloudera Data Science Workbench, о которой мы писали здесь;
  • непрерывный мониторинг на основе SRE-метрик, таких как SLO (Service Level Objective) и статистические показатели, уникальные для конкретного случая, например, через Prometheus или Grafana.
MLOps best practices
Лучшие практики MLOps: интеграция DevOps с инженерией данных

Для комплексной автоматизации всех вышеперечисленных направлений можно выбрать готовую платформу или фреймворк, например, Allegro Trains, MLFlow, Sacred, DVC, AI Platform от Google Cloud, AzureML и SageMaker от Amazon Web Services или Kubeflow от Google для автоматизированного управления набором open-source инструментов MLOps на Kubernetes. Выбор решения зависит не только от уровня корпоративной MLOps-зрелости, но и от степени использования облачных сервисов в компании. Большинство перечисленных решений предполагают именно SaaS/PaaS-подход, когда нужно подключиться к уже готовому Cloud-продукту [3]. Впрочем, даже в этом случае потребуется конфигурирование имеющейся Big Data и ML-инфраструктуры, чтобы интегрировать ее с MLOps-платформами или перейти только на них. При этом также стоит учитывать паттерны предоставления ML-моделей в production, о которых мы поговорим завтра.

Комплексное внедрение: 3 ключевых этапа

Сегодня многие ИТ-интеграторы и вендоры Big Data систем предлагают комплексные MLOps-решения на базе открытых технологий с услугами предпроектного обследования, внедрения и сопровождения [4]. Выбор, как обычно остается за заказчиком. Однако, независимо от того, каким образом компания будет внедрять подход Machine Learning Operations, это будет включать следующие этапы:

  1. Определение уровня MLOps-зрелости на предприятии;
  2. Организационные изменения корпоративной культуры, бизнес-процессов и структур (функциональных групп и проектных команд);
  3. Проектирование и реализация автоматизированных конвейеров ML-обучения и обслуживания с использованием соответствующих технических инструментов.

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

 

Источники

  1. https://www.bmc.com/blogs/mlops-machine-learning-ops/
  2. https://towardsdatascience.com/ml-ops-machine-learning-as-an-engineering-discipline-b86ca4874a3f
  3. https://ml-ops.org/content/state-of-mlops
  4. https://www.neoflex.ru/expertises/mlops