Como usar a interface do usuário do pipeline para depurar falhas de pipeline do Azure Machine Learning

Depois de enviar um pipeline, você verá um link para o trabalho de pipeline no workspace do Azure Machine Learning. O link coloca você na página de trabalho do pipeline no Estúdio do Azure Machine Learning, no qual você pode marcar resultado e depurar seu trabalho de pipeline.

Este artigo mostra como usar a página de trabalho de pipeline para depurar falhas de pipeline de aprendizado de máquina.

Importante

Os itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. A versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.

Usar a estrutura de tópicos para localizar rapidamente um nó

Na página de detalhes do trabalho de pipeline, há uma estrutura de tópicos à esquerda da tela, que mostra a estrutura geral do trabalho de pipeline. Ao passar o mouse sobre qualquer linha, você pode selecionar o botão "Localizar" para localizar esse nó na tela.

Captura de tela mostrando o contorno e a localização na tela.

Você pode filtrar nós com falha ou concluídos e filtrar somente componentes ou conjunto de dados para pesquisa adicional. O painel esquerdo mostra os nós correspondentes com mais informações, incluindo status, duração e tempo criado.

Captura de tela mostrando o Filtrar rapidamente por na pesquisa do contorno >.

Você também pode classificar os nós filtrados.

Captura de tela do resultado da pesquisa de classificação na pesquisa do contorno >.

Verificar logs e saídas do componente

Se o pipeline falhar ou ficar preso em um nó, primeiro exiba os logs.

  1. Você pode selecionar o nó específico e abrir o painel direito.

  2. Selecione a guia Saídas+logs para explorar todas as saídas e logs desse nó.

    A pasta user_logs contém informações sobre logs gerados pelo código do usuário. Essa pasta é aberta por padrão e o std_log.txt log está selecionado. Esse std_log.txt é onde os logs do seu código (por exemplo, as instruções print) aparecem.

    A pasta system_logs contém logs gerados pelo Azure Machine Learning. Saiba mais sobre Como exibir e baixar logs de diagnóstico.

    Captura de tela mostrando como verificar os logs dos nós.

    Se você não vir essas pastas, é porque a atualização de tempo de execução de computação ainda não foi liberada para o cluster de computação e você pode examinar 70_driver_log.txt na pasta azureml-logs primeiro.

Comparar pipelines diferentes com falha de depuração ou outros problemas inesperados (versão prévia)

A comparação de pipeline identifica as diferenças (incluindo topologia, propriedades de componente e propriedades de trabalho) entre vários trabalhos. Por exemplo, é possível comparar um pipeline bem-sucedido e um pipeline com falha, o que ajuda você a encontrar quais modificações fazem seu pipeline falhar.

Dois cenários principais em que é possível usar a comparação de pipeline para ajudar na depuração:

  • Depurar seu trabalho de pipeline com falha comparando-o com um concluído.
  • Depurar seu nó com falha em um pipeline comparando-o com um semelhante concluído.

Para habilitar esse recurso:

  1. Navegue até a interface do usuário do Estúdio do Azure Machine Learning.
  2. Selecione Gerenciar recursos de visualização (ícone de megafone) entre os ícones no canto superior direito da tela.
  3. No painel de Gerenciamento de versão prévia do recurso, alterne o recurso Comparar trabalhos de pipeline com falhas de depuração ou problemas inesperados.

Captura de tela da opção Gerenciamento da versão prévia do recurso ativada.

Como depurar seu trabalho de pipeline com falha comparando-o com um concluído

Durante o desenvolvimento de modelo iterativo, tenha um pipeline de linha de base e, em seguida, faça algumas modificações, como alterar um parâmetro, um conjunto de dados ou um recurso de computação etc. Se o novo pipeline falhou, use a comparação de pipeline para identificar o que mudou comparando-o com o pipeline de linha de base, o que pode ajudar a descobrir por que ele falhou.

Comparar um pipeline com seu pai

A primeira coisa que você deve verificar ao depurar é localizar o nó com falha e verificar os logs.

Por exemplo, você pode receber uma mensagem de erro mostrando que o pipeline falhou devido à falta de memória. Se o pipeline for clonado de um pipeline pai concluído, você poderá usar a comparação de pipeline para ver o que mudou.

  1. Selecione Mostrar linhagem.

  2. Selecione o link em "Clonado de". Isso abrirá uma nova guia do navegador com o pipeline pai.

    Captura de tela mostrando o link clonado, com a etapa anterior, o botão de linhagem realçado.

  3. Selecione Adicionar para comparar o pipeline com falha e o pipeline pai. Isso os adiciona na lista de candidatos de comparação.

    Captura de tela mostrando a lista de comparação com um pipeline pai e filho adicionado.

Comparar topologia

Depois que os dois pipelines forem adicionados à lista de comparação, você terá duas opções: Comparar detalhes e Comparar grafo. Comparar grafo permite comparar a topologia de pipeline.

Comparar grafo mostra as alterações de topologia de grafo entre o pipeline A e B. Os nós especiais no pipeline A são realçados em vermelho e marcados com "Somente A". Os nós especiais no pipeline B estão em verde e marcados com "Somente B". Os nós compartilhados estão em cinza. Se houver diferenças em nós compartilhados, o que foi alterado será mostrado na parte superior do nó.

Há três categorias de alterações com resumos que podem ser exibidos na página de detalhes, alteração de parâmetro, origem de entrada, componente de pipeline. Quando o componente de pipeline é alterado, isso significa que há uma alteração de topologia interna ou uma alteração de parâmetro de nó interno. É possível selecionar o ícone de pasta do nó do componente do pipeline para se aprofundar nos detalhes. Outras alterações podem ser detectadas exibindo os nós coloridos no grafo de comparação.

Captura de tela mostrando o parâmetro alterado e a guia informações do componente.

Comparar metadados e propriedades do pipeline

Se você investigar a diferença do conjunto de dados e descobrir que os dados ou a topologia não parecem ser a causa raiz da falha, também é possível verificar os detalhes do pipeline, como parâmetro de pipeline, configurações de saída ou execução.

Comparar grafo é usado para comparar topologia de pipeline. Comparar detalhes é usado para comparar metainformações ou configurações do link de propriedades do pipeline.

Para acessar a comparação de detalhes, acesse a lista de comparação, selecione Comparar detalhes ou selecione Mostrar detalhes de comparação na página de comparação de pipeline.

Você verá Propriedades de pipeline e Propriedades de execução.

  • As propriedades do pipeline incluem parâmetros de pipeline, configuração de execução e saída, etc.
  • As propriedades de execução incluem status do trabalho, tempo e duração do envio, etc.

A captura de tela a seguir mostra um exemplo de como usar a comparação de detalhes, em que a configuração de computação padrão pode ter sido o motivo da falha.

Captura de tela mostrando a visão geral da comparação da computação padrão.

Para verificar rapidamente a comparação de topologia, selecione o nome do pipeline e selecione Comparar grafo.

Captura de tela da comparação de detalhes com o grafo de comparação realçado.

Como depurar o nó com falha em um pipeline comparando-o com um nó concluído semelhante

Se você atualizou apenas as propriedades do nó e não alterou nada no pipeline, poderá depurar o nó comparando-o com os trabalhos enviados do mesmo componente.

Localize o trabalho com o qual comparar

  1. Encontre um trabalho bem-sucedido para comparar exibindo todas as execuções enviadas do mesmo componente.
    1. Selecione o nó com falha e selecione Exibir Trabalhos. Isso lhe dá uma lista de todos os trabalhos.

      Captura de tela que mostra um nó com falha com Exibir trabalhos realçado.

    2. Escolha um trabalho concluído como um destino de comparação.

  2. Depois de encontrar um trabalho com falha e um concluído para comparar, adicione os dois trabalhos à lista de candidatos de comparação.
    1. Para o nó com falha, selecione com o botão direito do mouse e selecione Adicionar para comparar.
    2. Para o trabalho concluído, acesse seu pipeline pai e localize o trabalho concluído. Em seguida, selecione Adicionar para comparar.
  3. Depois que os dois trabalhos estiverem na lista de comparação, selecione Comparar detalhes para mostrar as diferenças.

Compartilhar os resultados da comparação

Para compartilhar os resultados da comparação, selecione Compartilhar e copie o link. Por exemplo, você pode descobrir que a diferença do conjunto de dados pode levar à falha, mas você não é um especialista em conjunto de dados, portanto, pode compartilhar o resultado da comparação com um engenheiro de dados da sua equipe.

Captura de tela mostrando o botão compartilhar e o link que você deve copiar.

Próximas etapas

Neste artigo, você aprendeu a depurar falhas de pipeline. Para saber mais sobre como você pode usar o pipeline, consulte os seguintes artigos: