Создание и запуск конвейеров машинного обучения с помощью компонентов с Студия машинного обучения 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). Эти два типа компонентов несовместимы.
Классические предварительно созданные компоненты предоставляют предварительно созданные компоненты, главным образом для обработки данных и традиционных задач машинного обучения, таких как регрессия и классификация. Этот тип компонента по-прежнему поддерживается, но новые компоненты добавляться не будут.
Пользовательские компоненты позволяют упаковывать собственный код в качестве компонента. Он поддерживает совместное использование компонентов между рабочими областями и простой разработки в студии, 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 здесь.
В параметрах среды выполнения можно настроить хранилище данных по умолчанию и вычисления по умолчанию конвейера. Это хранилище и вычисление по умолчанию для всех компонентов в конвейере. Но обратите внимание, что если вы устанавливаете другое вычислительное хранилище или хранилище данных для компонента явным образом, система учитывает параметр уровня компонента. В противном случае используется значение конвейера по умолчанию.
Шаг проверки и отправки — это последний шаг для проверки всех конфигураций перед отправкой. Мастер запоминает конфигурацию последнего времени при отправке конвейера.
После отправки задания конвейера вверху появится сообщение со ссылкой на сведения о задании. Эту ссылку можно выбрать, чтобы просмотреть сведения о задании.
Следующие шаги
- Используйте эти записные книжки Jupyter на сайте GitHub, чтобы подробнее изучить конвейеры машинного обучения.
- Узнайте , как использовать интерфейс уровня вызова версии 2 для создания конвейера с помощью компонентов.
- Узнайте , как использовать пакет SDK версии 2 для создания конвейера с помощью компонентов