Создание и запуск конвейеров машинного обучения с помощью компонентов с Студия машинного обучения Azure
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)
В этой статье вы узнаете, как создать и запустить конвейер машинного обучения с помощью студии машинного обучения Azure и компонентов. Вы можете создавать конвейеры без использования компонентов, но компоненты обеспечивают лучший диапазон возможностей и многократное использование. Машинное обучение Azure Конвейеры можно определить в YAML и запустить из интерфейса командной строки, созданную в Python или созданную в конструкторе Студия машинного обучения Azure с помощью пользовательского интерфейса перетаскивания. В этом документе основное внимание уделяется пользовательскому интерфейсу конструктора Студия машинного обучения Azure.
Необходимые компоненты
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе. Попробуйте бесплатную или платную версию Машинного обучения Azure.
Создание ресурсов рабочей области Машинное обучение Azure.
Установите и настройте расширение Azure CLI для машинного обучения.
Клонируйте репозиторий примеров:
git clone https://github.com/Azure/azureml-examples --depth 1 cd azureml-examples/cli/jobs/pipelines-with-components/
Примечание.
Конструктор поддерживает два типа компонентов, классические предварительно созданные компоненты (v1) и пользовательские компоненты (версии 2). Эти два типа компонентов несовместимы.
Классические предварительно созданные компоненты предоставляют предварительно созданные компоненты, главным образом для обработки данных и традиционных задач машинного обучения, таких как регрессия и классификация. Классические предварительно созданные компоненты по-прежнему поддерживаются, но не будут добавлены новые компоненты. Кроме того, развертывание классических предварительно созданных компонентов (версии 1) не поддерживает управляемые сетевые конечные точки (версия 2).
Пользовательские компоненты позволяют упаковывать собственный код в качестве компонента. Он поддерживает совместное использование компонентов между рабочими областями и простой разработки в студии, CLI версии 2 и интерфейсах ПАКЕТА SDK версии 2.
Для новых проектов мы настоятельно рекомендуем использовать настраиваемый компонент, совместимый с AzureML версии 2 и сохраняющий получение новых обновлений.
Эта статья относится к пользовательским компонентам.
Регистрация компонента в рабочей области
Чтобы создать конвейер с помощью компонентов в пользовательском интерфейсе, сначала необходимо зарегистрировать компоненты в рабочей области. Вы можете использовать пользовательский интерфейс, ИНТЕРФЕЙС командной строки или пакет SDK для регистрации компонентов в рабочей области, чтобы предоставить общий доступ к компоненту и повторно использовать его в рабочей области. Зарегистрированные компоненты поддерживают автоматическое управление версиями, чтобы можно было обновить компонент, но убедиться, что конвейеры, требующие более старой версии, продолжают работать.
В следующем примере используется пользовательский интерфейс для регистрации компонентов, а исходные файлы компонента находятся в cli/jobs/pipelines-with-components/basics/1b_e2e_registered_components
каталоге azureml-examples
репозитория. Сначала необходимо клонировать репозиторий в локальный.
- В рабочей области Машинное обучение Azure перейдите на страницу "Компоненты" и выберите "Новый компонент" (откроется одна из двух страниц стилей).
В этом примере используется train.yml
в каталоге. Файл YAML определяет имя, тип, интерфейс, включая входные и выходные данные, код, среду и команду этого компонента. Код этого компонента находится в ./train_src
папке, которая описывает логику выполнения этого компонентаtrain.py
. Дополнительные сведения о схеме компонента см. в справочнике по схеме YAML компонента команд.
Примечание.
При регистрации компонентов в пользовательском интерфейсе, определенных в файле YAML компонента, можно указать только текущую папку, code
в которой находится ФАЙЛ YAML или вложенные папки, что означает, что невозможно указать ../
code
, так как пользовательский интерфейс не может распознать родительский каталог.
additional_includes
может указывать только текущую или вложенную папку.
В настоящее время пользовательский интерфейс поддерживает только регистрацию компонентов с типом command
.
- Выберите "Отправить из папки" и выберите папку для отправки
1b_e2e_registered_components
. Выберитеtrain.yml
из раскрывающегося списка.
Нажмите кнопку "Далее " в нижней части, и вы можете подтвердить сведения об этом компоненте. После подтверждения нажмите кнопку "Создать ", чтобы завершить процесс регистрации.
Повторите предыдущие шаги, чтобы зарегистрировать компонент Score и Eval, используя
score.yml
иeval.yml
.После успешной регистрации трех компонентов вы увидите компоненты в пользовательском интерфейсе студии.
Создание конвейера с помощью зарегистрированного компонента
Создайте новый конвейер в конструкторе. Не забудьте выбрать настраиваемый параметр.
Присвойте конвейеру понятное имя, выбрав значок карандаша рядом с автоматически созданным именем.
В библиотеке ресурсов конструктора отображаются вкладки "Данные", "Модель" и "Компоненты". Перейдите на вкладку "Компоненты" , вы можете просмотреть компоненты, зарегистрированные в предыдущем разделе. Если существует слишком много компонентов, можно выполнить поиск по имени компонента.
Найдите компоненты обучения, оценки и eval, зарегистрированные в предыдущем разделе, затем перетащите их на холст. По умолчанию она использует версию компонента по умолчанию, и ее можно изменить на определенную версию в правой области компонента. В правой области компонента дважды щелкните компонент.
В этом примере мы будем использовать примеры данных в этом пути. Зарегистрируйте данные в рабочей области, выбрав значок добавления в библиотеке активов конструктора —> вкладка данных, задайте type = Folder(uri_folder), а затем следуйте мастеру, чтобы зарегистрировать данные. Тип данных должен быть uri_folder для соответствия определению компонента обучения.
Затем перетащите данные на холст. Теперь конвейер должен выглядеть следующим образом.
Подключите данные и компоненты, перетаскивая подключения на холсте.
Дважды щелкните один компонент, вы увидите правую область, в которой можно настроить компонент.
Для компонентов с примитивными входными данными типа, такими как число, целое число, строковое и логическое значение, можно изменить значения таких входных данных в подробной области компонента в разделе "Входные данные".
Вы также можете изменить выходные параметры (где хранить выходные данные компонента) и запустить параметры (целевой объект вычислений для запуска этого компонента) на правой панели.
Теперь давайте добавим max_epocs входных данных компонента обучения до входных данных уровня конвейера. Таким образом, вы можете присвоить этому входному значению другое значение каждый раз перед отправкой конвейера.
Примечание.
Пользовательские компоненты и классические предварительно созданные компоненты конструктора нельзя использовать вместе.
Отправить конвейер
Нажмите кнопку "Настроить" и " Отправить " в правом верхнем углу, чтобы отправить конвейер.
Затем вы увидите пошаговый мастер, следуйте инструкциям мастера, чтобы отправить задание конвейера.
На шаге "Основы" можно настроить эксперимент, отображаемое имя задания, описание задания и т. д.
На шаге "Входные и выходные данные" можно настроить входные и выходные данные, которые повышены до уровня конвейера. На предыдущем шаге мы повысили max_epocs компонента обучения для входных данных конвейера, поэтому вы сможете видеть и назначать значение max_epocs здесь.
В параметрах среды выполнения можно настроить хранилище данных по умолчанию и вычисления по умолчанию конвейера. Это хранилище и вычисление по умолчанию для всех компонентов в конвейере. Но обратите внимание, что если вы устанавливаете другое вычислительное хранилище или хранилище данных для компонента явным образом, система учитывает параметр уровня компонента. В противном случае используется значение конвейера по умолчанию.
Шаг проверки и отправки — это последний шаг для проверки всех конфигураций перед отправкой. Мастер запоминает конфигурацию последнего времени при отправке конвейера.
После отправки задания конвейера вверху появится сообщение со ссылкой на сведения о задании. Эту ссылку можно выбрать, чтобы просмотреть сведения о задании.
Указание удостоверения в задании конвейера
При отправке задания конвейера можно указать удостоверение для доступа к данным в разделе Run settings
. Удостоверение по умолчанию, которое не использовало никаких удостоверений AMLToken
, тем временем мы поддерживаем оба UserIdentity
и Managed
. Для UserIdentity
этого идентификатор отправки задания используется для доступа к входным данным и записи результата в выходную папку. При указании Managed
система будет использовать управляемое удостоверение для доступа к входным данным и записи результата в выходную папку.
Следующие шаги
- Используйте эти записные книжки Jupyter на сайте GitHub, чтобы подробнее изучить конвейеры машинного обучения.
- Узнайте , как использовать интерфейс уровня вызова версии 2 для создания конвейера с помощью компонентов.
- Узнайте , как использовать пакет SDK версии 2 для создания конвейера с помощью компонентов