Бөлісу құралы:


MLOps: управление моделями, развертывание, отслеживание происхождения и мониторинг с помощью Машинного обучения Azure версии 1

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение Машинного обучения для Azure CLI версии 1пакет SDK для Python azureml версии 1

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

Внимание

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

Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

Что такое операции машинного обучения?

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

  • Более быстрое получение экспериментальной модели и разработка моделей
  • Более быстрое развертывание моделей в рабочей среде
  • Контроль качества и сквозное отслеживание происхождения

MLOps в машинном обучении Azure

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

  • Создание воспроизводимых конвейеров машинного обучения. Конвейеры машинного обучения позволяют определить повторяемые и многократно используемые шаги для процессов подготовки данных, обучения и оценки.
  • Создание повторно используемых программных сред для обучения и развертывания моделей.
  • Регистрация, создание пакетов и развертывание моделей из любого места. Также можно отслеживать связанные метаданные, необходимые для использования модели.
  • Захват данных системы управления для комплексного жизненного цикла машинного обучения. Записанные в журнал данные о происхождении могут включать пользователей, которые публикуют модели, причины внесения изменений и время развертывания или использования моделей в рабочей среде.
  • Уведомлять и оповещать о событиях жизненного цикла машинного обучения. Например, выполнение эксперимента, регистрация модели, развертывание модели и обнаружение отклонения данных.
  • Отслеживайте приложения машинного обучения для проблем с операционным и машинным обучением. Сравнивайте входные данные модели при обучении и выводе, изучайте метрики, зависящие от модели, и предоставляйте возможности мониторинга и оповещения в инфраструктуре машинного обучения.
  • Автоматизация комплексного жизненного цикла машинного обучения с помощью Машинное обучение Azure и Azure Pipelines. Использование конвейеров позволяет часто обновлять модели, тестировать новые модели и непрерывно развертывать новые модели машинного обучения вместе с другими приложениями и службами.

Дополнительные сведения об операциях машинного обучения см. в разделе "Операции машинного обучения".

Создание воспроизводимых конвейеров машинного обучения

Используйте конвейеры машинного обучения из Машинное обучение Azure для объединения всех шагов, связанных с процессом обучения модели.

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

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

Создание повторно используемых программных сред

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

Среды описывают зависимости pip и Conda для проектов. Среды можно использовать как для обучения, так и для развертывания моделей. Дополнительные сведения см. в разделе Что такое среды машинного обучения Azure.

Регистрация, создание пакетов и развертывание моделей из любого места

Вы можете зарегистрировать, упаковывать и развертывать модели в любом месте.

Регистрация и отслеживание моделей машинного обучения

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

Совет

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

Имя и версия определяют зарегистрированные модели. При регистрации модели с уже существующим именем реестр увеличивает номер версии. Во время регистрации можно указать другие теги метаданных. Затем эти теги используются при поиске модели. Служба машинного обучения Azure поддерживает любые модели, которые можно скачать с помощью Python 3.5.2 или выше.

Совет

Можно также зарегистрировать модель, обученную вне машинного обучения Azure.

Удалить зарегистрированную модель нельзя, если она используется в любом активном развертывании. Дополнительные сведения см. в разделе "Регистрация модели".

Внимание

При использовании фильтра по Tags параметру на странице "Модели" Машинное обучение Azure Studio вместо использования TagName : TagValue TagName=TagValue (без пробела).

Модели упаковки и отладки

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

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

Дополнительные сведения см. в статье "Развертывание моделей машинного обучения в Azure " и устранение неполадок при развертывании удаленной модели.

Преобразование и оптимизация моделей

Преобразование модели в формат Open Neural Network Exchange (ONNX) может повысить производительность. В среднем преобразование в ONNX может привести к увеличению производительности в 2 раза.

Дополнительные сведения см. в разделе ONNX и Машинное обучение Azure.

Использование моделей

Обученные модели машинного обучения развертываются как веб-службы в облаке или локально. Развертывания используют ЦП или GPU для вывода. Модели также можно использовать из Power BI.

При использовании модели в качестве веб-службы укажите следующие элементы:

  • Модели, используемые для оценки данных, передаваемых службе или устройству.
  • Сценарий входа. Этот скрипт принимает запросы, использует модели для оценки данных и возвращает ответ.
  • Среда Машинное обучение Azure, описывающая зависимости Pip и Conda, необходимые моделям и скрипту записи.
  • Любые другие ресурсы, такие как текст или данные, необходимые моделям и скрипту записи.

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

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

