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

Завершено

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

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

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

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

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

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

Замечание

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

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

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

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

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

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

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

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

Схема нескольких рабочих областей Машинного обучения Azure для нескольких сред.

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

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

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

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

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

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

Схема архитектуры, показывающая типичный проект MLOps.

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

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