Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Essa página cobre como personalizar Databricks Autologging, que captura automaticamente parâmetros de modelos, métricas, arquivos e informações de linhagem quando você treina modelos de várias bibliotecas de aprendizado de máquina populares. As sessões de treinamento são registradas como execuções de acompanhamento do MLflow. Os arquivos de modelo também são acompanhados para que você possa registrá-los facilmente no Registro de Modelos do MLflow.
Observação
Para habilitar o registro em log de rastreamento para cargas de trabalho de IA gerativas, o MLflow dá suporte ao registroautomático do OpenAI.
O vídeo a seguir mostra o Databricks Autologging com uma sessão de treinamento de modelo scikit-learn em um notebook Python interativo. As informações de acompanhamento são capturadas e exibidas automaticamente na barra lateral Execuções de experimento e na interface do usuário do MLflow.
Requisitos
- O Registro em Log Automático do Databricks está em disponibilidade geral em todas as regiões com o Databricks Runtime 10.4 LTS ML ou superior.
- O Databricks Autologging está disponível em regiões de versão prévia selecionadas com o Databricks Runtime 9.1 LTS ML ou superior.
Como ele funciona
Quando você anexa um notebook Python interativo a um cluster do Azure Databricks, o Databricks Autologging chama mlflow.autolog() para configurar o acompanhamento para suas sessões de treinamento de modelo. Quando você treina modelos no notebook, as informações de treinamento do modelo são rastreadas automaticamente com o MLflow Tracking. Para obter informações sobre como essas informações de treinamento de modelo são protegidas e gerenciadas, consulte Segurança e gerenciamento de dados.
Observação
O registro automático não é habilitado automaticamente na computação sem servidor. Para clusters de computação sem servidor, você deve chamar mlflow.autolog() explicitamente para habilitar a funcionalidade de registro automático.
A configuração padrão para a chamada mlflow.autolog() é:
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, treine um modelo de machine learning em uma estrutura com suporte usando um notebook Python interativo do Azure Databricks. O Databricks Autologging registra automaticamente informações de linhagem de modelo, parâmetros e métricas para o Acompanhamento do MLflow. Você também pode personalizar o comportamento do Databricks Autologging.
Observação
O Databricks Autologging não é aplicado a execuções criadas 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 MLflow. Confira Acompanhar conteúdo adicional.
Personalizar o comportamento de registro em log
Para personalizar o registro em log, use mlflow.autolog().
Essa função fornece parâmetros de configuração para habilitar o registro em log do modelo (log_models), registrar conjuntos de dados (log_datasets), coletar exemplos de entrada (log_input_examples), registrar assinaturas de modelo (log_model_signatures), configurar avisos (silent) e muito mais.
Acompanhar conteúdo adicional
Para acompanhar métricas, parâmetros, arquivos e metadados adicionais com execuções do MLflow criadas pelo Databricks Autologging, siga estas etapas em um notebook Python interativo do Azure Databricks:
- Chame mlflow.autolog() com
exclusive=False. - Inicie uma execução do MLflow usando mlflow.start_run().
Você pode envolver essa chamada em
with mlflow.start_run(). Quando fizer isso, a operação será encerrada automaticamente após a conclusão. - Use métodos de rastreamento do MLflow, como mlflow.log_param(), para acompanhar o conteúdo antes do treinamento.
- Treine um ou mais modelos de machine learning em uma estrutura com suporte pelo Databricks Autologging.
- Utilize métodos de Rastreamento do MLflow, como mlflow.log_metric(), para rastrear o conteúdo de pós-treinamento.
- Se você não usou
with mlflow.start_run()na Etapa 2, termine 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 notebook Python interativo do Azure Databricks, chame mlflow.autolog() com disable=True:
import mlflow
mlflow.autolog(disable=True)
Os administradores também podem desabilitar o Databricks Autologging para todos os clusters em um workspace na guia Avançado da página de configurações de administração. Os clusters devem ser reiniciados para que essa alteração entre em vigor.
Ambientes e estruturas com suporte
O Databricks Autologging tem suporte em notebooks Python interativos e está disponível para as seguintes estruturas ML:
- scikit-aprender
- MLlib do Apache Spark
- TensorFlow
- Keras
- PyTorch Lightning
- XGBoost
- LightGBM
- Glúon
- Fast.ai
- statsmodels (biblioteca para modelos estatísticos em Python)
- PaddlePaddle
- OpenAI
- LangChain
Para obter mais informações sobre cada um dos frameworks com suporte, consulte Log automático do MLflow.
Ativação do rastreamento no MLflow
O Rastreamento do MLflow utiliza o recurso dentro das autolog respectivas integrações de estrutura de modelo para controlar a habilitação ou desabilitação do suporte de rastreamento para integrações que dão suporte ao rastreamento.
Por exemplo, para habilitar 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)
Observação
Para clusters de computação sem servidor, o registro automático para rastreamento não está habilitado automaticamente. Você deve habilitar explicitamente o registro automático para as integrações de estrutura específicas que deseja rastrear (por exemplo, mlflow.openai.autolog() ou mlflow.langchain.autolog()).
As integrações compatíveis que possuem ativação de rastreamento em suas implementações de log automático são:
Segurança e gerenciamento de dados
Todas as informações de treinamento de modelo rastreadas com o Databricks Autologging são armazenadas no Acompanhamento de MLflow e são protegidas por permissões do Experimento MLflow. Você pode compartilhar, modificar ou excluir informações de treinamento de modelo usando a API de Acompanhamento do MLflow ou a interface do usuário.
Administração
Os administradores podem habilitar ou desabilitar o Databricks Autologging para todas as sessões interativas do notebook em seu espaço de trabalho na guia Avançado da página de configurações de administração. As alterações não fazem efeito até que o cluster seja reiniciado.
Limitações
- O Databricks Autologging está habilitado somente no nó do driver do seu cluster do Azure Databricks. Para usar o registro em log automático a partir de nós de trabalho, você deve chamar mlflow.autolog() explicitamente de dentro do código em execução em cada trabalho.
- Não há suporte para a integração scikit-learn do XGBoost.
Apache Spark MLlib, Hyperopt e acompanhamento de MLflow automatizado
O Databricks Autologging não altera o comportamento das integrações de acompanhamento de MLflow automatizadas existentes para Apache Spark MLlib e Hyperopt.
Observação
No Databricks Runtime 10.1 ML, desabilitar a integração automatizada de acompanhamento do MLflow para os modelos CrossValidator e TrainValidationSplit MLlib do Apache Spark também desabilita o recurso do Databricks Autologging para todos os modelos MLlib do Apache Spark.