Поделиться через


Запуск задания R для обучения модели

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

В этой статье объясняется, как выполнить скрипт R, адаптированный для выполнения в рабочей среде, и настроить его для запуска в качестве задания R с помощью Машинное обучение Azure CLI версии 2.

Примечание.

Хотя название этой статьи относится к обучению модели, вы можете на самом деле запустить любой вид скрипта R, если он соответствует требованиям, перечисленным в адаптируемой статье.

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

Создание папки с этой структурой

Создайте эту структуру папок для проекта:

📁 r-job-azureml
├─ src
│  ├─ azureml_utils.R
│  ├─ r-source.R
├─ job.yml

Внимание

Весь исходный src код переходит в каталог.

  • Источник r. R-файл — это скрипт R , адаптированный для выполнения в рабочей среде. Убедитесь, что вы выполните действия по кэшированию и регистрации модели в этом скрипте.
  • Azureml_utils . Требуется R-файл . Используйте этот исходный код для содержимого файла.

Подготовка задания YAML

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

Необходимо собрать определенные фрагменты информации, чтобы поместить их в YAML:

  • Имя зарегистрированного ресурса данных, используемого в качестве входных данных (с версией): azureml:<REGISTERED-DATA-ASSET>:<VERSION>
  • Имя созданной среды (с версией): azureml:<R-ENVIRONMENT-NAME>:<VERSION>
  • Имя вычислительного кластера: azureml:<COMPUTE-CLUSTER-NAME>

Совет

Для артефактов Машинное обучение Azure, требующих версий (ресурсов данных, сред), можно использовать URI azureml:<AZUREML-ASSET>@latest ярлыка, чтобы получить последнюю версию этого артефакта, если вам не нужно задать определенную версию.

Пример схемы YAML для отправки задания

Измените файл job.yml, чтобы он содержал следующее. Обязательно замените отображаемые <IN-BRACKETS-AND-CAPS> значения и удалите квадратные скобки.

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
# the Rscript command goes in the command key below. Here you also specify 
# which parameters are passed into the R script and can reference the input
# keys and values further below
# Modify any value shown below <IN-BRACKETS-AND-CAPS> (remove the brackets)
command: >
Rscript <NAME-OF-R-SCRIPT>.R
--data_file ${{inputs.datafile}}  
--other_input_parameter ${{inputs.other}}
code: src   # this is the code directory
inputs:
  datafile: # this is a registered data asset
    type: uri_file
    path: azureml:<REGISTERED-DATA-ASSET>@latest
  other: 1  # this is a sample parameter, which is the number 1 (as text)
environment: azureml:<R-ENVIRONMENT-NAME>@latest
compute: azureml:<COMPUTE-CLUSTER-OR-INSTANCE-NAME>
experiment_name: <NAME-OF-EXPERIMENT>
description: <DESCRIPTION>

отправить задание.

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

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

Найдите следующие значения из Студия машинного обучения Azure:

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

Снимок экрана: поиск значений, используемых в команде CLI.

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

  1. Измените каталоги в каталоги r-job-azureml.

    cd r-job-azureml
    
  2. войдите в Azure. Если вы выполняете это из Машинное обучение Azure вычислительного экземпляра, используйте следующее:

    az login --identity
    

    Если вы не находитесь в вычислительном экземпляре, опустите --identity и следуйте запросу, чтобы открыть окно браузера для проверки подлинности.

  3. Убедитесь, что у вас есть самые последние версии интерфейса командной строки и ml расширения:

    az upgrade
    
  4. Если у вас несколько подписок Azure, задайте активную подписку на ту, которую вы используете для рабочей области. (Этот шаг можно пропустить, только если у вас есть доступ только к одной подписке.) Замените <SUBSCRIPTION-NAME> именем подписки. Также удалите квадратные скобки <>.

    az account set --subscription "<SUBSCRIPTION-NAME>"
    
  5. Теперь используйте CLI для отправки задания. Если вы делаете это в вычислительном экземпляре рабочей области, можно использовать переменные среды для имени рабочей области и группы ресурсов, как показано в следующем коде. Если вы не используете вычислительный экземпляр, замените эти значения именем рабочей области и группой ресурсов.

    az ml job create -f job.yml  --workspace-name $CI_WORKSPACE --resource-group $CI_RESOURCE_GROUP
    

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

  1. Войдите в Студию машинного обучения Azure.
  2. Выберите рабочую область, если она еще не загружена.
  3. В области навигации слева выберите "Задания".
  4. Выберите имя эксперимента, используемое для обучения модели.
  5. Выберите отображаемое имя задания для просмотра сведений и артефактов задания, включая метрики, изображения, дочерние задания, выходные данные, журналы и код, используемые в задании.

Регистрация модели

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

  1. После завершения задания выберите "Выходные данные и журналы ", чтобы просмотреть выходные данные задания.

  2. Откройте папку моделей, чтобы проверить наличие crate.bin и MLmodel. Если нет, проверьте журналы, чтобы узнать, произошла ли ошибка.

  3. На панели инструментов вверху выберите +Зарегистрировать модель.

    Снимок экрана: раздел

  4. Не используйте тип модели MLflow , даже если он обнаружен. Измените тип модели с типа MLflow по умолчанию на неопределенный тип. При выходе из нее в качестве MLflow возникает ошибка.

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

  6. Выберите Далее.

  7. Укажите имя, которое вы хотите использовать для модели. При желании добавьте описание, версию и теги .

  8. Выберите Далее.

  9. Проверьте сведения.

  10. Выберите Зарегистрировать.

В верхней части страницы вы увидите подтверждение регистрации модели. Подтверждение выглядит примерно так:

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

Щелкните здесь, чтобы перейти к этой модели. Если вы хотите просмотреть сведения о зарегистрированной модели.

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

Теперь, когда у вас есть зарегистрированная модель, узнайте, как развернуть модель R в сети (в реальном времени).