Pular para o conteúdo principal

Apache Spark MLlib e automatizado acompanhamento MLflow

important

Essa documentação foi descontinuada e pode não estar atualizada. O produto, serviço ou tecnologia mencionados neste conteúdo não são mais suportados.

nota

MLlib O acompanhamento automatizado MLflow está obsoleto em clusters que executam Databricks Runtime 10.1 ML e acima, e está desativado por default em clusters que executam Databricks Runtime 10.2 ML e acima. Em vez disso, use MLflow PySpark ML autologging chamando mlflow.pyspark.ml.autolog(), que é ativado por default com Databricks Autologging.

Para usar o antigo MLlib automatizado MLflow acompanhamento em Databricks Runtime 10.2 ML ou acima, ative-o definindo as configuraçõesSpark spark.databricks.mlflow.trackMLlib.enabled true e spark.databricks.mlflow.autologging.enabled false.

O MLflow é uma plataforma de código aberto para gerenciar o ciclo de vida do aprendizado de máquina de ponta a ponta. MLflow suporta acompanhamento para ajuste do modelo de aprendizado de máquina em Python, R e Scala. Apenas para Python Notebook, Databricks Runtime notas sobre versões e compatibilidade e MLflow para suporte Databricks Runtime a Machine Learning automatizado acompanhamento para ajuste de Apache Spark MLlib modelos.

Com o MLlib acompanhamento automatizado MLflow, quando o senhor 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 em MLflow. Sem o acompanhamento automatizado MLflow, o senhor deve fazer chamadas explícitas API para log para MLflow.

gerenciar MLflow execução

CrossValidator ou TrainValidationSplit log resultados de ajuste como MLflow execução aninhada:

  • Execução principal ou principal: As informações para CrossValidator ou TrainValidationSplit são logs para a execução principal. Se já houver uma execução ativa, as informações serão registradas em logs para essa execução ativa e a execução ativa não será interrompida. Se não houver nenhuma execução ativa, MLflow cria uma nova execução, logs para ela e encerra a execução antes de retornar.
  • Execução secundária: Cada configuração de hiperparâmetro testada e as métricas de avaliação correspondentes são registradas em uma execução secundária sob a execução principal.

Ao chamar fit(), a Databricks recomenda o gerenciamento ativo da execução do MLflow; ou seja, envolva a chamada para fit() em uma instrução "with mlflow.start_run():". Isso garante que as informações sejam registradas em sua própria MLflow execução principal e facilita a log inclusão de tags, parâmetros ou métricas adicionais nessa execução.

nota

Quando fit() é chamado várias vezes na mesma execução ativa do MLflow, ele logs essas várias execuções para a mesma execução principal. Para resolver conflitos de nomes para parâmetros e tags do MLflow, o MLflow acrescenta um UUID aos nomes com conflitos.

O seguinte Python Notebook demonstra o acompanhamento automatizado do MLflow.

Automatizado MLflow acompanhamento Notebook

Open notebook in new tab

Depois que o senhor executar as ações na última célula do Notebook, a interface do usuário do MLflow deverá ser exibida:

Demonstração do MLlib-MLflow