Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les serveurs de suivi MLflow stockent et gèrent vos données d’expérience, les exécutions et les modèles. Configurez vos serveurs de suivi pour contrôler où vos données MLflow sont stockées et comment accéder aux expériences dans différents environnements.
Serveur de suivi hébergé par Databricks
Par défaut, Databricks fournit un serveur de suivi MLflow managé qui :
- Nécessite aucune configuration ou configuration supplémentaire
- Stocke les données d’expérience dans votre espace de travail
- S’intègre en toute transparence aux notebooks et clusters Databricks
Définir l’expérience active
Par défaut, toutes les exécutions MLflow sont journalisées sur le serveur de suivi de l’espace de travail à l’aide de l’expérience active. Si aucune expérience n’est définie explicitement, les exécutions sont enregistrées dans l’expérience de notebook.
Contrôler où les exécutions sont journalisées dans Databricks en définissant l’expérience active :
Mlflow.set_experiment()
Définissez une expérience pour toutes les exécutions suivantes dans l’exécution.
import mlflow
mlflow.set_experiment("/Shared/my-experiment")
Mlflow.start_run()
Définissez l’expérience pour une exécution spécifique.
with mlflow.start_run(experiment_id="12345"):
mlflow.log_param("learning_rate", 0.01)
Variables d'environnement
Définissez une expérience pour toutes les exécutions dans l’environnement.
import os
os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Shared/my-experiment"
# or
os.environ["MLFLOW_EXPERIMENT_ID"] = "12345"
Configurer le suivi sur un serveur de suivi MLflow distant
Vous devrez peut-être configurer une connexion à un serveur de suivi MLflow distant. Cela peut être dû au fait que vous développez localement et que vous souhaitez effectuer le suivi sur le serveur hébergé Databricks, ou que vous souhaitez effectuer le suivi vers un autre serveur de suivi MLflow. Par exemple, un autre espace de travail.
Scénarios courants pour le suivi à distance :
| Scénario | Cas d’usage |
|---|---|
| Suivi inter-espaces de travail | Suivi centralisé des expériences entre plusieurs espaces de travail |
| Développement local | Développer localement mais suivre des expériences dans Databricks |
| Auto-hébergé à distance | Infrastructure MLflow personnalisée avec des exigences de conformité spécifiques |
Configurer l’URI de suivi et l’expérience
Pour consigner des expériences sur un serveur de suivi à distance, configurez à la fois l’URI de suivi et le chemin d’accès de l’expérience :
import mlflow
# Set the tracking URI to the remote server
mlflow.set_tracking_uri("databricks://remote-workspace-url")
# Set the experiment path in the remote server
mlflow.set_experiment("/Shared/centralized-experiments/my-project")
# All subsequent runs will be logged to the remote server
with mlflow.start_run():
mlflow.log_param("model_type", "random_forest")
mlflow.log_metric("accuracy", 0.95)
Méthodes d’authentification
Les connexions de serveur de suivi à distance nécessitent une authentification appropriée. Choisissez entre les jetons d’accès personnel (PAT) ou OAuth à l’aide de principaux de service.
Jeton d’accès personnel
Utilisez des PAT pour l’authentification simple basée sur des jetons.
Avantages: Configuration simple, bonne pour le développement
Contre: Spécifique à l’utilisateur, nécessite une gestion manuelle des jetons
import os
# Set authentication token
os.environ["DATABRICKS_TOKEN"] = "your-personal-access-token"
# Configure remote tracking
mlflow.set_tracking_uri("databricks://remote-workspace-url")
mlflow.set_experiment("/Shared/remote-experiment")
OAuth (principal de service)
Utilisez OAuth avec les informations d’identification du principal de service pour les flux de travail automatisés.
Avantages: Mieux pour l’automatisation, la gestion centralisée des identités
Contre: Nécessite la configuration du principal de service et la configuration OAuth
Créez un principal de service. Consultez Gérer les principaux de service.
import os
# Set service principal credentials
os.environ["DATABRICKS_CLIENT_ID"] = "your-service-principal-client-id"
os.environ["DATABRICKS_CLIENT_SECRET"] = "your-service-principal-secret"
# Configure remote tracking
mlflow.set_tracking_uri("databricks://remote-workspace-url")
mlflow.set_experiment("/Shared/remote-experiment")