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
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
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)
Se o seu espaço de trabalho não estiver habilitado para o Catálogo do Unity, use esta versão do notebook: