Pular para o conteúdo principal

Databricks Autologging

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 usuário treina modelos de uma variedade de bibliotecas populares de aprendizado de máquina. 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.

nota

Para habilitar o registro de rastreamento para cargas de trabalho generativas do AI, o MLflow oferece suporte ao autologging do OpenAI.

O vídeo a seguir mostra Databricks Autologging com uma sessão de treinamento do modelo scikit-learn em um Notebook interativo Python. As informações de acompanhamento são automaticamente capturadas e exibidas na barra lateral de execução do experimento e na UI do site MLflow.

Exemplo de registro automático

Requisitos

  • 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 o senhor anexa um Notebook interativo Python a um clustering Databricks, o Databricks Autologging chama mlflow.autolog() para configurar o acompanhamento das sessões de treinamento do modelo. Quando o senhor treina modelos no Notebook, as informações de treinamento do modelo são automaticamente rastreadas com o MLflow acompanhamento. Para obter informações sobre como esse modelo de treinamento informações é protegido e gerenciado, consulte Segurança e gerenciamento de dados.

A configuração do default para o mlflow.autolog( ) a chamada é:

Python
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 do registro automático.

Uso

Para usar o Databricks Autologging, treine um modelo de aprendizado de máquina em uma estrutura compatível usando um notebook interativo Databricks Python . Databricks Autologging registra automaticamente informações de linhagem do modelo, parâmetros e métricas para MLflow acompanhamento. O senhor também pode personalizar o comportamento do Databricks Autologging.

nota

Databricks Autologging não é aplicado à execução criada usando o fluenteMLflow APIcom mlflow.start_run(). Nesses casos, o senhor deve chamar mlflow.autolog() para salvar o conteúdo autologado na execução do MLflow. Consulte Rastrear conteúdo adicional.

Personalize 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.

Rastreie conteúdo adicional

Para rastrear métricas, parâmetros, arquivos e metadados adicionais com a execução MLflow criada por Databricks Autologging, siga estas etapas em um notebook interativo Databricks Python :

  1. Chame mlflow.autolog () com exclusive=False.
  2. começar uma MLflow execução usando mlflow.começar(). O senhor pode envolver essa chamada em with mlflow.start_run(); ao fazer isso, a execução é encerrada automaticamente após a conclusão.
  3. Use os métodos de acompanhamento doMLflow, como mlflow.logs(), para rastrear o conteúdo do pré-treinamento.
  4. Treine um ou mais modelos de aprendizado de máquina em uma estrutura compatível com o site Databricks Autologging.
  5. Use os métodos de acompanhamento doMLflow, como mlflow.logs(), para rastrear o conteúdo pós-treinamento.
  6. Se você não usou with mlflow.start_run() na passo 2, encerre a execução do MLflow usando mlflow.end_run().

Por exemplo:

Python
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)

Desativar Databricks Autologging

Para desativar o Databricks Autologging em um Notebook Databricks interativo Python, chame mlflow.autolog( ) com disable=True:

Python
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. O clustering deve ser reiniciado para que essa alteração tenha efeito.

Ambientes e estruturas compatíveis

Databricks Autologging é compatível com o notebook interativo Python e está disponível para os seguintes frameworks ML:

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 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:

Python
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 gerenciamento 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 do notebook interativo 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 clustering seja reiniciado.

Limitações

  • Databricks Autologging não é compatível com o site Databricks Job. Para usar o autologging do Job, o senhor pode chamar explicitamente mlflow.autolog().
  • Databricks Autologging está ativado somente no nó do driver do clustering Databricks. Para usar o autologging dos nós do site worker, o senhor deve chamar explicitamente mlflow.autolog( ) de dentro do código em execução em cada worker.
  • Não há suporte para a integração do XGBoost com o scikit-learn.

Apache Spark MLlib, , e acompanhamento automatizado Hyperopt MLflow

Databricks Autologging não altera o comportamento das integrações de acompanhamento automatizadas existentes do MLflow para o Apache Spark MLlib e Hyperopt.

nota

Em Databricks Runtime 10.1 ML, a desativação da integração automatizada de MLflow acompanhamento para Apache Spark MLlib CrossValidator e TrainValidationSplit modelos também desativa o Databricks Autologging recurso para todos os Apache Spark MLlib modelos.