Treinar com projetos MLflow no Azure Machine Learning (visualização)
Neste artigo, saiba como enviar trabalhos de treinamento com projetos MLflow que usam espaços de trabalho do Azure Machine Learning para acompanhamento. Você pode enviar trabalhos e rastreá-los apenas com o Azure Machine Learning ou migrar suas execuções para a nuvem para serem executadas completamente no Azure Machine Learning Compute.
Aviso
O suporte para MLproject
arquivos (Projetos MLflow) no Azure Machine Learning será totalmente desativado em setembro de 2026. O MLflow ainda é totalmente suportado e ainda é a maneira recomendada de rastrear cargas de trabalho de aprendizado de máquina no Azure Machine Learning.
À medida que você continua a usar o MLflow, recomendamos que você faça a transição de arquivos para Trabalhos do Azure Machine Learning, usando a CLI do Azure ou o SDK do MLproject
Azure Machine Learning para Python (v2). Para obter mais informações sobre trabalhos do Azure Machine Learning, consulte Rastrear experimentos e modelos de ML com MLflow.
Os projetos MLflow permitem que você organize e descreva seu código para permitir que outros cientistas de dados (ou ferramentas automatizadas) o executem. Os Projetos MLflow com o Azure Machine Learning permitem que você acompanhe e gerencie suas execuções de treinamento em seu espaço de trabalho.
Importante
Esta funcionalidade está atualmente em pré-visualização pública. Esta versão de pré-visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas.
Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Saiba mais sobre a integração do MLflow e do Azure Machine Learning.
Pré-requisitos
Instale o pacote
mlflow
MLflow SDK e o plug-in do Azure Machine Learning para MLflowazureml-mlflow
.pip install mlflow azureml-mlflow
Gorjeta
Você pode usar o
mlflow-skinny
pacote, que é um pacote MLflow leve sem dependências de armazenamento SQL, servidor, interface do usuário ou ciência de dados.mlflow-skinny
é recomendado para usuários que precisam principalmente dos recursos de rastreamento e registro em log do MLflow sem importar o conjunto completo de recursos, incluindo implantações.Uma área de trabalho do Azure Machine Learning. Você pode criar um seguindo o tutorial Criar recursos de aprendizado de máquina.
Se você estiver executando o rastreamento remoto (ou seja, rastreando experimentos que estão sendo executados fora do Aprendizado de Máquina do Azure), configure o MLflow para apontar para o URI de rastreamento do seu espaço de trabalho do Azure Machine Learning. Para obter mais informações sobre como conectar o MLflow ao seu espaço de trabalho, consulte Configurar o MLflow para o Azure Machine Learning.
Usar o Azure Machine Learning como back-end para projetos MLflow requer o pacote
azureml-core
:pip install azureml-core
Ligar à sua área de trabalho
Se você estiver trabalhando fora do Aprendizado de Máquina do Azure, precisará configurar o MLflow para apontar para o URI de controle do seu espaço de trabalho do Azure Machine Learning. Você pode encontrar as instruções em Configurar o MLflow para o Azure Machine Learning.
Controlar projetos MLflow em espaços de trabalho do Azure Machine Learning
Este exemplo mostra como enviar projetos MLflow e rastreá-los Azure Machine Learning.
Adicione o
azureml-mlflow
pacote como uma dependência pip ao seu arquivo de configuração de ambiente para rastrear métricas e artefatos-chave em seu espaço de trabalho.conda.yaml
name: mlflow-example channels: - defaults dependencies: - numpy>=1.14.3 - pandas>=1.0.0 - scikit-learn - pip: - mlflow - azureml-mlflow
Envie a execução local e certifique-se de definir o parâmetro
backend = "azureml"
, que adiciona suporte ao rastreamento automático, captura do modelo, arquivos de log, instantâneos e erros impressos em seu espaço de trabalho. Neste exemplo, assumimos que o projeto MLflow que você está tentando executar está na mesma pasta que você está atualmente,uri="."
.mlflow run . --experiment-name --backend azureml --env-manager=local -P alpha=0.3
Exiba suas execuções e métricas no estúdio do Azure Machine Learning.
Treinar projetos MLflow em trabalhos do Azure Machine Learning
Este exemplo mostra como enviar projetos MLflow como um trabalho em execução na computação do Azure Machine Learning.
Crie o objeto de configuração de back-end, neste caso vamos indicar
COMPUTE
. Este parâmetro faz referência ao nome do cluster de computação remota que você deseja usar para executar seu projeto. SeCOMPUTE
estiver presente, o projeto será enviado automaticamente como um trabalho do Azure Machine Learning para a computação indicada.backend_config.json
{ "COMPUTE": "cpu-cluster" }
Adicione o
azureml-mlflow
pacote como uma dependência pip ao seu arquivo de configuração de ambiente para rastrear métricas e artefatos-chave em seu espaço de trabalho.conda.yaml
name: mlflow-example channels: - defaults dependencies: - numpy>=1.14.3 - pandas>=1.0.0 - scikit-learn - pip: - mlflow - azureml-mlflow
Envie a execução local e certifique-se de definir o parâmetro
backend = "azureml"
, que adiciona suporte ao rastreamento automático, captura do modelo, arquivos de log, instantâneos e erros impressos em seu espaço de trabalho. Neste exemplo, assumimos que o projeto MLflow que você está tentando executar está na mesma pasta que você está atualmente,uri="."
.mlflow run . --backend azureml --backend-config backend_config.json -P alpha=0.3
Nota
Como os trabalhos do Azure Machine Learning sempre são executados no contexto de ambientes, o parâmetro
env_manager
é ignorado.Exiba suas execuções e métricas no estúdio do Azure Machine Learning.
Clean up resources (Limpar recursos)
Se você não planeja usar as métricas e artefatos registrados em seu espaço de trabalho, a capacidade de excluí-los individualmente não está disponível no momento. Em vez disso, exclua o grupo de recursos que contém a conta de armazenamento e o espaço de trabalho, para não incorrer em nenhum custo:
No portal do Azure, selecione Grupos de recursos na extremidade esquerda.
Na lista, selecione o grupo de recursos que criou.
Selecione Eliminar grupo de recursos.
Insira o nome do grupo de recursos. Em seguida, selecione Eliminar.
Blocos de notas de exemplo
O MLflow com blocos de anotações do Azure Machine Learning demonstra e expande os conceitos apresentados neste artigo.
Nota
Um repositório orientado pela comunidade de exemplos usando mlflow pode ser encontrado em https://github.com/Azure/azureml-examples.