Criar e executar pipelines de aprendizado de máquina usando componentes com o estúdio de Aprendizado de Máquina do Azure

APLICA-SE A: Azure CLI ml extension v2 (atual)

Neste artigo, você aprenderá a criar e executar pipelines de aprendizado de máquina usando o estúdio e os Componentes do Azure Machine Learning. Você pode criar pipelines sem usar componentes, mas os componentes oferecem melhor flexibilidade e reutilização. Os Pipelines do Azure Machine Learning podem ser definidos em YAML e executados a partir da CLI, criados em Python ou compostos no Azure Machine Learning studio Designer com uma interface do usuário de arrastar e soltar. Este documento se concentra na interface do usuário do designer do estúdio do Azure Machine Learning.

Pré-requisitos

Nota

O Designer suporta dois tipos de componentes, componentes pré-construídos clássicos (v1) e componentes personalizados (v2). Estes dois tipos de componentes NÃO são compatíveis.

Os componentes pré-construídos clássicos fornecem componentes pré-construídos principalmente para processamento de dados e tarefas tradicionais de aprendizado de máquina, como regressão e classificação. Os componentes pré-construídos clássicos continuam a ser suportados, mas não terão novos componentes adicionados. Além disso, a implantação de componentes pré-construídos clássicos (v1) não oferece suporte a pontos de extremidade online gerenciados (v2).

Os componentes personalizados permitem que você envolva seu próprio código como um componente. Ele suporta o compartilhamento de componentes entre espaços de trabalho e a criação contínua entre interfaces de estúdio, CLI v2 e SDK v2.

Para novos projetos, sugerimos que você use o componente personalizado, que é compatível com o AzureML V2 e continuará recebendo novas atualizações.

Este artigo aplica-se a componentes personalizados.

Registrar componente em seu espaço de trabalho

Para criar pipeline usando componentes na interface do usuário, você precisa registrar componentes em seu espaço de trabalho primeiro. Você pode usar a interface do usuário, CLI ou SDK para registrar componentes em seu espaço de trabalho, para que você possa compartilhar e reutilizar o componente dentro do espaço de trabalho. Os componentes registrados suportam o controle de versão automático para que você possa atualizar o componente, mas garantir que os pipelines que exigem uma versão mais antiga continuem a funcionar.

O exemplo a seguir usa a interface do usuário para registrar componentes, e os arquivos de origem do componente estão no diretório do azureml-examples repositório.cli/jobs/pipelines-with-components/basics/1b_e2e_registered_components Você precisa clonar o repositório para local primeiro.

  1. No seu espaço de trabalho do Azure Machine Learning, navegue até a página Componentes e selecione Novo Componente (uma das duas páginas de estilo aparecerá).

Captura de tela mostrando o botão de entrada de registro na página do componente.

Captura de tela mostrando o botão de entrada de registro na página do componente com pode incluir arquivo.

Este exemplo usa train.yml no diretório. O arquivo YAML define o nome, tipo, interface, incluindo entradas e saídas, código, ambiente e comando deste componente. O código deste componente train.py está em ./train_src pasta, que descreve a lógica de execução deste componente. Para saber mais sobre o esquema do componente, consulte a referência do esquema YAML do componente de comando.

Nota

Ao registrar componentes na interface do usuário, definidos no componente, code o arquivo YAML só pode apontar para a pasta atual onde o arquivo YAML localiza ou para as subpastas, o que significa que você não pode especificar ../ para code como a interface do usuário não pode reconhecer o diretório pai. additional_includes só pode apontar para a pasta atual ou sub. Atualmente, a interface do usuário suporta apenas o registro de componentes com command tipo.

  1. Selecione Carregar da pasta e selecione a 1b_e2e_registered_components pasta a carregar. Selecione train.yml na lista suspensa.

Captura de ecrã a mostrar o carregamento a partir da pasta local.

  1. Selecione Avançar na parte inferior e você pode confirmar os detalhes desse componente. Depois de confirmar, selecione Criar para concluir o processo de registro.

  2. Repita as etapas anteriores para registrar o componente Score e Eval usando score.yml e eval.yml também.

  3. Depois de registrar os três componentes com êxito, você pode ver seus componentes na interface do usuário do estúdio.

Captura de tela mostrando o componente registrado na página do componente.

Criar pipeline usando o componente registrado

  1. Crie um novo pipeline no designer. Lembre-se de selecionar a opção Personalizar .

    Captura de tela mostrando a criação de um novo pipeline na página inicial do designer.

  2. Dê ao pipeline um nome significativo selecionando o ícone de lápis ao lado do nome gerado automaticamente.

    Captura de tela mostrando renomear o pipeline.

  3. Na biblioteca de ativos do designer, você pode ver as guias Dados, Modelo e Componentes . Alterne para a guia Componentes , você pode ver os componentes registrados na seção anterior. Se houver muitos componentes, você pode pesquisar com o nome do componente.

    Captura de tela mostrando o componente registrado na biblioteca de ativos.

    Encontre os componentes de trem, pontuação e eval registrados na seção anterior e arraste-os e solte-os na tela. Por padrão, ele usa a versão padrão do componente e você pode alterar para uma versão específica no painel direito do componente. O painel direito do componente é invocado clicando duas vezes no componente.

    Captura de tela mostrando a alteração da versão do componente.

    Neste exemplo, usaremos os dados de exemplo sob esse caminho. Registre os dados em seu espaço de trabalho selecionando o ícone adicionar na biblioteca de ativos do designer -> guia dados, defina Type = Folder(uri_folder) e siga o assistente para registrar os dados. O tipo de dados precisa ser uri_folder para alinhar com a definição do componente do trem.

    Captura de ecrã a mostrar adicionar dados.

    Em seguida, arraste e solte os dados na tela. Sua aparência de pipeline deve se parecer com a captura de tela a seguir agora.

    Captura de tela mostrando o rascunho do pipeline.

  4. Conecte os dados e componentes arrastando conexões na tela.

    Gif mostrando a conexão do pipeline.

  5. Clique duas vezes em um componente, você verá um painel direito onde você pode configurar o componente.

    Captura de tela mostrando as configurações de parâmetros do componente.

    Para componentes com entradas de tipo primitivo como número, inteiro, cadeia de caracteres e booleano, você pode alterar os valores dessas entradas no painel detalhado do componente, na seção Entradas .

    Você também pode alterar as configurações de saída (onde armazenar a saída do componente) e executar as configurações (destino de computação para executar esse componente) no painel direito.

    Agora vamos promover a entrada max_epocs do componente de trem para a entrada no nível do pipeline. Ao fazer isso, você pode atribuir um valor diferente a essa entrada sempre antes de enviar o pipeline.

    Captura de tela mostrando como promover a entrada de componentes para entrada de pipeline.

Nota

Os componentes personalizados e os componentes pré-construídos clássicos do designer não podem ser usados juntos.

Enviar pipeline

  1. Selecione Configurar & Enviar no canto superior direito para enviar o pipeline.

    Captura de tela mostrando o botão configurar e enviar.

  2. Em seguida, você verá um assistente passo a passo, siga o assistente para enviar o trabalho de pipeline.

Captura de tela mostrando o assistente de envio.

Na etapa Noções básicas, você pode configurar o experimento, o nome de exibição do trabalho, a descrição do trabalho, etc.

Na etapa Inputs & Outputs , você pode configurar as Entradas/Saídas que são promovidas para o nível de pipeline. Na etapa anterior, promovemos a max_epocs do componente de trem para a entrada de tubulação, então você deve ser capaz de ver e atribuir valor a max_epocs aqui.

Nas configurações de tempo de execução, você pode configurar o armazenamento de dados padrão e a computação padrão do pipeline. É o armazenamento de dados/computação padrão para todos os componentes no pipeline. Mas observe que, se você definir uma computação ou armazenamento de dados diferente para um componente explicitamente, o sistema respeitará a configuração de nível de componente. Caso contrário, ele usa o valor padrão do pipeline.

A etapa Revisar + Enviar é a última etapa para revisar todas as configurações antes de enviar. O assistente se lembra da configuração da última vez se você enviar o pipeline.

Depois de enviar o trabalho de pipeline, haverá uma mensagem na parte superior com um link para os detalhes do trabalho. Você pode selecionar este link para revisar os detalhes da vaga.

Captura de tela mostrando a mensagem de envio.

Especificar identidade no trabalho de pipeline

Ao enviar o trabalho de pipeline, você pode especificar a identidade para acessar os dados em Run settings. A identidade padrão é AMLToken que não usou nenhuma identidade, enquanto isso, suportamos ambos e ManagedUserIdentity . Para UserIdentity, a identidade do remetente do trabalho é usada para acessar dados de entrada e gravar o resultado na pasta de saída. Se você especificar Managed, o sistema usará a identidade gerenciada para acessar os dados de entrada e gravar o resultado na pasta de saída.

Captura de tela mostrando como definir a identidade no trabalho de pipeline.

Próximos passos