Acompanhe o desenvolvimento de modelos usando MLflow
Este artigo contém exemplos de acompanhamento do desenvolvimento de modelos no Azure Databricks. Registre e rastreie modelos de ML e deep learning automaticamente com o MLflow ou manualmente com a API MLflow.
Rastreamento de modelo & MLflow
O processo de desenvolvimento de modelos é iterativo e pode ser desafiante controlar o seu trabalho à medida que desenvolve e otimiza um modelo. No Azure Databricks, pode utilizar o controlo de MLflow para o ajudar a monitorizar o processo de desenvolvimento de modelos, incluindo configurações de parâmetros ou combinações que tentou e como estas afetaram o desempenho do modelo.
O rastreamento de MLflow usa experimentos e execuções para registrar e acompanhar o desenvolvimento do modelo de ML e deep learning. Uma execução é uma execução única do código do modelo. Durante uma execução de MLflow, pode registar parâmetros e resultados de modelos. Uma experimentação é uma coleção de execuções relacionadas. Em um experimento, você pode comparar e filtrar execuções para entender como seu modelo funciona e como seu desempenho depende das configurações de parâmetro, dados de entrada e assim por diante.
Os blocos de notas neste artigo fornecem exemplos simples que o podem ajudar a começar a utilizar o MLflow rapidamente para acompanhar o desenvolvimento de modelos. Para obter mais detalhes sobre como usar o controle de MLflow no Azure Databricks, consulte Controlar execuções de treinamento de ML e aprendizado profundo.
Nota
O rastreamento de fluxo de MLnão oferece suporte a trabalhos enviados com spark_submit_task na API de Trabalhos. Em vez disso, você pode usar projetos MLflow para executar o código Spark.
Utilize o registo automático para monitorizar o desenvolvimento de modelos
O MLflow pode registrar automaticamente o código de treinamento escrito em muitas estruturas de ML e deep learning. Esta é a forma mais fácil de começar a utilizar o controlo de MLflow.
Este bloco de notas de exemplo mostra como utilizar o registo automático com scikit-Learn. Para obter informações sobre o registo automático com outras bibliotecas do Python, veja Execuções de preparação do registo automático para MLflow.
Notebook Python de registro automático MLflow
Utilize a API de registo para monitorizar o desenvolvimento de modelos
Este bloco de notas ilustra como deve utilizar a API de registo do MLflow. Utilizar a API de registo dá-lhe mais controlo sobre as métricas registadas e permite-lhe registar artefactos adicionais como tabelas ou gráficos.
Este bloco de notas de exemplo mostra como utilizar a API de registo do Python. O MLflow também possui APIs REST, R e Java.
Bloco de notas Python da API de registo MLflow
Exemplo de ponta a ponta
Este bloco de notas tutorial apresenta um exemplo de preparação ponto a ponto de um modelo no Azure Databricks, incluindo o carregamento de dados, a visualização de dados, a configuração de uma otimização de hiperparâmetro paralelo e a utilização do MLflow para consultar os resultados, registar o modelo e executar a inferência em novos dados através do modelo registado num UDF do Spark.
Requisitos
ML de tempo de execução do Databricks
Bloco de notas de exemplo
Se seu espaço de trabalho estiver habilitado para o Catálogo Unity, use esta versão do bloco de anotações:
Use scikit-learn com integração MLflow em Databricks (Unity Catalog)
Se seu espaço de trabalho não estiver habilitado para o Catálogo Unity, use esta versão do bloco de anotações: