Создание и запуск конвейеров машинного обучения с помощью компонентов с Студия машинного обучения Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)

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

Необходимые компоненты

Примечание.

Конструктор поддерживает два типа компонентов, классические предварительно созданные компоненты (v1) и пользовательские компоненты (версии 2). Эти два типа компонентов несовместимы.

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

Пользовательские компоненты позволяют упаковывать собственный код в качестве компонента. Он поддерживает совместное использование компонентов между рабочими областями и простой разработки в студии, CLI версии 2 и интерфейсах ПАКЕТА SDK версии 2.

Для новых проектов мы настоятельно рекомендуем использовать настраиваемый компонент, совместимый с AzureML версии 2 и сохраняющий получение новых обновлений.

Эта статья относится к пользовательским компонентам.

Регистрация компонента в рабочей области

Чтобы создать конвейер с помощью компонентов в пользовательском интерфейсе, сначала необходимо зарегистрировать компоненты в рабочей области. Вы можете использовать пользовательский интерфейс, ИНТЕРФЕЙС командной строки или пакет SDK для регистрации компонентов в рабочей области, чтобы предоставить общий доступ к компоненту и повторно использовать его в рабочей области. Зарегистрированные компоненты поддерживают автоматическое управление версиями, чтобы можно было обновить компонент, но убедиться, что конвейеры, требующие более старой версии, продолжают работать.

В следующем примере используется пользовательский интерфейс для регистрации компонентов, а исходные файлы компонента находятся в cli/jobs/pipelines-with-components/basics/1b_e2e_registered_components каталоге azureml-examples репозитория. Сначала необходимо клонировать репозиторий в локальный.

  1. В рабочей области Машинное обучение Azure перейдите на страницу "Компоненты" и выберите "Новый компонент" (откроется одна из двух страниц стилей).

Снимок экрана: кнопка регистрации записи на странице компонента.

Снимок экрана: кнопка регистрации записи на странице компонента с архивом.

В этом примере используется train.yml в каталоге. Файл YAML определяет имя, тип, интерфейс, включая входные и выходные данные, код, среду и команду этого компонента. Код этого компонента находится в ./train_src папке, которая описывает логику выполнения этого компонентаtrain.py. Дополнительные сведения о схеме компонента см. в справочнике по схеме YAML компонента команд.

Примечание.

При регистрации компонентов в пользовательском интерфейсе, определенных в файле YAML компонента, можно указать только текущую папку, code в которой находится ФАЙЛ YAML или вложенные папки, что означает, что невозможно указать ../ code , так как пользовательский интерфейс не может распознать родительский каталог. additional_includes может указывать только текущую или вложенную папку. В настоящее время пользовательский интерфейс поддерживает только регистрацию компонентов с типом command .

  1. Выберите "Отправить из папки" и выберите папку для отправки 1b_e2e_registered_components . Выберите train.yml из раскрывающегося списка.

Снимок экрана: отправка из локальной папки.

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

  2. Повторите предыдущие шаги, чтобы зарегистрировать компонент Score и Eval, используя score.yml и eval.yml .

  3. После успешной регистрации трех компонентов вы увидите компоненты в пользовательском интерфейсе студии.

Снимок экрана с зарегистрированным компонентом на странице компонента.

Создание конвейера с помощью зарегистрированного компонента

  1. Создайте новый конвейер в конструкторе. Не забудьте выбрать настраиваемый параметр.

    Снимок экрана, показывающий процесс создания конвейера на странице конструктора.

  2. Присвойте конвейеру понятное имя, выбрав значок карандаша рядом с автоматически созданным именем.

    Снимок экрана: переименование конвейера.

  3. В библиотеке ресурсов конструктора отображаются вкладки "Данные", "Модель" и "Компоненты". Перейдите на вкладку "Компоненты" , вы можете просмотреть компоненты, зарегистрированные в предыдущем разделе. Если существует слишком много компонентов, можно выполнить поиск по имени компонента.

    Снимок экрана с зарегистрированным компонентом в библиотеке ресурсов.

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

    Снимок экрана, показывающий изменение версии компонента.

    В этом примере мы будем использовать примеры данных в этом пути. Зарегистрируйте данные в рабочей области, выбрав значок добавления в библиотеке активов конструктора —> вкладка данных, задайте type = Folder(uri_folder), а затем следуйте мастеру, чтобы зарегистрировать данные. Тип данных должен быть uri_folder для соответствия определению компонента обучения.

    Снимок экрана: добавление данных.

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

    Снимок экрана: черновик конвейера.

  4. Подключите данные и компоненты, перетаскивая подключения на холсте.

    GIF-файл, показывающий подключение конвейера.

  5. Дважды щелкните один компонент, вы увидите правую область, в которой можно настроить компонент.

    Снимок экрана с настройками параметров компонента.

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

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

    Теперь давайте добавим max_epocs входных данных компонента обучения до входных данных уровня конвейера. Таким образом, вы можете присвоить этому входному значению другое значение каждый раз перед отправкой конвейера.

    Снимок экрана: повышение входных данных компонента в входные данные конвейера.

Примечание.

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

Отправить конвейер

  1. Нажмите кнопку "Настроить" и " Отправить " в правом верхнем углу, чтобы отправить конвейер.

    Снимок экрана: кнопка настройки и отправки.

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

Снимок экрана: мастер отправки.

На шаге "Основы" можно настроить эксперимент, отображаемое имя задания, описание задания и т. д.

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

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

Шаг проверки и отправки — это последний шаг для проверки всех конфигураций перед отправкой. Мастер запоминает конфигурацию последнего времени при отправке конвейера.

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

Снимок экрана: сообщение о отправке.

Указание удостоверения в задании конвейера

При отправке задания конвейера можно указать удостоверение для доступа к данным в разделе Run settings. Удостоверение по умолчанию, которое не использовало никаких удостоверений AMLToken , тем временем мы поддерживаем оба UserIdentity и Managed. Для UserIdentityэтого идентификатор отправки задания используется для доступа к входным данным и записи результата в выходную папку. При указании Managedсистема будет использовать управляемое удостоверение для доступа к входным данным и записи результата в выходную папку.

Снимок экрана: настройка удостоверения в задании конвейера.

Следующие шаги