MLlib do Apache Spark e controlo de MLflow automatizado
Importante
Esta documentação foi desativada e pode não ser atualizada. Os produtos, serviços ou tecnologias mencionados neste conteúdo não são mais suportados.
Nota
O rastreamento automatizado de MLflow MLlib foi preterido em clusters que executam o Databricks Runtime 10.1 ML e superior, e é desabilitado por padrão em clusters que executam o Databricks Runtime 10.2 ML e superior. Em vez disso, use o registro automático MLflow PySpark ML chamando mlflow.pyspark.ml.autolog()
, que é habilitado por padrão com o Databricks Autologging.
Para usar o antigo MLlib automatizado MLflow tracking no Databricks Runtime 10.2 ML ou superior, habilite-o definindo as configurações do spark.databricks.mlflow.trackMLlib.enabled true
Spark e .spark.databricks.mlflow.autologging.enabled false
O MLflow é uma plataforma open source para gerir o ciclo de vida completo de machine learning. O MLflow suporta rastreamento para ajuste de modelo de aprendizado de máquina em Python, R e Scala. Apenas para notebooks Python, as versões e compatibilidade das notas de versão do Databricks Runtime e o Databricks Runtime for Machine Learning suportam o rastreamento automatizado de MLflow para ajuste de modelo MLlib do Apache Spark.
Com o acompanhamento MLflow automatizado do MLlib, quando você executa o código de ajuste que usa CrossValidator
ou TrainValidationSplit
, os hiperparâmetros e as métricas de avaliação são automaticamente registrados no MLflow. Sem o rastreamento automatizado do MLflow, você deve fazer chamadas de API explícitas para registrar no MLflow.
Gerenciar execuções do MLflow
CrossValidator
ou TrainValidationSplit
resultados de ajuste de log à medida que o MLflow aninhado é executado:
- Execução principal ou principal: as informações para
CrossValidator
ouTrainValidationSplit
são registradas na execução principal. Se já houver uma execução ativa, as informações serão registradas nessa execução ativa e a execução ativa não será interrompida. Se não houver nenhuma execução ativa, o MLflow criará uma nova execução, registrará nela e encerrará a execução antes de retornar. - Execuções filhas: Cada configuração de hiperparâmetro testada e a métrica de avaliação correspondente são registradas em uma execução filho sob a execução principal.
Ao chamar fit()
o , o Azure Databricks recomenda o gerenciamento ativo de execução do MLflow, ou seja, envolver a chamada dentro fit()
de uma instrução "with mlflow.start_run():
".
Isso garante que as informações sejam registradas em sua própria execução principal do MLflow e facilita o registro de tags, parâmetros ou métricas adicionais nessa execução.
Nota
Quando fit()
é chamado várias vezes dentro da mesma execução ativa do MLflow, ele registra essas várias execuções na mesma execução principal. Para resolver conflitos de nomes para parâmetros e tags MLflow, MLflow acrescenta um UUID a nomes com conflitos.
O bloco de anotações Python a seguir demonstra o rastreamento automatizado do MLflow.
Notebook automatizado de rastreamento MLflow
Depois de executar as ações na última célula do bloco de anotações, a interface do usuário do MLflow deve exibir: