Registro Automático do Databricks
Esta página aborda como personalizar o Databricks Autologgingque captura automaticamente os parâmetros do modelo, as métricas, os arquivos e as informações de linhagem quando o senhor ensina modelos de uma variedade de bibliotecas populares do machine learning. As sessões de treinamento são registradas como MLflow acompanhamento execução. Os arquivos de modelo também são rastreados para que o senhor possa facilmente log para o arquivo MLflow Model Registry.
Observação
Para habilitar o registro de rastreamento para cargas de trabalho de IA generativa, o MLflow oferece suporte ao autologging do OpenAI.
O vídeo a seguir mostra o Databricks Autologging com uma sessão de treinamento de modelo Scikit-Learn em um Python Notebook interativo. A informação de acompanhamento é automaticamente capturada e exibida na barra lateral de execução do Experimento e na IU do MLflow.
Requisitos
O Databricks Autologging está geralmente disponível em todas as regiões com Databricks Runtime 10.4 LTS ML ou acima.
Databricks Autologging está disponível em regiões de visualização selecionadas com Databricks Runtime 9.1 LTS ML ouacima.
Como funciona
Quando você anexa um Python Notebook interativo a clusters Databricks, Databricks Autologging chama mlflow.autolog() para configurar o acompanhamento para suas sessões de treinamento de modelo. Quando você ensina modelos no Notebook, a informação de ensino do modelo é rastreada automaticamente com o acompanhamento do MLflow. Para obter informações sobre como este modelo de informação de treinamento é protegido e gerenciado, consulte Segurança e gerenciamento de dados.
A configuração default para o mlflow.autolog() chamada é:
mlflow.autolog(
log_input_examples=False,
log_model_signatures=True,
log_models=True,
disable=False,
exclusive=False,
disable_for_unsupported_versions=True,
silent=False
)
Você pode personalizar a configuração de registro automático.
Uso
Para usar o Databricks Autologging, ensine a versão do machine learning em uma estrutura com suporte usando um Databricks Python Notebook interativo. Databricks Autologging registra automaticamente informações, parâmetros e métricas de linhagem de modelo para acompanhamento de MLflow. Você também pode personalizar o comportamento do Databricks Autologging.
Observação
Databricks Autologging não é aplicado à execução criada usando a API fluente do MLflow com mlflow.start_run()
. Nesses casos, você deve chamar mlflow.autolog()
para salvar o conteúdo registrado automaticamente na execução do MLflow. Consulte Rastrear conteúdo adicional.
Personalizar o comportamento de registro
Para personalizar o registro, use mlflow.autolog(). Essa função fornece parâmetros de configuração para ativar o registro de modelos (log_models
), o conjunto de dados log (log_datasets
), coletar exemplos de entrada (log_input_examples
), modelos logassinaturas ged (log_model_signatures
), configurar avisos (silent
) e muito mais.
Rastrear conteúdo adicional
Para rastrear métricas, parâmetros, arquivos e metadados adicionais com a execução MLflow criada pelo Databricks Autologging, siga estes passos em um Databricks Python Notebook interativo:
Chame mlflow.autolog() com
exclusive=False
.começar uma execução do MLflow usando mlflow.começar(). Você pode agrupar esta chamada em
with mlflow.start_run()
; quando você fizer isso, a execução será encerrada automaticamente após sua conclusão.Use métodos de acompanhamento do MLflow, como mlflow.logs(), para rastrear o conteúdo pré-treinamento.
ensino um ou mais modelo do machine learning em uma estrutura suportada pelo Databricks Autologging.
Use métodos de acompanhamento do MLflow, como mlflow.logs(), para rastrear o conteúdo pós-treinamento.
Se você não usou
with mlflow.start_run()
na passo 2, encerre a execução do MLflow usando mlflow.end_run().
Por exemplo:
import mlflow
mlflow.autolog(exclusive=False)
with mlflow.start_run():
mlflow.log_param("example_param", "example_value")
# <your model training code here>
mlflow.log_metric("example_metric", 5)
Desabilitar Databricks Autologging
Para desabilitar o Databricks Autologging em um Databricks Python Notebook interativo, chame mlflow.autolog() com disable=True
:
import mlflow
mlflow.autolog(disable=True)
Os administradores também podem desativar o Databricks Autologging para todos os clusters em um workspace no Advanced tab da página de configurações do administrador. Os clusters devem ser reiniciados para que essa alteração tenha efeito.
Ambientes e estruturas compatíveis
Databricks Autologging tem suporte no Python Notebook interativo e está disponível para as seguintes estruturas de ML:
Scikit-Learn
Apache Spark MLlibName
TensorFlow
Keras
Relâmpago PyTorch
XGBoostGenericName
Light GBM
glúon
Rápido.IA
modelos de estatísticas
Raquete
Para obter mais informações sobre cada uma das estruturas compatíveis, consulte MLflow automatic logging.
Habilitação do MLflow Tracing
O rastreamento do MLflow utiliza o recurso autolog
nas respectivas integrações da estrutura do modelo para controlar a ativação ou desativação do suporte ao rastreamento para as integrações que oferecem suporte ao rastreamento.
Por exemplo, para ativar o rastreamento ao usar um modelo LlamaIndex, utilize mlflow.llama_index.autolog () com log_traces=True
:
import mlflow
mlflow.llama_index.autolog(log_traces=True)
As integrações suportadas que têm ativação de rastreamento em suas implementações de registro automático são:
Segurança e gestão de dados
Todas as informações de treinamento de modelos rastreadas com Databricks Autologging são armazenadas em MLflow acompanhamento e são protegidas por MLflow Permissões de experiência. O senhor pode compartilhar, modificar ou excluir informações de treinamento de modelos usando o MLflow acompanhamento API ou UI.
Administração
Os administradores podem ativar ou desativar o Databricks Autologging para todas as sessões interativas do Notebook em seu workspace no Advanced tab da página de configurações do administrador. As alterações não entram em vigor até que o cluster seja reiniciado.
Limitações
Databricks Autologging não tem suporte no Databricks Job. Para usar o registro automático de Job, você pode chamar explicitamente mlflow.autolog().
Databricks Autologging é habilitado apenas no nó do driver de seus clusters Databricks. Para usar o registro automático de nós worker , você deve chamar explicitamente mlflow.autolog() de dentro do código em execução em cada worker.
A integração XGBoost Scikit-Learn não é suportada.
Acompanhamento Apache Spark MLlib, Hyperopt e MLflow automatizado
Databricks Autologging não altera o comportamento das integrações de acompanhamento automatizadas existentes do MLflow para o Apache Spark MLlib e Hyperopt.
Observação
No Databricks Runtime 10.1 ML, desabilitar a integração automatizada de acompanhamento MLflow para os modelos Apache Spark MLlib CrossValidator
e TrainValidationSplit
também desabilita o recurso Databricks Autologging para todos os modelos Apache Spark MLlib.