Share via


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 MLflow azureml-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.

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

  1. 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. 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 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
    
  3. 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:

  1. No portal do Azure, selecione Grupos de recursos na extremidade esquerda.

    Image showing how to delete an Azure resource group.

  2. Na lista, selecione o grupo de recursos que criou.

  3. Selecione Eliminar grupo de recursos.

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

Próximos passos