Databricks Autologging
Cette page explique comment personnaliser Databricks Autologging, qui capture automatiquement les paramètres de modèle, les métriques, les fichiers et les informations de lignage lorsque vous entraînez des modèles à partir d'une variété de bibliothèques de machine learning populaires. Les sessions d'entraînement sont enregistrées en tant qu'exécutions d'entraînement MLflow. Les fichiers de modèle sont également suivis afin que vous puissiez les consigner facilement dans le MLflow Model Registry.
Pour activer la journalisation des traces pour les charges de travail d’IA générative, MLflow prend en charge l’ autologging OpenAI.
La vidéo suivante montre Databricks Autologging avec une session de formation de modèle scikit-learn dans un Notebook Python interactif. Les informations de suivi sont automatiquement capturées et affichées dans la barre latérale des exécutions d'Experimentation et dans l'interface utilisateur MLflow.

Exigences
- Databricks Autologging est généralement disponible dans toutes les régions avec Databricks Runtime 10.4 LTS ML ou version supérieure.
- Databricks Autologging est disponible dans certaines régions en préversion avec Databricks Runtime 9.1 LTS ML ou version supérieure.
Comment cela fonctionne
Lorsque vous attachez un Notebook Python interactif à un cluster Databricks, Databricks Autologging appelle mlflow.autolog() pour configurer le suivi de vos sessions d'entraînement de modèle. Lorsque vous entraînez des modèles dans le Notebook, les informations d'entraînement du modèle sont automatiquement suivies avec MLflow Tracking. Pour des informations sur la manière dont ces informations d'entraînement de modèle sont sécurisées et gérées, consultez Sécurité et gestion de données.
L'autologging n'est pas automatiquement activé sur le compute Serverless. Pour les clusters de compute Serverless, vous devez appeler explicitement mlflow.autolog() pour activer la fonctionnalité d'autologging.
La configuration par default pour le mlflow.autolog() l'appel est :
mlflow.autolog(
log_input_examples=False,
log_model_signatures=True,
log_models=True,
disable=False,
exclusive=False,
disable_for_unsupported_versions=True,
silent=False
)
Vous pouvez personnaliser la configuration de l'autologging.
Utilisation
Pour utiliser Databricks Autologging, entraînez un modèle de machine learning dans un framework pris en charge à l'aide d'un notebook Python Databricks interactif. Databricks Autologging enregistre automatiquement les informations, les paramètres et les métriques de lignage du modèle dans MLflow Tracking. Vous pouvez également personnaliser le comportement de Databricks Autologging.
Databricks Autologging n'est pas appliquée aux exécutions créées à l'aide de l'
API fluide MLflow avec
mlflow.start_run(). Dans ces cas, vous devez appeler mlflow.autolog() pour enregistrer le contenu auto-journalisé
dans l'exécution MLflow. Consultez Suivre du contenu supplémentaire.
Personnaliser le comportement de journalisation
Pour personnaliser la journalisation, utilisez mlflow.autolog().
Cette fonction fournit des parameters de configuration pour activer les Logs du modèle (log_models), les Logs datasets (log_datasets), la collecte d’exemples d’entrée (log_input_examples), les Logs model signatures (log_model_signatures), les avertissements de configuration (silent), et plus encore.
Suivre le contenu supplémentaire
Pour suivre des métriques, des paramètres, des fichiers et des métadonnées supplémentaires avec les exécutions MLflow créées par Databricks Autologging, suivez ces étapes dans un Notebook Python interactif Databricks :
- Appelez mlflow.autolog() avec
exclusive=False. - Start une exécution MLflow à l'aide de mlflow.start_run(). Vous pouvez envelopper cet appel dans
with mlflow.start_run(); lorsque vous faites cela, l'exécution se termine automatiquement après son achèvement. - Utilisez les méthodes MLflow Tracking, telles que mlflow.log_param(), pour suivre le contenu de pré-entraînement.
- Entraînez un ou plusieurs modèles de machine learning dans un framework pris en charge par Databricks Autologging.
- Utilisez les méthodes MLflow Tracking, telles que mlflow.log_metric(), pour suivre le contenu post-formation.
- Si vous n'avez pas utilisé
with mlflow.start_run()à l'étape 2, mettez fin à l'exécution MLflow à l'aide de mlflow.end_run().
Par exemple :
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)
Désactiver Databricks Autologging
Pour désactiver Databricks Autologging dans un Notebook Python interactif Databricks, appelez
mlflow.autolog() avec
disable=True:
import mlflow
mlflow.autolog(disable=True)
Les administrateurs peuvent également désactiver Databricks Autologging pour tous les clusters d'un Workspace à partir de l'onglet Avancé de la page des paramètres d'administration. Les clusters doivent être redémarrés pour que cette modification prenne effet.
Environnements et frameworks pris en charge
Databricks Autologging est pris en charge dans les Notebooks Python interactifs et est disponible pour les cadres ML suivants :
- Scikit-learn
- Apache Spark MLlib
- TensorFlow
- keras
- PyTorch Lightning
- xgboost
- LightGBM
- Gluon
- Fast.ai
- statsmodels
- PaddlePaddle
- OpenAI
- LangChain
Pour plus d'informations sur chacun des frameworks pris en charge, consultez Journalisation automatique MLflow.
Activation de MLflow Tracing
MLflow Tracing utilise la fonctionnalité autolog dans les intégrations de frameworks de modèles respectifs pour contrôler l'activation ou la désactivation de la prise en charge du traçage pour les intégrations qui prennent en charge le traçage.
Par exemple, pour activer le traçage lors de l'utilisation d'un modèle LlamaIndex, utilisez
mlflow.llama_index.autolog()
avec log_traces=True:
import mlflow
mlflow.llama_index.autolog(log_traces=True)
Pour les clusters de compute serverless, l'enregistrement automatique pour le traçage n'est pas activé par défaut. Vous devez activer explicitement l'enregistrement automatique pour les intégrations de framework spécifiques que vous souhaitez tracer (par exemple, mlflow.openai.autolog() ou mlflow.langchain.autolog()).
Les intégrations prises en charge qui permettent le traçage au sein de leurs implémentations d'autolog sont :
Sécurité et gestion des données
Toutes les informations sur la formation de modèles suivies avec Databricks Autologging sont stockées dans MLflow Tracking et sont sécurisées par les permissions d'expérimentation MLflow. Vous pouvez partager, modifier ou supprimer des informations d'entraînement de modèle à l'aide de l'API ou de l'interface utilisateur MLflow Tracking.
Administration
Les administrateurs peuvent activer ou désactiver Databricks Autologging pour toutes les sessions de Notebook interactives dans leur Workspace, sous la tab Avancé de la page des paramètres d'administration. Les modifications ne prennent pas effet tant que le cluster n'est pas redémarré.
Limitations
- Databricks Autologging est activé uniquement sur le nœud Driver de votre cluster Databricks. Pour utiliser l'autologging depuis les nœuds worker, vous devez appeler explicitement mlflow.autolog(). depuis l'intérieur du code exécuté sur chaque worker.
- L'intégration XGBoost scikit-learn n'est pas prise en charge.
Apache Spark MLlib, Hyperopt et suivi automatisé de MLflow
Databricks Autologging ne modifie pas le comportement des intégrations de suivi MLflow automatisées existantes pour Apache Spark MLlib et Hyperopt.
Dans Databricks Runtime 10.1 ML, la désactivation de l'intégration automatisée de suivi MLflow pour les modèles Apache Spark MLlib CrossValidator et TrainValidationSplit désactive également la fonctionnalité Databricks Autologging pour tous les modèles Apache Spark MLlib.