Treinar com projetos do MLflow no Azure Machine Learning (versão prévia)
Neste artigo, saiba como enviar trabalhos de treinamento com Projetos do MLflow que usam workspaces do Azure Machine Learning para acompanhamento. Você pode enviar trabalhos e rastreá-los apenas com o Azure Machine Learning ou migrar as execuções para a nuvem para serem executadas por completo na Computação do Azure Machine Learning.
Aviso
O suporte para arquivos MLproject
(Projetos do MLflow) no Azure Machine Learning será totalmente desativado em setembro de 2026. O MLflow ainda tem suporte total e ainda é a maneira recomendada de acompanhar cargas de trabalho de aprendizado de máquina no Azure Machine Learning.
À medida que você continua a usar o MLflow, recomendamos fazer a transição de arquivos para MLproject
trabalhos do Azure Machine Learning, usando a CLI do Azure ou o SDK do Azure Machine Learning para Python (v2). Para obter mais informações sobre os trabalhos do Azure Machine Learning, confira Acompanhar os experimentos e modelos de ML com MLflow.
Com os Projetos do MLflow, você pode organizar e descrever o código para permitir que outros cientistas de dados (ou ferramentas automatizadas) o executem. Os Projetos do MLflow com o Azure Machine Learning permitem que você acompanhe e gerencie suas execuções de treinamento no workspace.
Importante
Esse recurso está atualmente em visualização pública. Essa 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.
Saiba mais sobre a integração entre o MLflow e o Azure Machine Learning.
Pré-requisitos
Instale o pacote do SDK do MLflow
mlflow
e o pluginazureml-mlflow
do Azure Machine Learning para MLflow:pip install mlflow azureml-mlflow
Dica
Você pode usar o pacote
mlflow-skinny
, que é um pacote MLflow leve sem dependências de servidor, interface do usuário, ciência de dados ou armazenamento do SQL. Omlflow-skinny
é recomendado para usuários que precisam, principalmente, dos recursos de acompanhamento e registro em log do MLflow sem importar o conjunto completo de recursos, incluindo implantações.Um workspace do Azure Machine Learning. Para criar um espaço de trabalho, confira o tutorial Criar recursos de machine learning. Analise quais permissões de acesso você precisa para executar suas operações do MLflow no seu espaço de trabalho.
Se estiver efetuando o acompanhamento remoto (ou seja, acompanhando experimentos que estão sendo executados fora do Azure Machine Learning), configure o MLflow para apontar para o URI de acompanhamento do seu espaço de trabalho 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.
Usar o Azure Machine Learning como back-end para projetos do MLflow requer o pacote
azureml-core
:pip install azureml-core
Conectar-se ao workspace
Se você estiver trabalhando fora do Azure Machine Learning, precisará configurar o MLflow para apontar para o URI de acompanhamento do workspace do Azure Machine Learning. Você encontra as instruções em Configurar o MLflow para o Azure Machine Learning.
Acompanhar projetos do MLflow em workspaces do Azure Machine Learning
Este exemplo mostra como enviar projetos do MLflow e acompanhá-los no Azure Machine Learning.
Adicione o pacote
azureml-mlflow
como uma dependência do pip ao arquivo de configuração do ambiente para acompanhar métricas e artefatos essenciais no workspace.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 lembre-se de definir o parâmetro
backend = "azureml"
, que adiciona o suporte do acompanhamento automático, da captura do modelo, dos arquivos de log, instantâneos e dos erros impressos no workspace. Neste exemplo, presumimos que o projeto do MLflow que você está tentando executar esteja na mesma pasta em que está atualmente,uri="."
.mlflow run . --experiment-name --backend azureml --env-manager=local -P alpha=0.3
Veja suas execuções e suas métricas no estúdio do Azure Machine Learning.
Treinar projetos do MLflow em trabalhos do Azure Machine Learning
Este exemplo mostra como enviar projetos do MLflow como um trabalho em execução na computação do Azure Machine Learning.
Crie o objeto de configuração de back-end, nesse caso, vamos indicar
COMPUTE
. Esse parâmetro faz referência ao nome do cluster de computação remota que você deseja usar para executar o 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 pacote
azureml-mlflow
como uma dependência do pip ao arquivo de configuração do ambiente para acompanhar métricas e artefatos essenciais no workspace.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 lembre-se de definir o parâmetro
backend = "azureml"
, que adiciona o suporte do acompanhamento automático, da captura do modelo, dos arquivos de log, instantâneos e dos erros impressos no workspace. Neste exemplo, presumimos que o projeto do MLflow que você está tentando executar esteja na mesma pasta em que está atualmente,uri="."
.mlflow run . --backend azureml --backend-config backend_config.json -P alpha=0.3
Observação
Como os trabalhos do Azure Machine Learning sempre são executados no contexto de ambientes, o parâmetro
env_manager
é ignorado.Veja suas execuções e suas métricas no estúdio do Azure Machine Learning.
Limpar recursos
Se você não planeja usar as métricas registradas e os artefatos em seu workspace, a capacidade de excluí-los individualmente não estará disponível no momento. Em vez disso, exclua o grupo de recursos que contém a conta de armazenamento e o workspace, para que você não incorra nenhum encargo:
No portal do Azure, selecione Grupos de recursos no canto esquerdo.
Selecione o grupo de recursos criado na lista.
Selecione Excluir grupo de recursos.
Insira o nome do grupo de recursos. Em seguida, selecione Excluir.
Blocos de anotações de exemplo
O MLflow com notebooks do Azure Machine Learning demonstra e expande os conceitos apresentados neste artigo.
- Treinar um projeto do MLflow em uma computação local
- Treinar um projeto do MLflow em uma computação remota.
Observação
Um repositório de exemplos voltado para a comunidade que usa mlflow pode ser encontrado em https://github.com/Azure/azureml-examples.