Gerenciar ativos do espaço de trabalho com a CLI (v2)
No Azure Machine Learning, é comum trabalhar com ativos como recursos de computação, ambientes e conjuntos de dados para treinar modelos de aprendizado de máquina. Com a CLI do Azure, você pode criar e gerenciar facilmente esses ativos.
Você deseja treinar o modelo de aprendizado de máquina para prever a rotatividade do cliente no espaço de trabalho que você criou. Para executar o bloco de anotações que treina o modelo, você precisa criar um recurso e um ambiente de computação no espaço de trabalho do Azure Machine Learning. O bloco de anotações usa um conjunto de dados CSV e, para fazer referência a esses dados, você também criará um conjunto de dados no espaço de trabalho.
Você aprenderá a usar a CLI do Azure (v2) para criar recursos de computação, um ambiente e um conjunto de dados no espaço de trabalho do Azure Machine Learning.
Recursos de computação
Para executar um bloco de anotações ou script Python no espaço de trabalho do Azure Machine Learning, você precisa de um recurso de computação. Há dois tipos de recursos de computação que você usa mais comumente para treinar um modelo:
- Instância de computação: uma instância de computação é um espaço de trabalho baseado em nuvem que você pode usar como um ambiente de desenvolvimento. Você pode usar ferramentas como Jupyter e VS Code com uma instância de computação para colaborar em blocos de anotações e scripts. Você pode escolher o tamanho da VM da instância de computação e iniciá-la e pará-la manual ou automaticamente com base em uma agenda.
- Cluster de computação: um cluster de computação é uma infraestrutura de computação gerenciada que é dimensionada automaticamente quando um trabalho é enviado. Você pode criar um cluster de computação de um ou vários nós com base no tamanho da VM de sua escolha. Um cluster de computação é mais comumente usado para executar trabalhos agendados e pipelines.
Criar uma instância de computação
A equipe de ciência de dados disse que deseja usar o Azure Machine Learning para colaborar em projetos de aprendizado de máquina de forma mais eficaz. A maioria dos cientistas de dados estava trabalhando com o Jupyter em seu próprio computador. A maneira mais fácil de migrar o projeto de rotatividade do cliente para o Aprendizado de Máquina do Azure é pegar os dados e o bloco de anotações e executar o bloco de anotações em uma instância de computação.
Para criar uma instância de computação com a CLI (v2), você pode usar o az ml compute create
comando. Você precisará decidir sobre estes parâmetros:
--resource-group
: Nome do grupo de recursos. Se você configurou um grupo padrão comaz configure --defaults group=<name>
o , não precisará usar esse parâmetro.--workspace-name
: Nome do espaço de trabalho do Azure Machine Learning. Se você configurou um espaço de trabalho padrão comaz configure --defaults workspace=<name>
o , não precisará usar esse parâmetro.--name
: Nome do destino de computação. O nome deve ter menos de 24 caracteres e ser exclusivo dentro de uma região do Azure.--size
: Tamanho da VM a ser usado para a instância de computação. Saiba mais sobre as séries e tamanhos de VM suportados.--type
: Tipo de destino de computação. Para criar uma instância de computação, useComputeInstance
.
Nota
Todos os exemplos de código pressupõem que há um grupo de recursos padrão e um espaço de trabalho do Azure Machine Learning configurado.
Para criar uma instância de computação para treinar o modelo de rotatividade do cliente, use este comando:
az ml compute create --name "testdev-vm" --size STANDARD_DS11_V2 --type ComputeInstance
Para obter mais informações para criar recursos de computação com a CLI (v2), consulte az ml compute create.
Criar um cluster de computação
Você planeja primeiro treinar o modelo de rotatividade do cliente executando o bloco de anotações com a instância de computação. Quando for bem-sucedido, você deseja treinar o modelo com um cluster de computação. Treinar o modelo com um cluster de computação significa que você pode agendar um trabalho para treinar novamente o modelo sempre que necessário.
Para criar um cluster de computação com a CLI (v2), use o az ml compute create
comando. Há algumas configurações adicionais que você pode incluir ao criar um cluster de computação:
--type
: Para criar um cluster de computação, useAmlCompute
.--min-instances
: O número mínimo de nós usados no cluster. O padrão é 0 nós.--max-instances
: O número máximo de nós. A predefinição é 4.
az ml compute create --name "aml-cluster" --size STANDARD_DS11_V2 --max-instances 2 --type AmlCompute
Para saber mais sobre como criar e gerenciar um cluster de computação, consulte o guia de instruções sobre como criar um cluster de computação do Azure Machine Learning.
Criar um ambiente
Você espera usar um cluster de computação no futuro para treinar novamente o modelo sempre que necessário. Para treinar o modelo em uma instância de computação ou cluster de computação, todos os pacotes necessários precisam ser instalados na computação para executar o código. Em vez de instalar manualmente esses pacotes toda vez que você usa uma nova computação, você pode listá-los em um ambiente.
Cada espaço de trabalho do Azure Machine Learning terá, por padrão, uma lista de ambientes selecionados quando você criar o espaço de trabalho. Os ambientes com curadoria incluem pacotes comuns de aprendizado de máquina para treinar um modelo.
Se você precisar criar seu próprio ambiente porque nenhum dos ambientes selecionados atende às suas necessidades, você pode fazê-lo com o az ml environment create
comando:
az ml environment create --file basic-env.yml
Para criar um ambiente em seu espaço de trabalho que você possa reutilizar a qualquer momento, você precisa consultar um arquivo YAML. Nesse ficheiro pode especificar:
- O nome do ambiente como será conhecido no espaço de trabalho.
- A versão do ambiente.
- A imagem base do Docker.
- O caminho local para o arquivo de ambiente Conda listando os pacotes e bibliotecas que você deseja usar.
O arquivo de ambiente Conda pode ser outro YAML como este:
name: basic-env-ml
channels:
- conda-forge
dependencies:
- python=3.8
- pip
- pip:
- numpy
- pandas
- scikit-learn
- matplotlib
- azureml-mlflow
O arquivo YAML para criar o ambiente, que se referirá ao arquivo de ambiente Conda, terá esta aparência:
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: basic-env-scikit
version: 1
image: mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04
conda_file: file:conda-envs/basic-env-ml.yml
Certifique-se de que ambos os arquivos YAML são armazenados localmente no mesmo computador a partir do qual você executará o comando para criar o ambiente. Para obter um ambiente de exemplo criado com a CLI (v2), vá para o repositório de exemplos do Azure Machine Learning.
Para obter uma lista de todos os ambientes em seu espaço de trabalho, use o az ml environment list
comando. Os ambientes com curadoria e personalizados serão exibidos nesta lista. Todos os ambientes também podem ser encontrados no Estúdio de Aprendizado de Máquina do Azure, na guia Ambientes.
Saiba mais sobre os comandos para gerenciar ambientes do Azure ML.
Todos os ambientes registrados persistirão no espaço de trabalho do Azure Machine Learning e poderão ser usados sempre que você quiser treinar um modelo ou executar um trabalho.
Criar um ativo de conjunto de dados
O cientista de dados fornece o bloco de anotações Python e um conjunto de dados CSV. Você deseja executar o bloco de anotações na instância de computação que criou para testar o treinamento do modelo no espaço de trabalho do Azure Machine Learning. Você pode carregar o conjunto de dados CSV para a instância de computação, mas após o teste, deseja treinar o modelo com um cluster de computação. Para torná-lo mais preparado para o futuro, você deseja carregar o CSV em um armazenamento de dados conectado ao espaço de trabalho e criar um conjunto de dados que se refira ao CSV a ser usado ao treinar o modelo.
Você tem o CSV como um arquivo local no seu computador. Usando a CLI (v2), você cria um ativo de conjunto de dados no espaço de trabalho. O Azure Machine Learning carregará automaticamente o CSV no armazenamento de dados padrão do espaço de trabalho. O armazenamento de dados padrão é a conta de armazenamento que foi criada junto com o espaço de trabalho, a menos que você a altere.
Para criar um ativo de conjunto de dados a partir de um arquivo local, você precisará:
- Crie um arquivo de especificação YAML referente ao arquivo local.
- Execute o comando
az ml dataset create
.
No arquivo YAML você incluirá:
- O nome do ativo do conjunto de dados como ele será exibido no espaço de trabalho.
- A versão do ativo do conjunto de dados.
- O caminho local para o arquivo de dados.
- Opcionalmente, pode adicionar uma descrição.
Armazene o arquivo YAML e o conjunto de dados CSV em algum lugar no seu computador:
$schema: https://azuremlschemas.azureedge.net/latest/asset.schema.json
name: customer-churn-data
version: 1
local_path: customer-churn.csv
description: Dataset pointing to customer churn CSV on local computer. Data will be uploaded to default datastore.
No prompt do shell, navegue até a pasta que contém o arquivo YAML e o CSV. Em seguida, execute o comando para criar o conjunto de dados no espaço de trabalho:
az ml dataset create --file data-local-path.yml
À medida que os dados são carregados no armazenamento de dados padrão, o progresso do carregamento dos dados é mostrado no prompt. Quando concluído, o conjunto de dados aparecerá na guia Conjuntos de Dados do seu espaço de trabalho ao abrir o Azure ML Studio. Ou você pode listar todos os conjuntos de dados no espaço de trabalho usando o comando list:
az ml dataset list
Saiba mais sobre os comandos para gerenciar ativos de conjunto de dados do Azure ML.
O conjunto de dados agora está disponível para qualquer pessoa com acesso ao espaço de trabalho. Quando você treina um modelo executando um trabalho, pode consultar o conjunto de dados para usá-lo como entrada para o trabalho.
Importante
Você pode usar arquivos YAML para definir a configuração ao criar ativos como computação, ambientes e conjuntos de dados com a CLI (v2). Encontre mais exemplos dos arquivos YAML usados para criar ativos no repositório de exemplos do Azure Machine Learning para a CLI (v2).