Пакетная оценка

Пакетная оценка поддерживается через конвейеры машинного обучения. Дополнительные сведения см. в руководстве по созданию конвейера Машинное обучение Azure для классификации изображений.

Веб-службы в режиме реального времени

Вы можете использовать модели в веб-службах со следующими целевыми объектами вычислений:

  • Экземпляр контейнеров Azure
  • Служба Azure Kubernetes
  • Локальная среда разработки

Чтобы развернуть модель как веб-службу, необходимо предоставить следующие элементы:

  • Модель или ансамблей моделей.
  • Зависимости, необходимые для использования модели. Например, скрипт, который принимает запросы и вызывает зависимости модели или conda.
  • Конфигурация развертывания, описывающая способ и место развертывания модели.

Дополнительные сведения см. в статье "Развертывание моделей машинного обучения в Azure".

Аналитика

Microsoft Power BI поддерживает использование моделей машинного обучения для аналитики данных. Дополнительные сведения см. в разделе ИИ с потоками данных.

Запись данных управления, необходимых для операций машинного обучения

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

  • Машинное обучение Azure интегрируется с Git для отслеживания сведений о репозитории, ветви и фиксации кода.
  • Машинное обучение Azure наборы данных помогают отслеживать, профилирование и данные версий.
  • Интерпретируемость позволяет объяснить модели, обеспечить соответствие нормативным требованиям и понять, как модели прибывают к результату для заданных входных данных.
  • Машинное обучение Azure журнал выполнения сохраняет моментальный снимок кода, данных и вычислений, используемых для обучения модели.
  • Реестр моделей Машинное обучение Azure записывает все метаданные, связанные с вашей моделью. Эти метаданные включают в себя обученный эксперимент, где он развертывается, и если его развертывания работоспособны.
  • Интеграция с Azure позволяет реагировать на события в жизненном цикле машинного обучения, Например, события регистрации модели, развертывания, смещения данных и обучения (запуск).

Совет

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

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

Уведомления, автоматизация, оповещение о событиях в жизненном цикле машинного обучения

Машинное обучение Azure публикует ключевые события в Сетка событий Azure, которые можно использовать для уведомления и автоматизации событий в жизненном цикле машинного обучения. Дополнительные сведения см. в разделе "Активация приложений, процессов или рабочих процессов CI/CD" на основе событий Машинное обучение Azure.

Определение проблем с операциями и машинным обучением

Мониторинг позволяет понять, какие данные отправляются в модель и какие прогнозы она возвращает.

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

Дополнительные сведения см. в разделе "Сбор данных из моделей в рабочей среде".

Переобучение модели на новых данных

Часто вы хотите проверить модель, обновить ее или даже переобучить ее с нуля, как вы получите новую информацию. Иногда получение новых данных является ожидаемой частью домена. В других случаях производительность модели может снизиться из-за изменений в определенном датчике, естественных изменениях данных, таких как сезонные эффекты или признаки, изменяющиеся в их отношении к другим функциям. Дополнительные сведения см. в разделе "Обнаружение смещения данных (предварительная версия) для наборов данных.

Существует не универсальный ответ на "Разделы справки знать, следует ли мне переобучивать?", но Машинное обучение Azure события и средства мониторинга, которые ранее обсуждались, являются хорошими отправными точками для автоматизации. После переобучения необходимо:

  • Предварительная обработка данных с помощью повторяющегося автоматизированного процесса
  • Обучите свою новую модель
  • Сравните выходные данные новой модели с выходными данными старой модели.
  • Используйте предопределенные критерии, чтобы выбрать, следует ли заменить старую модель

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

Автоматизация жизненного цикла машинного обучения

Вы можете использовать GitHub и Azure Pipelines для создания процесса непрерывной интеграции, который обучает модель. В типичном сценарии, когда Специалист по обработке и анализу данных проверяет изменение репозитория Git для проекта, Azure Pipeline запускает обучающий запуск. Результаты выполнения можно проверить, чтобы просмотреть характеристики производительности обученной модели. Также можно создать конвейер, который развертывает модель как веб-службу.

Расширение машинного обучения Azure упрощает работу с Azure Pipelines. Он предоставляет следующие усовершенствования Azure Pipelines:

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

Дополнительные сведения об использовании Azure Pipelines с Машинное обучение Azure см. в следующих ресурсах:

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

Дополнительные сведения см. в следующих ресурсах: