Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Acompanhamento é o processo de salvar informações relevantes sobre experimentos. Neste artigo, você aprenderá a usar o MLflow para acompanhar seus experimentos e execuções em workspaces do Azure Machine Learning.
Alguns métodos disponíveis na API do MLflow podem não estar disponíveis quando você estiver usando o Azure Machine Learning. Para obter detalhes sobre as operações com suporte e sem suporte, consulte Matriz de suporte para consultar execuções e experimentos. Você também pode aprender sobre as funcionalidades de MLflow com suporte no Azure Machine Learning no artigo MLflow e no Azure Machine Learning.
Observação
- Para acompanhar experimentos em execução no Azure Databricks, consulte Acompanhar experimentos de machine learning do Azure Databricks com o MLflow e o Azure Machine Learning.
- Para acompanhar os experimentos em execução no Azure Synapse Analytics, consulte Acompanhar experimentos do Azure Synapse Analytics ML com o MLflow e o Azure Machine Learning.
Pré-requisitos
Tenha uma assinatura do Azure e a versão gratuita ou paga do Azure Machine Learning.
Para executar comandos da CLI do Azure e do Python, instale a CLI do Azure v2 e o SDK do Azure Machine Learning v2 para Python. A extensão
mlda CLI do Azure é instalada automaticamente na primeira vez que você executa um comando da CLI do Azure Machine Learning.
Instale o pacote do SDK
mlflowdo MLflow e o plug-in do Azure Machine Learningazureml-mlflowpara MLflow:pip install mlflow azureml-mlflowDica
Você pode usar o pacote
mlflow-skinny, que é um pacote MLflow leve sem armazenamento SQL, servidor, interface do usuário ou dependências de ciência de dados. Recomendamos esse pacote para usuários que precisam principalmente dos recursos de rastreamento e registro em log do MLflow, mas não o conjunto completo de recursos, incluindo implantações.Criar um Workspace de Azure Machine Learning. Para criar um workspace, consulte Como criar os recursos necessários para começar. Examine as permissões de acesso necessárias para executar operações do MLflow em seu workspace.
Para fazer o acompanhamento remoto ou acompanhar experimentos em execução fora do Azure Machine Learning, configure o MLflow para apontar para o URI de acompanhamento do workspace do Azure Machine Learning. Para obter mais informações sobre como conectar o MLflow ao seu workspace, consulte Configurar o MLflow para o Azure Machine Learning.
Configurar o experimento
O MLflow organiza informações em experimentos e execuções. As execuções são chamadas trabalhos no Azure Machine Learning. Por padrão, executa o log em um experimento criado automaticamente chamado Padrão, mas você pode configurar qual experimento acompanhar.
Para treinamento interativo, como em um Jupyter Notebook, use o seguinte comando MLflow mlflow.set_experiment(). Por exemplo, o snippet de código a seguir configura um exemplo de experimento:
experiment_name = 'hello-world-example'
mlflow.set_experiment(experiment_name)
Configurar a execução
O Azure Machine Learning acompanha trabalhos de treinamento no que o MLflow chama de execuções. Use execuções para capturar todo o processamento que seu trabalho executa.
Ao trabalhar interativamente, o MLflow começa a acompanhar sua rotina de treinamento assim que você tenta registrar informações que exigem uma execução ativa. Por exemplo, se a funcionalidade de registro automático do MLflow estiver habilitada, o acompanhamento do MLflow será iniciado quando você registra uma métrica ou parâmetro ou inicia um ciclo de treinamento.
No entanto, geralmente é útil iniciar a execução explicitamente, especialmente se você quiser capturar o tempo total do experimento no campo Duração. Para iniciar a execução explicitamente, use mlflow.start_run().
Se você iniciar a execução manualmente ou não, eventualmente precisará interromper a execução, para que o MLflow saiba que a execução do experimento está concluída e pode marcar o status da execução como Concluída. Para interromper uma execução, use mlflow.end_run().
O código a seguir inicia uma execução manualmente e a encerra no final do notebook:
mlflow.start_run()
# Your code
mlflow.end_run()
É melhor iniciar as execuções manualmente para que você não se esqueça de encerrá-las. Você pode usar o paradigma do gerenciador de contexto para ajudar a lembrar você de encerrar a execução.
with mlflow.start_run() as run:
# Your code
Quando você inicia uma nova execução usando mlflow.start_run(), pode ser útil especificar o run_name parâmetro, que posteriormente se traduz para o nome da execução na interface do usuário do Azure Machine Learning. Essa prática ajuda a identificar a execução mais rapidamente.
with mlflow.start_run(run_name="hello-world-example") as run:
# Your code
Habilitar o registro automático do MLflow
Você pode registrar métricas, parâmetros e arquivos com o MLflow manualmente e também pode contar com a funcionalidade de registro automático do MLflow. Cada estrutura de machine learning com suporte do MLflow determina o que acompanhar automaticamente.
Para habilitar o registro em log automático, insira o seguinte código antes do seu código de treinamento:
mlflow.autolog()
Exibir métricas e artefatos no espaço de trabalho
As métricas e os artefatos no registro do MLflow são mantidos no espaço de trabalho. Você pode exibi-los e acessá-los no estúdio do Azure Machine Learning ou acessá-los programaticamente usando o SDK do MLflow.
Para exibir métricas e artefatos no estúdio:
Na página Trabalhos no espaço de trabalho, selecione o nome do experimento.
Na página de detalhes do experimento, selecione a guia Métricas.
Selecione métricas registradas para renderizar gráficos no lado direito da página. Você pode personalizar os gráficos com a aplicação de suavização, alteração de cor ou uso de várias métricas em um único grafo. Você também pode redimensionar e reorganizar o layout.
Depois de criar a exibição desejada, salve-a para uso futuro e compartilhe-a com seus colegas de equipe usando um link direto.
Para acessar ou consultar métricas, parâmetros e artefatos programaticamente usando o SDK do MLflow, use mlflow.get_run().
import mlflow
run = mlflow.get_run("<RUN_ID>")
metrics = run.data.metrics
params = run.data.params
tags = run.data.tags
print(metrics, params, tags)
Dica
O exemplo anterior retorna apenas o último valor de uma determinada métrica. Se você quiser recuperar todos os valores de uma determinada métrica, use o método mlflow.get_metric_history. Para obter mais informações sobre como recuperar valores de uma métrica, consulte Obter parâmetros e métricas de uma execução.
Para baixar artefatos registrados, como arquivos e modelos, use mlflow.artifacts.download_artifacts().
mlflow.artifacts.download_artifacts(run_id="<RUN_ID>", artifact_path="helloworld.txt")
Para obter mais informações sobre como recuperar ou comparar informações de experimentos e execuções no Azure Machine Learning usando o MLflow, consulte Consultar e comparar experimentos e execuções com o MLflow.