Compartilhar via


Crie e execute pipelines de machine learning usando componentes com o estúdio do Azure Machine Learning

APLICA-SE A: Extensão de ML da CLI do Azurev2 (atual)

Neste artigo, você aprenderá a criar e executar pipelines de machine learning usando os componentes e o Estúdio do Azure Machine Learning. Você pode criar pipelines sem usar componentes, mas eles oferecem maior flexibilidade e capacidade de reutilização. Os Pipelines do Azure Machine Learning podem ser definidos no YAML e executados na CLI, criados no Python ou compostos no Designer do Estúdio do Azure Machine Learning com uma interface do usuário do tipo “arrastar e soltar”. Este documento tem como foco a interface do usuário do designer do Estúdio do Azure Machine Learning.

Pré-requisitos

Observação

O Designer tem suporte para dois tipos de componentes, componentes predefinidos clássicos(v1) e componentes personalizados(v2). Esses dois tipos de componentes NÃO são compatíveis.

Os componentes predefinidos clássicos fornecem componentes predefinidos principalmente para processamento de dados e tarefas tradicionais de aprendizado de máquina, como regressão e classificação. Componentes predefinidos clássicos continuam com suporte, mas não terão nenhum componente novo adicionado. Além disso, a implantação de componentes predefinidos clássicos (v1) não dá suporte a pontos de extremidade online gerenciados (v2).

Componentes personalizados permitem que você envolva seu próprio código como um componente. Ele dá suporte ao compartilhamento de componentes entre workspaces e à criação contínua nas interfaces do Studio, da CLI v2 e do 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 se aplica a componentes personalizado.

Registrar o componente no seu workspace

Para compilar um pipeline usando componentes na interface do usuário, você precisa primeiro registrar componentes no seu workspace. Você pode usar a interface do usuário, a CLI ou o SDK para registrar componentes no seu espaço de trabalho, para que você possa compartilhar e reutilizar o componente dentro do espaço de trabalho. Os componentes registrados são compatíveis com controle de versão automático para que você possa atualizar o componente, mas garantir que os pipelines que exigem uma versão mais recente continuem funcionando.

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

  1. No seu workspace do Azure Machine Learning, navegue até a página Componentes e selecione Novo Componente (uma das duas páginas de estilo será exibida).

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.

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

Observação

Ao registrar componentes na interface do usuário, code definido no arquivo YAML do componente só pode apontar para a pasta atual em que o arquivo YAML está localizado ou para as subpastas, o que significa que você não pode especificar ../ para code, pois a interface do usuário não pode reconhecer o diretório pai. additional_includes só pode apontar para a pasta atual ou subpasta. Atualmente, a interface do usuário só dá suporte ao registro de componentes com o tipo command.

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

Captura de tela mostrando o carregamento da pasta local.

  1. Selecione Avançar na parte inferior e você poderá confirmar os detalhes desse componente. Após a confirmação, selecione Criar para concluir o processo de registro.

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

  3. Após o registro dos três componentes com êxito, você pode ver seus componentes na interface do usuário do estúdio.

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

Criar pipeline usando o componente registrado

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

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

  2. Dê um nome significativo ao pipeline 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, na qual você pode ver os componentes registrados na seção anterior. Se houver muitos componentes, você poderá pesquisar com o nome do componente.

    Captura de tela que mostra o componente registrado na biblioteca de ativos.

    Localize os componentes de treinamento, pontuação e avaliação registrados na seção anterior e arreste-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 que mostra a alteração da versão do componente.

    Neste exemplo, usaremos os dados de exemplo nesse caminho. Registre os dados em seu workspace selecionando o ícone Adicionar na biblioteca de ativos do designer -> guia Dados, defina Tipo = Pasta(uri_folder) e siga o assistente para registrar os dados. O tipo de dados precisa ser uri_folder para se alinhar com a definição do componente de treinamento.

    Captura de tela mostrando Adicionar dados.

    Em seguida, arraste e solte os dados na tela. Agora, a aparência do pipeline deve ser semelhante à captura de tela a seguir.

    Captura de tela mostrando o rascunho do pipeline.

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

    Gif mostrando a conexão ao pipeline.

  5. Clique duas vezes em um componente e você verá um painel direito no qual poderá configurar o componente.

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

    Em componentes com entradas de tipo simples, como número, inteiro, cadeia de caracteres e booliano, 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 as configurações de execução (destino de computação para executar esse componente) no painel direito.

    Agora vamos promover a entrada max_epocs do componente de treinamento para a entrada de nível do pipeline. Fazendo isso, você pode atribuir um valor diferente a essa entrada toda vez antes de enviar o pipeline.

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

Observação

Os componentes personalizados e os componentes predefinidos clássicos do designer não podem ser usados juntos.

Enviar pipeline

  1. Selecione Configurar e 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 Entradas e Saídas, você pode configurar as Entradas/Saídas promovidas no nível do pipeline. Na etapa anterior, promovemos o max_epocs do componente de treinamentopara a entrada do pipeline, portanto, você deve conseguir ver e atribuir valor a max_epocs aqui.

Em Configurações de runtime, você pode definir 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. Observe que, se você definir uma computação ou armazenamento de dados diferente para um componente de forma explícita, o sistema respeitará a configuração de nível do componente. Caso contrário, ele usará o valor padrão do pipeline.

A etapa Examinar + Enviar é a última etapa para examinar todas as configurações antes do envio. O assistente se lembrará de sua última configuração 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 examinar os detalhes do trabalho.

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 por enquanto, damos suporte a UserIdentity e Managed. Para UserIdentity, a identidade do remetente de 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óximas etapas