Corridas de treinamento de aprendizagem de máquinas de pista

O componente de rastreio MLflow permite registar propriedades de origem, parâmetros, métricas, etiquetas e artefactos relacionados com a formação de um modelo de aprendizagem automática. Para começar com mLflow, experimente um dos tutoriais de arranque rápido mLflow.

O rastreio mlflow baseia-se em dois conceitos, experiências e execuções:

  • Uma experiência MLflow é a unidade primária de organização e controlo de acessos para as execuções de MLflow; todas as corridas de MLflow pertencem a uma experiência. As experiências permitem visualizar, pesquisar e comparar corridas, bem como descarregar artefactos e metadados para análise noutras ferramentas.
  • Uma execução MLflow corresponde a uma única execução do código modelo. Cada execução regista as seguintes informações:
    • Fonte: Nome do caderno que lançou a execução ou o nome do projeto e ponto de entrada para a execução.
    • Versão: revisão do bloco de notas se a execução for feita a partir de um bloco de notas ou hash de consolidação do Git se a execução for feita a partir de um Projeto MLflow.
    • Iniciar & fim: Início e fim da corrida.
    • Parâmetros: Parâmetros do modelo guardados como pares de valor-chave. Ambas as teclas e valores são cordas.
    • Métricas : Métricas de avaliação de modelos guardadas como pares de valores-chave. O valor é numérico. Cada métrica pode ser atualizada ao longo da execução (por exemplo, para acompanhar a convergência da função de perda do seu modelo) e mLflow regista e permite visualizar a história da métrica.
    • Tags: Executar metadados guardados como pares de valor-chave. Pode atualizar as etiquetas durante e após a execução. Ambas as teclas e valores são cordas.
    • Artefactos: Ficheiros de saída em qualquer formato. Por exemplo, pode gravar imagens, modelos (por exemplo, um modelo de aprendizagem de scikit em conserva) e ficheiros de dados (por exemplo, um ficheiro Parquet) como um artefacto.

Utilize a API de rastreio de MLflow para registar parâmetros, métricas, etiquetas e artefactos a partir de uma execução de modelo. A API de rastreio comunica-se com um servidor de rastreioMLflow . Quando utiliza databricks, um servidor de rastreio hospedado em Databricks regista os dados. O servidor de rastreio MLflow hospedado tem Python, Java e R APIs.

Para obter informações sobre o controlo do acesso a experiências, consulte as permissões da MLflow Experiment.

Nota

MLflow é instalado em conjuntos de tempo de execução de dados ML. Para utilizar o MLflow num cluster de tempo de execução databricks, tem de instalar a mlflow biblioteca. Para obter instruções sobre a instalação de uma biblioteca num cluster, consulte instalar uma biblioteca num cluster. As embalagens específicas a instalar para o MLflow são:

  • Para Python, selecione Library Source PyPI e introduza no mlflow campo Pacote.
  • Para R, selecione Library Source CRAN e introduza no mlflow campo Pacote.
  • Para a Scala, instale estes dois pacotes:
    • Selecione Library Source Maven e insira org.mlflow:mlflow-client:1.11.0 no campo Coordenadas.
    • Selecione Library Source PyPI e introduza mlflow no campo Pacote.

Onde mlflow runs são registados

Todas as execuções MLflow são registadas na experiência ativa, que pode ser definida utilizando qualquer uma das seguintes formas:

Se não for definida nenhuma experiência ativa, as corridas são registadas na experiência do portátil.

Experiências

Existem dois tipos de experiências: espaço de trabalho e caderno.

  • Pode criar uma experiência de espaço de trabalho a partir do Databricks Machine Learning UI ou da API MLflow. As experiências do espaço de trabalho não estão associadas a nenhum caderno, e qualquer caderno pode registar uma corrida a estas experiências usando o ID da experiência ou o nome da experiência.
  • Uma experiência de caderno está associada a um caderno específico. A Azure Databricks cria automaticamente uma experiência de portátil se não houver experiência ativa quando iniciar uma corrida usando mlflow.start_run().

Para aprender a controlar o acesso a experiências, consulte as permissões da MLflow Experiment.

Obtenha o nome da experiência

Para copiar o nome da experiência, clique  no ícone copy icon no topo da página de experiência. Pode utilizar este nome no comando MLflow set_experiment para definir a experiência MLflow ativa.

Ícone de nome de experiência

Também pode copiar o nome da experiência a partir da barra lateral da experiência num caderno.

Experiências no espaço de trabalho

Esta secção descreve como criar uma experiência de espaço de trabalho usando a UI Azure Databricks. Também pode utilizar a API MLflow.

Para obter instruções sobre o registo de madeira para experiências no espaço de trabalho, consulte Log corre para um bloco de notas ou experiência de espaço de trabalho.

Criar experiência de espaço de trabalho

  1. Clique no espaço de trabalho do  ícone do trabalho na barra lateral.

  2. Vá à pasta na qual pretende criar a experiência.

  3. Faça um dos seguintes:

    • Ao lado de qualquer pasta, clique  no Menu Dropdown no lado direito do texto e selecione Create > MLflow Experiment.

      Criar a experimentação

    • No espaço de trabalho ou numa pasta de utilizador, clique  em Down Caret e selecione Create > MLflow Experiment.

  4. No diálogo Create MLflow Experiment, insira um nome para a experiência e uma localização de artefacto opcional. Se não especificar a localização do artefacto, os artefactos são armazenados em dbfs:/databricks/mlflow-tracking/<experiment-id> .

    A Azure Databricks suporta localizações de artefactos de armazenamento DBFS e Azure Blob.

    Para armazenar artefactos no armazenamento Azure Blob, especifique um URI do formulário wasbs://<container>@<storage-account>.blob.core.windows.net/<path> . Os artefactos armazenados no armazenamento Azure Blob não aparecem no MLflow UI; você deve descarregá-los usando um cliente de armazenamento de bolhas.

    Nota

    Quando armazena um artefacto num local diferente do DBFS, o artefacto não aparece no MLflow UI. Os modelos armazenados em locais que não o DBFS não podem ser registados no Registo modelo.

  5. Clique em Criar. Uma experiência vazia mostra.

Ver experiência no espaço de trabalho

  1. Clique no espaço de trabalho do  ícone do trabalho na barra lateral.
  2. Vá à pasta que contém a experiência.
  3. Clique no nome da experiência.

Eliminar experiência no espaço de trabalho

  1. Clique no espaço de trabalho do  ícone do trabalho na barra lateral.
  2. Vá à pasta que contém a experiência.
  3. Clique  no Menu Dropdown no lado direito da experiência e selecione Move to Trash.

Experiências com cadernos

Quando utiliza o comando mlflow.start_run num caderno, a execução regista métricas e parâmetros para a experiência ativa. Se nenhuma experiência estiver ativa, a Azure Databricks cria uma experiência de caderno. Uma experiência por caderno partilha o mesmo nome e identificação do seu caderno correspondente. O ID do portátil é o identificador numérico no final de um URL e ID do portátil.

Para obter instruções sobre o registo de dados para experiências com portátil, consulte Log corre para um bloco de notas ou experiência no espaço de trabalho.

Nota

Se eliminar uma experiência de portátil utilizando a API (por exemplo, MlflowClient.tracking.delete_experiment() em Python), o próprio caderno é movido para a pasta Lixo.

Ver experiência de caderno

O ícone experimento  ícone ícone experimento na barra de ferramentas do portátil dá-lhe acesso a execuções criadas pelo caderno.

Barra de ferramentas do bloco de notas

Clique nele para exibir a barra lateral experiment runs. No topo da barra lateral está o nome da experiência que o caderno mais recentemente registado (ou uma experiência de caderno ou uma experiência de espaço de trabalho). A barra lateral mostra um resumo de cada execução associada a essa experiência, incluindo parâmetros de execução e métricas.

Ver parâmetros e métricas de execução

A partir da barra lateral, pode navegar para a página de experimentação ou diretamente para uma corrida.

  • Para ver a experiência, clique  no ícone De Ligação Externa à extrema-direita, ao lado de Experiment Runs.

    Ver experiência

    A página de experimentação lista todas as corridas associadas à experiência. A partir da tabela, pode abrir a página de execução para qualquer execução associada à experiência clicando na sua Hora de Início. A coluna Fonte dá-lhe acesso à versão portátil que criou a corrida. Também pode pesquisar e filtrar as corre por métricas ou definições de parâmetros.

  • Para ver uma execução, clique no  ícone Link Externo ao lado da data e hora da execução na barra lateral experimento. A página executa. Para mais detalhes sobre esta página, consulte os detalhes da execução do Display.

    Ver correr

Para ver a versão do caderno que criou uma corrida, também pode fazer uma das seguintes:

  • Na barra lateral experimento, clique no ícone do portátil  ícone do ícone
  • Na página Executar, clique no link ao lado da Fonte.

A versão do caderno associado à execução aparece na janela principal com uma barra de destaque que mostra a data e a hora da execução.

Eliminar experiência de caderno

As experiências por caderno fazem parte do caderno e não podem ser eliminadas separadamente. Se eliminar o caderno, a experiência do caderno é eliminada. Se eliminar uma experiência de caderno utilizando a API (por exemplo, MlflowClient.tracking.delete_experiment() em Python), o caderno também é eliminado.

Execuções

Todas as execuções MLflow são registadas na experiência ativa. Se não tiver definido explicitamente uma experiência como a experiência ativa, as corridas são registadas na experiência do portátil.

O registo corre para um bloco de notas ou experiência no espaço de trabalho

Este caderno mostra exemplos de como registar corre para uma experiência de caderno e para uma experiência de espaço de trabalho. Apenas as execuções de MLflow iniciadas dentro de um caderno podem ser registadas na experiência do portátil. As execuções de MLflow lançadas a partir de qualquer caderno ou das APIs podem ser registadas numa experiência de espaço de trabalho. Para obter informações sobre a visualização de execuções registadas, consulte a experiência do portátil ver e ver experiência no espaço de trabalho.

Log MLflow executa caderno

Obter o bloco de notas

Você pode usar MLflow Python, Java ou Scala, e APIs R para iniciar corridas e gravar dados de execução. Para mais detalhes, consulte os cadernos de arranque rápido da MLflow.

Ver e gerir corre em experiências

Dentro de uma experiência, você pode realizar muitas operações nas suas corridas contidas.

Filtro corre

Pode procurar corridas com base em valores parâmetros ou métricos. Para procurar execuções que correspondam a uma expressão que contenha parâmetros e valores métricos, introduza uma consulta no campo de pesquisa e clique em Procurar. Alguns exemplos de sintaxe de consulta são:

metrics.r2 > 0.3

params.elasticNetParam = 0.5

params.elasticNetParam = 0.5 AND metrics.avg_areaUnderROC > 0.3

Também pode filtrar as execuções com base no seu estado (Ative ou Deleted) e com base no facto de uma versão modelo estar associada à execução. Para isso, clique em Filtro à direita da caixa 'Procurar'. Os menus de drop-down do Estado e dos Modelos Ligados aparecem. Faça as suas seleções a partir dos menus suspensos.

Filtro corre

Download runs

  1. Selecione uma ou mais corridas.

  2. Clique em Baixar CSV. Um ficheiro CSV contendo os seguintes campos de transferências:

    Run ID,Name,Source Type,Source Name,User,Status,<parameter1>,<parameter2>,...,<metric1>,<metric2>,...
    

Mostrar detalhes de execução

Clique no link de data de uma execução. O ecrã de detalhes de execução aparece. Este ecrã mostra os parâmetros utilizados para a execução, as métricas resultantes da execução, e quaisquer tags ou notas. Também acede a artefactos salvos de uma corrida neste ecrã.

Veja o projeto do caderno ou Git usado para uma corrida

Para ver a versão específica do portátil ou projeto Git usado para uma execução:

  • Se a corrida foi lançada localmente num portátil ou trabalho do Azure Databricks, clique no link no campo Fonte para abrir a versão específica do portátil utilizada na execução.
  • Se a execução foi lançada remotamente a partir de um projeto Git,clique no link no campo Git Commit para abrir a versão específica do projeto utilizado na execução. O link no campo Fonte abre o ramo principal do projeto Git usado na corrida.
Reproduzir o ambiente de software de uma corrida

Pode reproduzir o ambiente de software exato para a execução clicando em Reproduzir Run. É apresentada a seguinte caixa de diálogo:

Reproduzir diálogo de execução

Com as definições predefinidos, quando clicar Em Confirmar:

  • O caderno é clonado para o local indicado no diálogo.
  • Se o aglomerado original ainda existir, o caderno clonado é anexado ao cluster original e o cluster é iniciado.
  • Se o cluster original já não existir, um novo cluster com a mesma configuração, incluindo quaisquer bibliotecas instaladas, é criado e iniciado. O caderno está anexado ao novo aglomerado.

Pode selecionar um local diferente para o caderno clonado e inspecionar a configuração do cluster e as bibliotecas instaladas:

  • Para selecionar uma pasta diferente para guardar o caderno clonado, clique em Editar Pasta.
  • Para ver a especificação do cluster, clique em Ver Especificação. Para clonar apenas o caderno e não o cluster, desmarque esta opção.
  • Para ver as bibliotecas instaladas no cluster original, clique em Ver Bibliotecas. Se não se importar em instalar as mesmas bibliotecas que no cluster original, desmarque esta opção.
Ver código snippets para previsão

Se registou um modelo a partir de uma corrida, o modelo aparece na secção artefactos desta página. Para exibir snippets de código que ilustram como carregar e usar o modelo para fazer previsões em DataFrames Spark e pandas, clique no nome do modelo.

prever código snippets

Comparar runs

  1. Na experiência, selecione duas ou mais corridas clicando na caixa de verificação à esquerda da corrida.
  2. Clique em Comparar. O ecrã 'Comparar corre' é exibido.
  3. Faça um dos seguintes:
    • Selecione um nome métrico para exibir um gráfico da métrica.

    • Selecione parâmetros e métricas a partir das listas de queda do eixo X e do eixo Y para gerar um enredo de dispersão.

      Enredo de dispersão

Eliminar corre

  1. Na experiência, selecione uma ou mais corridas clicando na caixa de verificação à esquerda da corrida.
  2. Clique em Eliminar.
  3. Se a corrida for uma corrida de pais, decida se também quer apagar as corridas descendentes. Esta opção está selecionada por predefinição.
  4. Clique em Eliminar para confirmar ou cancelar para cancelar. As execuções apagadas são guardadas durante 30 dias. Para visualizar as execuções apagadas, selecione Eliminado no campo Estado.

Aceda ao servidor de rastreio MLflow a partir de fora da Azure Databricks

Também pode escrever e ler a partir do servidor de rastreio de fora de Azure Databricks, por exemplo usando o MLflow CLI.

Analisar MLflow executa usando DataFrames

Pode aceder a dados executados pelo MLflow programáticamente utilizando as seguintes duas APIs dataFrame:

Este exemplo demonstra como utilizar o cliente MLflow Python para construir um dashboard que visualiza alterações nas métricas de avaliação ao longo do tempo, rastreia o número de corridas iniciadas por um utilizador específico e mede o número total de corridas em todos os utilizadores:

Exemplos

Os cadernos que se seguem demonstram como formar vários tipos de modelos e rastrear os dados de treino em MLflow e como armazenar dados de rastreio em Delta Lake.