Acompanhar o desenvolvimento de modelos usando o MLflow

Esse guia contém exemplos de acompanhamento do desenvolvimento de modelos no Azure Databricks. Registre e rastreie modelos de ML e aprendizado profundo automaticamente com o MLflow ou manualmente com a API do MLflow.

Acompanhamento de modelos e MLflow

O processo de desenvolvimento de modelos é iterativo e pode ser desafiador acompanhar seu trabalho conforme você desenvolve e otimiza um modelo. No Azure Databricks, você pode usar o acompanhamento do MLflow para ajudar você a acompanhar o processo de desenvolvimento de modelos, incluindo configurações de parâmetros ou combinações que você experimentou e como elas afetaram o desempenho do modelo.

O rastreamento do MLflow usa experimentos e execuções para registrar e rastrear seu desenvolvimento de modelos de ML e aprendizado profundo. Uma execução é uma execução única do código do modelo. Durante uma execução do MLflow, você pode registrar em log os parâmetros e os resultados do modelo. Um experimento é uma coleção de execuções relacionadas. Em um experimento, você pode comparar e filtrar execuções para entender o desempenho do seu modelo e como esse desempenho depende das configurações dos parâmetros, dos dados de entrada e assim por diante.

Os notebooks neste artigo fornecem exemplos simples que podem ajudar você a começar a usar rapidamente o MLflow para acompanhar o desenvolvimento de modelos. Para obter mais detalhes sobre o uso do rastreamento de MLflow no Azure Databricks, consulte Acompanhar as execuções de treinamento de ML e aprendizado profundo.

Observação

O acompanhamento do MLflow não é compatível com trabalhos enviados com spark_submit_task na API de Trabalhos. Em vez disso, você pode usar Projetos MLflow para executar códigos do Spark.

Usar o registro em log automático para acompanhar o desenvolvimento de modelos

O MLflow pode registrar automaticamente o código de treinamento escrito em muitas estruturas de ML e aprendizado profundo. Essa é a maneira mais fácil de começar a usar o acompanhamento do MLflow.

Este notebook de exemplo mostra como usar o registro em log automático com o scikit-learn. Para obter informações sobre o registro em log automático com outras bibliotecas Python, confira Registrar em log automaticamente execuções de treinamento no MLflow.

Registro em log automático do MLflow no notebook Python

Obter notebook

Usar a API de registro em log para acompanhar o desenvolvimento de modelos

Este notebook ilustra como usar a API de registro em log do MLflow. O uso da API de registro em log oferece mais controle sobre as métricas registradas e permite que você registre outros artefatos como tabelas ou gráficos.

Este notebook de exemplo mostra como usar a API de registro em log do Python. O MLflow também tem APIs REST, R e Java.

API de registro em log do MLflow no notebook Python

Obter notebook

Exemplo de ponta a ponta

Este notebook de tutorial apresenta um exemplo completo de como treinar um modelo no Azure Databricks, incluindo como carregar dados, visualizar dados, configurar uma otimização de hiperparâmetro paralela e usar o MLflow para examinar os resultados, registrar o modelo e executar inferência em novos dados usando o modelo registrado em um UDF do Spark.

Requisitos

Databricks Runtime ML

Caderno de exemplo

Se o seu espaço de trabalho estiver habilitado para o Unity Catalog, use esta versão do notebook:

Use o scikit-learn com integração do MLflow no Databricks (Catálogo do Unity)

Obter notebook

Se o seu espaço de trabalho não estiver habilitado para o Catálogo do Unity, use esta versão do notebook:

Usar o scikit-learn com a integração do MLflow no Databricks

Obter notebook