MLflow e Azure Machine Learning

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

O MLflow é uma estrutura de código aberto projetada para gerenciar todo o ciclo de vida do aprendizado de máquina. Sua capacidade de treinar e servir modelos em diferentes plataformas permite que você use um conjunto consistente de ferramentas, independentemente de onde seus experimentos estão sendo executados: seja localmente em seu computador, em um destino de computação remoto, em uma máquina virtual ou em uma 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 os espaços de trabalho do Azure Machine Learning da mesma forma que usaria um servidor MLflow. Esta compatibilidade tem as seguintes vantagens:

  • O Azure Machine Learning não hospeda instâncias de servidor MLflow nos bastidores; em vez disso, o espaço de trabalho pode falar a linguagem da API MLflow.
  • Você pode usar espaços de trabalho do Azure Machine Learning como seu servidor de rastreamento para qualquer código MLflow, seja ele executado no Azure Machine Learning ou não. Você só precisa configurar o MLflow para apontar para o espaço de trabalho onde o rastreamento deve acontecer.
  • Você pode executar qualquer rotina de treinamento que use o MLflow no Aprendizado de Máquina do Azure sem qualquer alteração.

Gorjeta

Ao contrário do SDK do Azure Machine Learning v1, não há nenhuma funcionalidade de registro em log no SDK v2. Recomendamos que você use o MLflow para registro, para que suas rotinas de treinamento sejam independentes da nuvem e portáteis, removendo qualquer dependência que seu código tenha do Aprendizado de Máquina do Azure.

Rastreando 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 acompanhamento realizado usando MLflow é materializado no espaço de trabalho em que você está trabalhando. Para saber mais sobre como configurar seus experimentos para usar o MLflow para acompanhar experimentos e rotinas de treinamento, consulte Registrar métricas, parâmetros e arquivos com MLflow. Você também pode usar MLflow para consultar & comparar experimentos e execuções.

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 fornece um local centralizado, seguro e escalável para armazenar métricas e modelos de treinamento.

O uso do MLflow no Aprendizado de Máquina do Azure inclui os recursos para:

Blocos de notas de exemplo

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.
  • O gerenciamento e o registro de modelos não são suportados usando o SDK do MLflow R. Em vez disso, use a CLI do Azure Machine Learning ou o estúdio do Azure Machine Learning para registro e gerenciamento de modelos.

Para saber mais sobre como usar o cliente de rastreamento MLflow com o Azure Machine Learning, exiba os exemplos em 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 usando o MLflow Java SDK. Em vez disso, use a Outputs pasta em trabalhos junto com o mlflow.save_model método para salvar modelos (ou artefatos) que você deseja capturar.

Para saber mais sobre como usar o cliente de rastreamento MLflow com o Azure Machine Learning, exiba o exemplo Java que usa o cliente de rastreamento MLflow com o Azure Machine Learning.

Modelos de registos com MLflow

O Azure Machine Learning dá suporte ao MLflow para gerenciamento de modelos. Esse suporte representa uma maneira conveniente de oferecer suporte a todo o ciclo de vida do modelo para usuários que estão familiarizados com o cliente MLflow.

Para saber mais sobre como gerenciar modelos usando a API MLflow no Azure Machine Learning, consulte Gerenciar registros de modelo no Azure Machine Learning com MLflow.

Bloco de notas de exemplo

Implantação de modelo com MLflow

Você pode implantar modelos MLflow no Azure Machine Learning e aproveitar a experiência aprimorada ao usar modelos MLflow. 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. A implantação é suportada usando o SDK do MLflow, a CLI do Azure Machine Learning, o SDK do Azure Machine Learning para Python ou o estúdio do Azure Machine Learning.

Para saber mais sobre como implantar modelos MLflow no Azure Machine Learning para inferência em tempo real e em lote, consulte Diretrizes para implantar modelos MLflow.

Blocos de notas de exemplo

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

Importante

Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. A versão de visualização é fornecida sem um contrato de nível de serviço e não é recomendada 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 (visualização). 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 com projetos MLflow que usam espaços de trabalho do Azure Machine Learning para rastreamento, consulte Treinar modelos de aprendizado de máquina com projetos MLflow e Azure Machine Learning.

Blocos de notas de exemplo

SDK do MLflow, Azure Machine Learning v2 e recursos do estúdio Azure Machine Learning

A tabela a seguir mostra as operações possíveis, usando cada uma das ferramentas de cliente disponíveis no ciclo de vida do aprendizado de máquina.

Funcionalidade MLflow SDK Azure Machine Learning CLI/SDK Azure Machine Learning Studio
Rastreie e registre métricas, parâmetros e modelos
Recuperar métricas, parâmetros e modelos 1
Submeter trabalhos de formação 2
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 3
Gerenciar modelos não-MLflow
Implantar modelos MLflow no Azure Machine Learning (Online & Batch) 4
Implantar modelos não-MLflow no Azure Machine Learning

Nota