Veja os resultados do treinamento com MLflow execução
Este artigo descreve como usar o MLflow execução para view e analisar os resultados de um experimento de treinamento de modelo e como gerenciar e organizar a execução. Para obter mais informações sobre os experimentos do MLflow, consulte Organizar treinamento execução com os experimentos do MLflow .
Uma execução do MLflow corresponde a uma única execução do código do modelo. Cada execução registra informações como o Notebook que iniciou a execução, quaisquer modelos criados pela execução, parâmetros e métricas do modelo salvos como par key-value, tags para metadados da execução e quaisquer artefatos ou arquivos de saída criados pela execução.
Todas as execuções do MLflow são logs do experimento ativo. Se você não definiu explicitamente um experimento como o experimento ativo, a execução é logs do experimento Notebook .
Ver detalhes da execução
O senhor pode acessar uma execução na página de detalhes do experimento ou diretamente no Notebook que criou a execução.
Na página de detalhes do experimento, clique no nome da execução na tabela de execução.
No Notebook, clique no nome da execução na barra lateral Experiment Execution.
A tela de execução mostra os parâmetros usados para a execução, as métricas resultantes da execução e detalhes sobre a execução, incluindo um link para o Notebook de origem. Os artefatos salvos da execução estão disponíveis em Artifacts tab.
Snippets de código para previsão
Se o senhor log um modelo de uma execução, o modelo aparecerá nos artefatos tab, juntamente com trechos de código que ilustram como carregar e usar o modelo para fazer previsões em Spark e Pandas DataFrames.
visualizar o Notebook usado para uma execução
Para view a versão do Notebook que criou uma execução:
Na página de detalhes do experimento, clique no link na coluna Fonte.
Na página de execução, clique no link ao lado de Origem.
No notebook, na barra lateral Experiment Runs, clique no ícone Notebook na caixa para essa execução de experimento.
A versão do Notebook associada à execução aparece na janela principal com uma barra de destaque mostrando a data e a hora da execução.
Adicionar tags a uma execução
tags são valores- keypar que você pode criar e usar posteriormente para pesquisar a execução.
Na tabela Details (Detalhes ) da página de execução, clique em Add (Adicionar ) ao lado de Tags.
A caixa de diálogo Adicionar/Editar tags é aberta. No campo key (chave ), digite um nome para a tag key e clique em Add tag (adicionar tag).
No campo Valor, insira o valor da tag.
Clique no sinal de mais para salvar o valor do par keyque o senhor acabou de inserir.
Para adicionar tags adicionais, repita as etapas 2 a 4.
Quando terminar, clique em Salvar tags.
Editar ou excluir tags para uma execução
Na tabela Details (Detalhes ) da página de execução, clique noícone de lápis. ao lado das tags existentes.
A caixa de diálogo Adicionar/Editar tags é aberta.
Para excluir uma tag, clique no X dessa tag.
Para editar uma tag, selecione key no menu suspenso e edite o valor no campo Value (Valor). Clique no sinal de mais para salvar sua alteração.
Quando terminar, clique em Salvar tags.
Reproduza o ambiente de software de uma execução
O senhor pode reproduzir o ambiente exato do software para a execução clicando em Reproduce execution (Reproduzir execução ) no canto superior direito da página de execução. A caixa de diálogo a seguir é exibida:
Com as configurações default , ao clicar em Confirmar:
O Notebook é clonado no local mostrado na caixa de diálogo.
Se os clusters originais ainda existirem, o Notebook clonado é anexado aos clusters originais e os clusters começam.
Caso os clusters originais não existam mais, um novo clusters com a mesma configuração, incluindo as bibliotecas instaladas, é criado e começa. O Notebook é anexado aos novos clusters.
Você pode selecionar um local diferente para o Notebook clonado e inspecionar a configuração clusters e as bibliotecas instaladas:
Para selecionar uma pasta diferente para salvar o Notebook clonado, clique em Editar pasta.
Para ver as especificações clusters , clique em view Spec. Para clonar apenas o Notebook e não os clusters, desmarque esta opção.
Se o clustering original não existir mais, o senhor poderá ver a biblioteca instalada no clustering original clicando em view biblioteca. Se o clustering original ainda existir, essa seção ficará em cinza.
Renomear execução
Para renomear uma execução, clique no menu kebab no canto superior direito da página de execução (ao lado do botão Permissions ) e selecione Rename (Renomear).
Selecione as colunas a serem exibidas
Para controlar as colunas exibidas na tabela de execução na página de detalhes do experimento, clique em Columns (Colunas ) e selecione no menu suspenso.
Execução do filtro
O senhor pode pesquisar a execução na tabela da página de detalhes do experimento com base em valores de parâmetros ou métricas. O senhor também pode pesquisar execução por tag.
Para pesquisar execuções que correspondam a uma expressão contendo valores de parâmetros e métricas, insira uma consulta no campo de pesquisa e pressione Enter. 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
MIN(metrics.rmse) <= 1
MAX(metrics.memUsage) > 0.9
LATEST(metrics.memUsage) = 0 AND MIN(metrics.rmse) <= 1
Em default, os valores métricos são filtrados com base no último valor de registros. O uso de
MIN
ouMAX
permite que o senhor procure a execução com base nos valores métricos mínimos ou máximos, respectivamente. Somente os registros de execução após agosto de 2024 têm valores mínimos e máximos de métricas.Para pesquisar a execução por tags, digite tagss no formato:
tags.<key>="<value>"
. os valores strings devem ser colocados entre aspas, conforme mostrado.tags.estimator_name="RandomForestRegressor"
tags.color="blue" AND tags.size=5
Tanto key quanto os valores podem conter espaços. Se a key incluir espaços, você deve colocá-la entre acentos graves, conforme mostrado.
tags.`my custom tag` = "my value"
O senhor também pode filtrar a execução com base em seu estado (Ativo ou Excluído), quando a execução foi criada e qual conjunto de dados foi usado. Para fazer isso, faça suas seleções nos menus suspensos Time created (Tempo criado), State (Estado) ou dataset (Conjunto de dados), respectivamente.
downloads execução
O senhor pode acessar download execução na página de detalhes do experimento da seguinte forma:
Clique para abrir o menu de kebab.
Para download um arquivo no formato CSV contendo todas as execuções mostradas (até um máximo de 100), selecione download
<n>
execução. MLflow cria e downloads um arquivo com uma execução por linha, contendo os seguintes campos para cada execução:Start Time, Duration, Run ID, Name, Source Type, Source Name, User, Status, <parameter1>, <parameter2>, ..., <metric1>, <metric2>, ...
Se o senhor quiser download mais de 100 execuções ou quiser download execuções de forma programática, selecione baixar todas as execuções. Uma caixa de diálogo é aberta mostrando um trecho de código que o senhor pode copiar ou abrir em um Notebook. Depois de executar esse código em uma célula do Notebook, selecione baixar todas as linhas da saída da célula.
Excluir execução
O senhor pode excluir a execução da página de detalhes do experimento seguindo estas etapas:
No experimento, selecione uma ou mais execuções clicando na caixa de seleção à esquerda da execução.
Clique em Excluir.
Se a execução for uma execução pai, decida se também deseja excluir execuções descendentes. Esta opção é selecionada por default.
Clique em Excluir para confirmar. A execução excluída é salva por 30 dias. Para exibir a execução excluída, selecione Excluído no campo Estado.
Execução de exclusão em massa com base no horário de criação
O senhor pode usar o site Python para excluir em massa as execuções de um experimento que foram criadas antes ou em um carimbo de data/hora do UNIX. Usando o site Databricks Runtime 14.1 ou posterior, o senhor pode chamar o mlflow.delete_runs
API para excluir a execução e retornar o número de execuções excluídas.
Os parâmetros mlflow.delete_runs
são os seguintes:
experiment_id
: O ID do experimento que contém a execução a ser excluída.max_timestamp_millis
: O registro de data e hora máximo de criação em milissegundos desde a época do UNIX para excluir a execução. Somente as execuções criadas antes ou nesse registro de data e hora são excluídas.max_runs
: Opcional. Um número inteiro positivo que indica o número máximo de execuções a serem excluídas. O valor máximo permitido para max_runs é 10000. Se não for especificado,max_runs
tem como padrão 10000.
import mlflow
# Replace <experiment_id>, <max_timestamp_ms>, and <max_runs> with your values.
runs_deleted = mlflow.delete_runs(
experiment_id=<experiment_id>,
max_timestamp_millis=<max_timestamp_ms>,
max_runs=<max_runs>
)
# Example:
runs_deleted = mlflow.delete_runs(
experiment_id="4183847697906956",
max_timestamp_millis=1711990504000,
max_runs=10
)
Usando o Databricks Runtime 13.3 LTS ou anterior, o senhor pode executar o seguinte código de cliente em um Databricks Notebook.
from typing import Optional
def delete_runs(experiment_id: str,
max_timestamp_millis: int,
max_runs: Optional[int] = None) -> int:
"""
Bulk delete runs in an experiment that were created prior to or at the specified timestamp.
Deletes at most max_runs per request.
:param experiment_id: The ID of the experiment containing the runs to delete.
:param max_timestamp_millis: The maximum creation timestamp in milliseconds
since the UNIX epoch for deleting runs. Only runs
created prior to or at this timestamp are deleted.
:param max_runs: Optional. A positive integer indicating the maximum number
of runs to delete. The maximum allowed value for max_runs
is 10000. If not specified, max_runs defaults to 10000.
:return: The number of runs deleted.
"""
from mlflow.utils.databricks_utils import get_databricks_host_creds
from mlflow.utils.request_utils import augmented_raise_for_status
from mlflow.utils.rest_utils import http_request
json_body = {"experiment_id": experiment_id, "max_timestamp_millis": max_timestamp_millis}
if max_runs is not None:
json_body["max_runs"] = max_runs
response = http_request(
host_creds=get_databricks_host_creds(),
endpoint="/api/2.0/mlflow/databricks/runs/delete-runs",
method="POST",
json=json_body,
)
augmented_raise_for_status(response)
return response.json()["runs_deleted"]
Consulte a documentação da API de experimentos do Databricks para parâmetros e especificações de valor de retorno para exclusão de execução com base no horário de criação.
Restaurar execução
O senhor pode restaurar a execução excluída anteriormente na interface do usuário da seguinte forma:
Na página Experiment, no campo State (Estado ), selecione Deleted (Excluído ) para exibir a execução excluída.
Selecione uma ou mais execuções clicando na caixa de seleção à esquerda da execução.
Clique em Restaurar.
Clique em Restaurar para confirmar. A execução restaurada agora aparece quando o senhor seleciona Active (Ativo ) no campo State (Estado).
Execução de restauração em massa com base no horário de exclusão
O senhor também pode usar o site Python para restaurar em massa a execução de um experimento que foi excluído em ou após um carimbo de data/hora do UNIX. Usando o site Databricks Runtime 14.1 ou posterior, o senhor pode chamar o mlflow.restore_runs
API para restaurar a execução e retornar o número da execução restaurada.
Os parâmetros mlflow.restore_runs
são os seguintes:
experiment_id
: O ID do experimento que contém a execução a ser restaurada.min_timestamp_millis
: O registro de data e hora mínimo de exclusão em milissegundos desde a época do UNIX para restaurar a execução. Somente as execuções excluídas nesse momento ou após esse registro de data e hora são restauradas.max_runs
: Opcional. Um número inteiro positivo que indica o número máximo de execuções a serem restauradas. O valor máximo permitido para max_runs é 10000. Se não for especificado, o padrão de max_runs é 10000.
import mlflow
# Replace <experiment_id>, <min_timestamp_ms>, and <max_runs> with your values.
runs_restored = mlflow.restore_runs(
experiment_id=<experiment_id>,
min_timestamp_millis=<min_timestamp_ms>,
max_runs=<max_runs>
)
# Example:
runs_restored = mlflow.restore_runs(
experiment_id="4183847697906956",
min_timestamp_millis=1711990504000,
max_runs=10
)
Usando o Databricks Runtime 13.3 LTS ou anterior, o senhor pode executar o seguinte código de cliente em um Databricks Notebook.
from typing import Optional
def restore_runs(experiment_id: str,
min_timestamp_millis: int,
max_runs: Optional[int] = None) -> int:
"""
Bulk restore runs in an experiment that were deleted at or after the specified timestamp.
Restores at most max_runs per request.
:param experiment_id: The ID of the experiment containing the runs to restore.
:param min_timestamp_millis: The minimum deletion timestamp in milliseconds
since the UNIX epoch for restoring runs. Only runs
deleted at or after this timestamp are restored.
:param max_runs: Optional. A positive integer indicating the maximum number
of runs to restore. The maximum allowed value for max_runs
is 10000. If not specified, max_runs defaults to 10000.
:return: The number of runs restored.
"""
from mlflow.utils.databricks_utils import get_databricks_host_creds
from mlflow.utils.request_utils import augmented_raise_for_status
from mlflow.utils.rest_utils import http_request
json_body = {"experiment_id": experiment_id, "min_timestamp_millis": min_timestamp_millis}
if max_runs is not None:
json_body["max_runs"] = max_runs
response = http_request(
host_creds=get_databricks_host_creds(),
endpoint="/api/2.0/mlflow/databricks/runs/restore-runs",
method="POST",
json=json_body,
)
augmented_raise_for_status(response)
return response.json()["runs_restored"]
Consulte a documentação da API Databricks Experiments para parâmetros e especificações de valor de retorno para restaurar a execução com base no tempo de exclusão.
Comparar execução
Você pode comparar a execução de um único experimento ou de vários experimentos. A página Comparando a execução apresenta informações sobre a execução selecionada em formato gráfico e tabular. Você também pode criar visualizações de resultados de execução e tabelas de informações de execução, parâmetros de execução e métricas.
Para criar uma visualização:
Selecione o tipo de gráfico (gráfico de coordenadas paralelas, Scatter gráfico ou Contour gráfico).
Para um gráfico de coordenadas paralelas, selecione os parâmetros e métricas a serem gráficas. A partir daqui, você pode identificar relacionamentos entre os parâmetros e métricas selecionados, o que ajuda a definir melhor o espaço de ajuste de hiperparâmetros para seus modelos.
Para um gráfico de dispersão ou gráfico de contorno, selecione o parâmetro ou medição a ser exibido em cada eixo.
As tabelas Parâmetros e Métricas exibem os parâmetros e métricas de execução de todas as execuções selecionadas. As colunas nessas tabelas são identificadas pela tabela de detalhes da execução imediatamente acima. Para simplificar, você pode ocultar parâmetros e métricas idênticos em todas as execuções selecionadas alternando .
Comparar a execução de um único experimento
Na página de detalhes do experimento, selecione duas ou mais execuções clicando na caixa de seleção à esquerda da execução ou selecione todas as execuções marcando a caixa na parte superior da coluna.
Clique em Comparar. A tela Comparando a execução
<N>
é exibida.
Compare a execução de vários experimentos
Na página de experiências, selecione as experiências que deseja comparar clicando na caixa à esquerda do nome da experiência.
Clique em Comparar (n) (n é o número de experimentos que você selecionou). Aparece uma tela mostrando toda a execução dos experimentos que você selecionou.
Selecione duas ou mais execuções clicando na caixa de seleção à esquerda da execução ou selecione todas as execuções marcando a caixa na parte superior da coluna.
Clique em Comparar. A tela Comparando a execução
<N>
é exibida.
Copiar execução entre áreas de trabalho
Para importar ou exportar a execução do MLflow para ou do seu workspace do Databricks, você pode usar o projeto de código aberto orientado pela comunidade MLflow Export-Import.