Partilhar via


MLflow e Azure Machine Learning

APLICA-SE A:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Este artigo descreve os recursos 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 se seus experimentos estiverem sendo executados localmente ou em um destino de computação remoto, máquina virtual ou instância de computação do Azure Machine Learning.

Os espaços de trabalho do Azure Machine Learning são compatíveis com MLflow, o que significa que você pode usar um espaço de trabalho do Azure Machine Learning da mesma forma que usa um servidor MLflow. Esta compatibilidade tem as seguintes vantagens:

  • O Azure Machine Learning não hospeda instâncias de servidor MLflow, mas pode usar as APIs MLflow diretamente.
  • Você pode usar um espaço de trabalho do Azure Machine Learning como seu servidor de rastreamento para qualquer código MLflow, seja ele executado ou não no Azure Machine Learning. Você só precisa configurar o MLflow para apontar para o espaço de trabalho onde o rastreamento deve ocorrer.
  • Você pode executar qualquer rotina de treinamento que use MLflow no Aprendizado de Máquina do Azure sem fazer alterações.

Gorjeta

Ao contrário do SDK do Azure Machine Learning v1, não há nenhuma funcionalidade de registro em log no SDK do Azure Machine Learning v2. Você pode usar o log MLflow para garantir que suas rotinas de treinamento sejam agnósticas na nuvem, portáteis e não dependam do Azure Machine Learning.

O que é rastreamento

Quando você trabalha com trabalhos, o Aprendizado de Máquina do Azure rastreia automaticamente algumas informações sobre experimentos, como código, ambiente e dados de entrada e saída. No entanto, modelos, parâmetros e métricas são específicos para o cenário, portanto, os construtores de modelos devem configurar seu rastreamento.

Os metadados de rastreamento salvos variam de acordo com o experimento e podem incluir:

  • Código
  • Detalhes do ambiente, como versão do sistema operacional e pacotes Python
  • Dados de entrada
  • Configurações de parâmetros
  • Modelos
  • Métricas de avaliação
  • Visualizações de avaliação, tais como matrizes de confusão e gráficos de importância
  • Resultados da avaliação, incluindo algumas previsões de avaliação

Benefícios do rastreamento de experimentos

Quer treine modelos com trabalhos no Azure Machine Learning ou interativamente em blocos de notas, o acompanhamento de experiências ajuda-o a:

  • Organize todos os seus experimentos de aprendizado de máquina em um único lugar. Em seguida, você pode pesquisar e filtrar experimentos e detalhar para ver detalhes sobre experimentos anteriores.
  • Compare facilmente experimentos, analise resultados e depure o treinamento do modelo.
  • Reproduza ou execute novamente experimentos para validar os resultados.
  • Melhore a colaboração, porque você pode ver o que outros colegas de equipe estão fazendo, compartilhar resultados de experimentos e acessar dados de experimentos programaticamente.

Rastreando com MLflow

Os espaços de trabalho do Azure Machine Learning são compatíveis com MLflow. Essa compatibilidade significa que você pode usar o MLflow para rastrear execuções, métricas, parâmetros e artefatos em espaços de trabalho sem precisar alterar suas rotinas de treinamento ou injetar qualquer sintaxe específica da nuvem. Para saber como usar o MLflow para controlar experimentos e execuções em espaços de trabalho do Azure Machine Learning, consulte Controlar experimentos e modelos com MLflow.

O Azure Machine Learning usa o controle de MLflow para registrar métricas e armazenar artefatos para seus experimentos. Quando você está conectado ao Aprendizado de Máquina do Azure, todo o rastreamento de MLflow se materializa no espaço de trabalho em que você está trabalhando.

Para saber como habilitar o registro em log para monitorar métricas de execução em tempo real com MLflow, consulte Métricas de log, parâmetros e arquivos com 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 rastreamento. Você pode conectar o MLflow aos espaços de trabalho do Azure Machine Learning mesmo quando estiver trabalhando localmente ou em uma nuvem diferente. O espaço de trabalho do Azure Machine Learning fornece um local centralizado, seguro e escalável para armazenar métricas e modelos de treinamento.

O MLflow no Azure Machine Learning pode:

Rastreamento com MLflow em R

O suporte a MLflow em R tem as seguintes limitações:

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

Para obter exemplos de como usar o cliente de rastreamento MLflow com modelos R no Azure Machine Learning, consulte Treinar modelos R usando a CLI do Azure Machine Learning (v2).

Rastreando com MLflow em Java

O suporte a MLflow em 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 rastreados. Em vez disso, use o mlflow.save_model método com a outputs pasta em trabalhos para salvar modelos ou artefatos que você deseja capturar.

Para obter um exemplo de Java que usa o cliente de rastreamento MLflow com o servidor de rastreamento do Azure Machine Learning, consulte azuremlflow-java.

Exemplos de blocos de anotações para rastreamento de MLflow

Registo de modelo com MLflow

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

Exemplo de bloco de anotações para registro de modelo MLflow

O gerenciamento de modelos com MLflow demonstra como gerenciar modelos em registros.

Implantação de modelo com MLflow

Você pode implantar modelos MLflow no Azure Machine Learning para aproveitar uma experiência aprimorada. O Azure Machine Learning dá suporte à implantação de modelos 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 à implantação do modelo MLflow. Para obter mais informações sobre como implantar modelos MLflow no Azure Machine Learning para inferência em tempo real e em lote, consulte Diretrizes para implantar modelos MLflow.

Exemplos de blocos de anotações para implantação do modelo MLflow

Formação com Projetos MLflow (pré-visualização)

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.

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.

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

Para saber como enviar trabalhos de treinamento que usam Projetos MLflow para espaços de trabalho do Azure Machine Learning para acompanhamento, consulte Treinar com projetos MLflow no Azure Machine Learning (visualização).

Exemplos de blocos de anotações para projetos MLflow

MLflow vs recursos de ferramentas de cliente do Azure Machine Learning

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

Caraterística MLflow SDK CLI/SDK do Azure Machine Learning v2 Azure Machine Learning Studio
Rastreie e registre métricas, parâmetros e modelos
Recuperar métricas, parâmetros e modelos Somente artefatos e modelos podem ser baixados.
Submeter trabalhos de formação Possível usando projetos MLflow (visualização).
Enviar trabalhos de treinamento com ativos de dados do Azure Machine Learning
Envie trabalhos de treinamento com pipelines de aprendizado de máquina
Gerencie experimentos e execuções
Gerenciar modelos MLflow Algumas operações podem não ser suportadas.1
Gerenciar modelos não-MLflow
Implantar modelos MLflow no Azure Machine Learning (online e em lote) Atualmente, não há suporte para a implantação de modelos MLflow para inferência em lote.2
Implantar modelos não-MLflow no Azure Machine Learning

1 Para obter mais informações, consulte Gerenciar registros de modelo no Azure Machine Learning com MLflow.

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