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.
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.
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 é:
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.
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 :
- Chame mlflow.autolog () com
exclusive=False
. - 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. - Use os métodos de acompanhamento doMLflow, como mlflow.logs(), para rastrear o conteúdo do pré-treinamento.
- Treine um ou mais modelos de aprendizado de máquina em uma estrutura compatível com o site Databricks Autologging.
- Use os métodos de acompanhamento doMLflow, 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)
Desativar Databricks Autologging
Para desativar o Databricks Autologging em um Notebook Databricks interativo Python, 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. 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:
- scikit-learn
- Apache Spark MLlib
- TensorFlow
- Keras
- PyTorch Lightning
- XGBoost
- LightGBM
- Glúon
- Fast.AI
- modelos de estatísticas
- Raquete
- Inteligência artificial aberta
- LangChain
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
:
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.
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.