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 MLprojecttrabalhos 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 plugin azureml-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. O mlflow-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.

  1. 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
    
  2. 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.

  1. 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. Se COMPUTE 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"
    }
    
    
  2. 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
    
  3. 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:

  1. No portal do Azure, selecione Grupos de recursos no canto esquerdo.

    Imagem mostrando como excluir um grupo de recursos do Azure.

  2. Selecione o grupo de recursos criado na lista.

  3. Selecione Excluir grupo de recursos.

  4. 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.

Observação

Um repositório de exemplos voltado para a comunidade que usa mlflow pode ser encontrado em https://github.com/Azure/azureml-examples.

Próximas etapas