Изучение архитектуры MLOps

Завершено

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

Со временем может потребоваться переобучение модели. Например, вы можете переобучить модель при наличии дополнительных обучающих данных.

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

  • Преобразуйте обучение модели в надежный и воспроизводимый конвейер.
  • Протестируйте код и модель в среде разработки.
  • Разверните модель в рабочей среде.
  • Автоматизируйте весь процесс.

Настройка сред для среды разработки и рабочей среды

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

Примечание.

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

Количество сред, с которыми вы работаете, определяется вашей организацией. Как правило, существует по крайней мере две среды: разработка или разработка и рабочая среда или рабочая среда. Кроме того, можно добавлять среды между промежуточной или предварительной средой (предварительной подготовкой).

Типичный подход заключается в том, чтобы:

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

Организация сред Машинного обучения Azure

При реализации MLOps и масштабном использовании моделей машинного обучения рекомендуется работать в отдельных средах на разных этапах.

Представьте, что ваша команда использует среду разработки, предварительной версии и prod. Необязательно все члены вашей команды могут иметь доступ ко всем средам. Специалисты по обработке и анализу данных могут работать только в среде разработки и не использовать данные рабочей среды, а инженеры по машинному обучению могут развертывать модели в предварительной и рабочей средах и использовать данные рабочей среды.

Наличие отдельных сред упрощает управление доступом к ресурсам. Затем каждую среду можно связать с отдельной рабочей областью Машинного обучения Azure.

Diagram of multiple Azure Machine Learning workspaces to have multiple environments.

В Azure вы используете управление доступом на основе ролей (RBAC), чтобы предоставить коллегам правильный уровень доступа к подмножества ресурсов, с которыми они должны работать.

Кроме того, можно использовать только одну рабочую область Машинного обучения Azure. При использовании одной рабочей области для разработки и рабочей среды у вас меньше места в Azure и меньше затрат на управление. Однако RBAC применяется как к средам разработки, так и к средам prod, что может означать, что вы предоставляете слишком мало или слишком много доступа к ресурсам.

Проектирование архитектуры MLOps

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

  • Храните все данные в хранилище BLOB-объектов Azure, управляемом инженером данных.
  • Команда инфраструктуры создает все необходимые ресурсы Azure, такие как рабочая область Машинное обучение Azure.
  • Специалисты по обработке и анализу данных сосредоточены на том, что они делают лучше всего: разработка и обучение модели (внутренний цикл).
  • Инженеры машинного обучения развертывают обученные модели (внешний цикл).

В результате архитектура MLOps включает следующие части:

Diagram of an architecture showcasing a typical MLOps project.

  1. Настройка: создание всех необходимых ресурсов Azure для решения.
  2. Разработка моделей (внутренний цикл): изучение и обработка данных для обучения и оценки модели.
  3. Непрерывная интеграция: упаковка и регистрация модели.
  4. Развертывание модели (внешний цикл): развертывание модели.
  5. Непрерывное развертывание: тестирование модели и перенос в рабочую среду.
  6. Мониторинг: мониторинг производительности модели и конечной точки.

При работе с более крупными командами вы не должны отвечать за все части архитектуры MLOps в качестве ученого по обработке и анализу данных. Чтобы подготовить модель для MLOps, следует подумать о том, как разработать для мониторинга и переобучения.