Compartilhar via


MLflow e Azure Machine Learning

APLICA-SE A:Extensão de ML da CLI do Azure v2 (atual)SDK do Python azure-ai-ml v2 (atual)

Esse artigo descreve as funcionalidades do MLflow, uma estrutura de código aberto projetada para gerenciar todo o ciclo de vida do aprendizado de máquina. O MLflow usa um conjunto consistente de ferramentas para treinar e servir modelos em diferentes plataformas. Você pode usar o MLflow, independentemente de seus experimentos estarem sendo executados localmente ou em um destino de computação remota, máquina virtual ou instância de computação do Azure Machine Learning.

Os workspaces do Azure Machine Learning são compatíveis com o MLflow, o que significa que você pode usar um workspace do Azure Machine Learning da mesma forma que usa um servidor MLflow. Essa compatibilidade tem as seguintes vantagens:

  • O Azure Machine Learning não hospeda instâncias de servidores MLflow, mas pode usar as APIs do MLflow diretamente.
  • Você pode usar um workspace do Azure Machine Learning como seu servidor de acompanhamento para qualquer código MLflow, independentemente de ele ser executado no Azure Machine Learning ou não. Você só precisa configurar o MLflow para apontar para o workspace em que o acompanhamento deve ocorrer.
  • Você pode executar qualquer rotina de treinamento que use o MLflow no Azure Machine Learning sem fazer alterações.

Dica

Ao contrário do SDK v1 do Azure Machine Learning, não há funcionalidade de registro em log no SDK v2 do Azure Machine Learning. Você pode usar o registro em log do MLflow para garantir que suas rotinas de treinamento sejam independentes da nuvem, portáteis e sem dependências do Azure Machine Learning.

Acompanhamento com o MLflow

O Azure Machine Learning usa o acompanhamento do MLflow para registrar métricas e armazenar artefatos para seus experimentos. Quando você está conectado ao Azure Machine Learning, todo o acompanhamento do MLflow se materializa no workspace em que você está trabalhando.

Para saber como configurar o acompanhamento do MLflow para experimentos e rotinas de treinamento, confira Registrar métricas, parâmetros e arquivos com o MLflow. Você também pode consultar e comparar experimentos e execuções com MLflow.

O MLflow no Azure Machine Learning fornece uma maneira de centralizar o acompanhamento. Você pode conectar o MLflow aos workspaces do Azure Machine Learning mesmo quando estiver trabalhando localmente ou em uma nuvem diferente. O workspace do Azure Machine Learning fornece um local centralizado, seguro e escalonável para armazenar métricas de treinamento e modelos.

O MLflow no Azure Machine Learning pode:

Acompanhamento com o MLflow no R

O suporte ao MLflow no R tem as seguintes limitações:

  • O acompanhamento do MLflow é limitado ao acompanhamento de métricas, parâmetros e modelos de experimentos em trabalhos do Azure Machine Learning.
  • Não há suporte para treinamento interativo no RStudio, Posit ( anteriormente RStudio Workbench) ou notebooks Jupyter com kernels R.
  • Não há suporte para o gerenciamento e registro de modelos. Use a CLI do Azure Machine Learning ou o Estúdio do Azure Machine Learning para o registro e gerenciamento de modelos.

Para exemplos de uso do cliente de acompanhamento do MLflow com modelos R no Azure Machine Learning, confira Treinar modelos R usando a CLI do Azure Machine Learning (v2).

Acompanhamento com o MLflow no Java

O suporte do MLflow no Java tem as seguintes limitações:

  • O acompanhamento do MLflow é limitado ao acompanhamento de métricas e parâmetros de experimentos em trabalhos do Azure Machine Learning.
  • Artefatos e modelos não podem ser acompanhados. Em vez disso, use o método mlflow.save_model com a pasta outputs em trabalhos para salvar os modelos ou artefatos que você deseja capturar.

Para um exemplo em Java que usa o cliente de acompanhamento do MLflow com o servidor de acompanhamento do Azure Machine Learning, confira azuremlflow-java.

Notebooks de exemplo para acompanhamento do MLflow

Registro de modelos com o MLflow

O Azure Machine Learning dá suporte ao MLflow para gerenciamento de modelos. Esse suporte é uma forma conveniente para usuários familiarizados com o cliente MLflow gerenciarem todo o ciclo de vida do modelo. Para mais informações sobre como gerenciar modelos usando a API do MLflow no Azure Machine Learning, confira Gerenciar registros de modelos no Azure Machine Learning com o MLflow.

Notebook de exemplo para registro de modelos no MLflow

Gerenciamento de modelos com o MLflow demonstra como gerenciar modelos em registros.

Implantação de modelo com o MLflow

Você pode implantar modelos do MLflow no Azure Machine Learning para usufruir de uma experiência aprimorada. O Azure Machine Learning dá suporte à implantação de modelos do MLflow em pontos de extremidade em tempo real e em lote sem precisar especificar um ambiente ou um script de pontuação.

O SDK do MLflow, a CLI do Azure Machine Learning, o SDK do Azure Machine Learning para Python e o Estúdio do Azure Machine Learning dão suporte a implantação de modelos do MLflow. Para mais informações sobre a implantação de modelos do MLflow no Azure Machine Learning para inferência em tempo real e em lote, confira Diretrizes para implantar modelos do MLflow.

Notebooks de exemplo para implantação de modelos do MLflow

Treinamento com Projetos do MLflow (versão prévia)

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.

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.

Você pode enviar trabalhos de treinamento para o Azure Machine Learning usando Projetos do MLflow. Você pode enviar trabalhos localmente com o acompanhamento do Azure Machine Learning ou migrar seus trabalhos para a nuvem, por exemplo, por meio de uma Computação do Azure Machine Learning.

Para saber como enviar trabalhos de treinamento que usam Projetos do MLflow para workspaces do Azure Machine Learning para acompanhamento, confira Treinar com Projetos do MLflow no Azure Machine Learning (versão prévia).

Notebooks de exemplo para Projetos do MLflow

Funcionalidades das ferramentas cliente do MLflow vs Azure Machine Learning

A tabela a seguir mostra as operações do ciclo de vida de aprendizado de máquina possíveis com o SDK do MLflow e as ferramentas cliente do Azure Machine Learning.

Recurso MLflow SDK CLI/SDK v2 do Azure Machine Learning Azure Machine Learning Studio
Acompanhar e registrar métricas, parâmetros e modelos
Recuperar métricas, parâmetros e modelos Apenas artefatos e modelos podem ser baixados.
Enviar trabalhos de treinamento Possível usando Projetos do MLflow (versão prévia).
Enviar trabalhos de treinamento com ativos de dados do Azure Machine Learning
Enviar trabalhos de treinamento usando pipelines de machine learning
Gerenciar experimentos e execuções
Gerenciar modelos do MLflow Pode não haver suporte para algumas operações.1
Gerenciar modelos não MLflow
Implantar modelos do MLflow no Azure Machine Learning (online e em lote) Atualmente, não há suporte para a implantação de modelos do MLflow para inferência em lote.2
Implantar modelos não MLflow no Azure Machine Learning

1 Para mais informações, confira Gerenciar registros de modelos no Azure Machine Learning com o MLflow.

2 Para uma alternativa, confira Implantar e executar modelos do MLflow em trabalhos do Spark.