Общий концептуальный обзор среды реализации ML DevOps Pipeline

Введение

Служба машинного обучения Azure (AML) предлагает комплексные возможности для управления жизненным циклом машинного обучения. Ключевыми характеристиками являются MLOps (операции машинного обучения), функциональная совместимость, интеграция с инструментами и платформами машинного обучения, безопасность и доверие, а также расширяемость и производительность.

Azure Machine Learning SDK в Python или PowerShell предоставляет возможность разработать автоматизированный конвейер машинного обучения на основе возможностей оркестровки Azure DevOps или GitOps. Таким образом, инженеры машинного обучения и специалисты по данным могут сосредоточиться на своих задачах, а DevOps (создание, развертывание и управление) разгружаются посредством автоматизированного процесса.

В этом посте мы обсудим общий поток таких MLOps с использованием служб платформы Azure. Конечно, эту структуру можно легко распространить на другие общедоступные облачные сервисы (AWS или GCP) с небольшими изменениями, в результате чего они будут сопоставлены с их собственными сервисными предложениями.



Структура решения

Разрабатывать и строить

Ниже приведены общие шаги по созданию рабочей области машинного обучения и сборки среды:

  • Используйте Azure DevOps (ADO) в качестве платформы оркестровки для автоматизации инфраструктуры с использованием подхода IaC.
  • Команды специалистов по обработке и анализу данных (специалисты по данным, инженеры машинного обучения, инженеры данных и т. д.) назначаются и включаются в рабочее пространство машинного обучения с помощью Azure IAM.
  • Команде выделяются вычислительные ресурсы в рабочей области для обучения и тестирования.
  • Команда проводит эксперименты с конвейером машинного обучения, каждый может работать изолированно и разрабатывать повторно используемый компонент для конвейера. Таким образом, эксперимент состоит из извлечения данных, исследования данных, предварительной обработки данных, обучения модели, оценки и тестирования.
  • Затем инженеры по машинному обучению настроили систему управления исходным кодом и тестовую рабочую среду для поддержки разработки моделей и среды тестирования.
  • Подготовка среды также позволяет пакетам, платформам машинного обучения и модулям поддерживать разработку.

Учебный пайплайн

Azure ML позволяет команде машинного обучения проводить комплексные эксперименты с моделями с автоматизированным конвейером обучения, используя возможности Azure DevOps:

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

Конвейеры развертывания

Azure DevOps предлагает возможности для автоматизации шагов CI и CD, необходимых для операций машинного обучения, пошагового процесса контейнеризации окончательной оцененной модели, обеспечения ее развертывания в кластерах промежуточной среды, получения конечных точек для выполнения конвейеров контроля качества и тестирования. Разработчик учится на телеметрии и метриках в отношении качества и производительности развернутой модели на тестовых данных.

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

Мониторинг моделей и переобучение

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

Журналы и телеметрия приложений являются важными компонентами для реализации сквозных автоматизированных MLOps на основе метрик.

Заключение

Высокоуровневая архитектура решения для реализации MLOps с использованием Azure DevOps, инструментов и службы машинного обучения Azure будет выглядеть примерно так, как показано на рисунке ниже. Это решение предоставляет обзор для настройки компонентов разработки, обучения, тестирования и развертывания всей экосистемы MLOps. Реализация возможности наблюдения является основой для сбора данных телеметрии и метрик, чтобы обеспечить управляемую событиями автоматизацию для всего процесса MLOps за счет использования конвейеров Azure DevOps.



Рекомендации