Criar trabalhos do Azure Machine Learning

Concluído

A primeira etapa para colocar um modelo de machine learning em operação é executá-lo como um trabalho do Azure Machine Learning. Você pode executar scripts individuais como trabalhos de comando ou grupos de scripts como um trabalho de pipeline.

A equipe de ciência de dados entrega a você o trabalho em um Jupyter Notebook, no qual os dados são carregados, transformados e treinados. Para preparar o código e o modelo para produção, você precisará:

  • Refatorar o notebook em scripts.
  • Referenciar os scripts na definição de trabalho.
  • Disparar o trabalho para treinar o modelo.

Refatorar código em scripts

Para deixar um modelo de machine learning pronto para produção, primeiro você deve preparar seu código para produção. Se você tiver um Jupyter Notebook que precisa ser convertido em código de produção, você precisará:

  • Limpar o código não essencial.
  • Exportar o código para scripts do Python.
  • Use funções em seus scripts.

Ao usar funções nos scripts, será mais fácil testar a qualidade do código. Quando você tiver um script que deseja executar, use um trabalho do Azure Machine Learning para executar o código.

Definir o trabalho do Azure Machine Learning

Para definir um trabalho no Azure Machine Learning, crie um arquivo YAML. Não importa se você deseja executar um script como um trabalho de comando ou vários scripts sequencialmente como um pipeline. Para trabalhos de pipeline e de comando, você precisará criar um arquivo YAML, que detalhe:

  • Quais scripts executar.
  • Quais são as entradas e saídas de cada script.
  • A computação que será usada para executar os scripts.
  • O ambiente que precisa ser instalado na computação para executar os scripts.

Veja um exemplo de um trabalho de comando que usa um ativo de dados registrado como entrada ao executar o script main.py mostrado no seguinte YAML:

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
  python main.py 
  --diabetes-csv ${{inputs.diabetes}}
inputs:
  diabetes:
    path: azureml:diabetes-data:1
    mode: ro_mount
environment: azureml:basic-env-scikit@latest
compute: azureml:aml-instance
experiment_name: diabetes-data-example
description: Train a classification model on diabetes data using a registered dataset as input.

No arquivo YAML, você encontrará os detalhes que precisa incluir:

  • O code refere-se à pasta local, que armazena os scripts que você deseja executar. A chave command especifica que o script main.py na pasta src deve ser executado, usando o valor inputs.diabetes para o parâmetro diabetes-csv.
  • A versão 1 do ativo de dados registrados diabetes-data no workspace do Azure Machine Learning é montada na computação a ser usada como entrada para o script.
  • A instância de computação aml-instance será usada para executar os scripts.
  • A versão mais recente do ambiente basic-env-scikit personalizado registrado será instalada na instância de computação antes de executar o script.

Para testar a definição YAML do trabalho, você pode dispará-lo usando a CLI v2.

Disparar o trabalho do Azure Machine Learning

Sempre que desejar executar um trabalho de Azure Machine Learning, você poderá usar a CLI v2. A CLI v2 pode ser instalada em seu dispositivo local ou você pode usar o Azure Cloud Shell.

Se você deseja disparar execuções em seu dispositivo local ou usando o Azure Cloud Shell, primeiro você precisa instalar a extensão do Azure Machine Learning.

Para instalar no Windows, use o seguinte comando:

az extension add -n ml -y

Depois de instalar a extensão de Azure Machine Learning para a CLI e ter acesso à assinatura do Azure com a qual você deseja trabalhar, envie um trabalho do Azure Machine Learning usando o seguinte comando:

az ml job create --file job.yml

Observação

Para saber mais sobre como gerenciar trabalhos do Azure Machine Learning com a CLI (v2), acesse a documentação de referência de trabalho do az ml.