Абстрактный

  • Конечная цель всех проектов промышленного машинного обучения — разработать продукты машинного обучения, а затем запустить их в производство. Но очень сложно автоматизировать и внедрить продукты машинного обучения.
  • Этот документ представляет собой руководство для исследователей и практиков машинного обучения, которые хотят автоматизировать и использовать продукты машинного обучения с помощью разработанного набора технологий.

Введение

  • Большое количество продуктов ML терпит неудачу только из-за производственной работы.
  • С исследовательской точки зрения это не стало для всех нас неожиданностью, поскольку большая часть работы по машинному обучению была проделана для создания хороших моделей машинного обучения, а не
  • Сосредоточение внимания на готовых продуктах машинного обучения.
  • Доказательство необходимой координации возникающих часто сложных компонентов и инфраструктуры системы ML, включая роли, необходимые для автоматизации и эксплуатации системы ML в реальных условиях.
  • Например, в большинстве случаев специалисты по данным по-прежнему в значительной степени управляют рабочими процессами машинного обучения, что приводит к множеству проблем при использовании соответствующих решений машинного обучения.
  • Хотя исследователи пролили некоторый свет на различные конкретные аспекты MLOP, некоторые из них все еще отсутствуют, например:
  • Целостная концептуализация
  • Обобщение
  • Уточнение конструкции систем ML

Основы DevOps

  • DevOps — это больше, чем чистая методология, а скорее представляет собой парадигму решения социальных и технических проблем в организациях, занимающихся разработкой программного обеспечения.
  • Он направлен на устранение разрыва между разработкой и эксплуатацией и делает упор на сотрудничество, общение и обмен знаниями.
  • Он обеспечивает автоматизацию с непрерывной интеграцией и непрерывной доставкой (CI/CD). Кроме того, он предназначен для непрерывного тестирования, обеспечения качества, непрерывного мониторинга, регистрации и обратной связи.
  • Облачные платформы оснащены готовыми инструментами DevOps, предназначенными для использования в облаке.
  • Эмпирические результаты показывают, что DevOps обеспечивает более высокое качество программного обеспечения.

Методология

Чтобы получить информацию из академической базы знаний, а также опираясь на опыт практиков в этой области, мы применяем смешанный подход. В качестве первого шага этого смешанного подхода мы сначала провели обзор литературы, чтобы получить обзор соответствующих исследований. После этого мы рассмотрели инструментальную поддержку, чтобы получить технические знания в этой области. В итоге мы провели Interview Study, взяв 8 интервью с экспертами из разных областей.

Литературный обзор

  • В этой статье они следовали методу Вебстера и Уотсона, а также методу Китченхема для обзора.
  • После первоначального поиска они использовали такие термины, как ((("DevOps" ИЛИ "CICD" ИЛИ "Непрерывная интеграция" ИЛИ "Непрерывная поставка" ИЛИ "Непрерывное развертывание") И "Машинное обучение") ИЛИ "MLOPS" ИЛИ "CD4ML"). Они используют это как запрос к базам данных, таким как Google Scholar, Web of Science и т. д.
  • После обыска в мае 2021 года набралось около 1864 статей. Из них они просмотрели в общей сложности 194 статьи, и из них они получили около 27 статей, которые соответствуют тому, что они искали.

Обзор инструмента

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

Интервью Исследование

  • Чтобы получить информацию с разных точек зрения, мы выбираем партнеров для интервью из разных организаций и отраслей, разных стран и национальностей. а также разного пола.
  • Всего было проведено около 8 интервью.

Полученные результаты

С помощью этой методологии мы получаем принципы, компоненты, роли и архитектуру. Наконец, мы выводим концептуализацию термина и даем определение MLOps.

Теперь давайте кратко обсудим все эти четыре результата:

Принципы

  • Это просто руководство о том, как вещи должны быть реализованы в MLOps, или простыми словами, мы можем сказать лучшие практики, которым мы должны следовать.

Всего у нас есть 9 принципов:

  • CI/CD автоматизация
  • Оркестрация рабочего процесса
  • Воспроизводимость
  • Версии
  • Сотрудничество
  • Непрерывное обучение и оценка машинного обучения
  • Отслеживание/регистрация метаданных машинного обучения
  • Непрерывный мониторинг
  • Петли обратной связи

Компоненты

  • Определив принципы, которые необходимо внедрить в MLOps, мы теперь уточним точный компонент и реализуем их в дизайне системы ML.
  • У нас есть около 9 компонентов ML:
  • Компоненты CI/CD (P1, P6, P9)
  • Репозиторий исходного кода (P4, P5)
  • Оркестрация рабочего процесса (P2, P3, P6)
  • Система хранения функций (P3, P4)
  • Инфраструктура обучения модели (P6)
  • Реестр моделей (P3, P4)
  • Хранилища метаданных машинного обучения (P4, P7)
  • Компонент обслуживания модели (P1)
  • Компонент мониторинга (P8, P9)

Роли

  • Заинтересованное лицо бизнеса
  • Архитектор решений
  • Специалист по данным
  • Инженер данных
  • Инженер-программист
  • DevOps-инженер
  • Инженер ML / Инженер MLOps

Архитектура и рабочий процесс

  • На основе принципов, компонентов и ролей они разработали сквозную архитектуру и рабочий процесс для исследователей и практиков машинного обучения.
  • Артефакт был разработан, чтобы быть независимым от технологий. Таким образом, исследователи и практики машинного обучения могут выбирать наиболее подходящие технологии и фреймворки для своих нужд.

  1. Интуиция проекта MLOps
  2. Требования к пайплайну разработки функций
  3. Конвейер проектирования функций
  4. Эксперимент
  5. Автоматизированный конвейер рабочего процесса машинного обучения

Краткое содержание

MLOps похож на DevOps, но для моделей. Задача слишком велика для одного человека, поэтому вам понадобятся разные специалисты по мере разработки ваших моделей. Начните с планирования, понимания и начального анализа данных (в основном все, что обычно ожидается от специалиста по обработке и анализу данных).

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