Criar trabalhos do Azure Machine Learning

Concluído

A primeira etapa para operacionalizar um modelo de aprendizado de máquina é 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 oferece seu trabalho em um notebook Jupyter no qual os dados são carregados, transformados e treinados. Para preparar o código e o modelo para produção, você precisará:

  • Refatore o bloco de anotações em scripts.
  • Consulte o(s) script(s) na definição de trabalho.
  • Acione o trabalho para treinar o modelo.

Refatorar código para scripts

Para preparar um modelo de aprendizado de máquina para produção, você deve primeiro preparar seu código para produção. Quando você tiver um bloco de anotações Jupyter que precisa ser convertido em código de produção, você precisará:

  • Limpe o código não essencial.
  • Exporte seu código para scripts Python.
  • Use funções em seus scripts.

Usando funções em seus scripts, será mais fácil testar a qualidade do código. Quando você tem um script que deseja executar, pode usar 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, você pode criar um arquivo YAML. Se você deseja executar um script como um trabalho de comando ou vários scripts sequencialmente como um pipeline. Para trabalhos de comando e pipeline, você precisará criar um arquivo YAML, que detalha:

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

Um exemplo de um trabalho de comando que usa um ativo de dados registrado como entrada ao executar o main.py script é 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 necessários que precisa incluir:

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

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

Acionar o trabalho do Azure Machine Learning

Sempre que quiser executar um trabalho do 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.

Quer pretenda acionar execuções a partir do seu dispositivo local ou utilizando o Azure Cloud Shell, primeiro tem de 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 do Azure Machine Learning para a CLI e ter acesso à assinatura do Azure com a qual deseja trabalhar, você pode enviar um trabalho do Azure Machine Learning usando o seguinte comando:

az ml job create --file job.yml

Nota

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