Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Ajoutez des expériences MLflow en tant que ressources d'applications Databricks pour activer le suivi des expériences pour vos applications IA, vos agents, vos LLM et vos modèles ML. Les expériences MLflow offrent un moyen structuré d’organiser et de journaliser les exécutions, de suivre les paramètres, les métriques et les artefacts tout au long du cycle de vie du développement d’applications IA.
Lorsque vous ajoutez une expérience MLflow en tant que ressource, votre application peut :
- Déboguer des agents et des applications LLM avec des traces d’exécution
- Évaluer la qualité des agents et des applications LLM avec des évaluateurs
- Gérer et versionner des modèles de prompt pour les applications de LLM
- La formation sur la journalisation des modèles ML s’exécute avec des paramètres, des métriques et des artefacts
- Récupérer les données d’expérience, les métadonnées et l’historique des exécutions
Ajouter une ressource d’expérience MLflow
Avant d’ajouter une expérience MLflow en tant que ressource, passez en revue les prérequis des ressources d’application.
- Dans la section Ressources de l’application lorsque vous créez ou modifiez une application, cliquez sur + Ajouter une ressource>expérience MLflow.
- Choisissez une expérience MLflow dans la liste des expériences disponibles dans votre espace de travail.
- Sélectionnez le niveau d’autorisation approprié pour votre application :
- Peut lire : Accorde à l’application l’autorisation d’afficher les métadonnées d’expérience, les exécutions, les paramètres et les métriques. Utiliser pour les applications qui affichent les résultats de l’expérience.
- Peut modifier : Octroie à l’application l’autorisation de modifier les paramètres et les métadonnées de l’expérience.
- Peut gérer : Accorde à l’application un accès administratif complet à l’expérience.
- (Facultatif) Spécifiez une clé de ressource personnalisée, c’est-à-dire la façon dont vous référencez l’expérience dans la configuration de votre application. La clé par défaut est
experiment.
Lorsque vous ajoutez une ressource d’expérience MLflow :
- Azure Databricks accorde au principal de service de votre application les autorisations définies pour l'expérience choisie.
- L’application peut journaliser les exécutions d’entraînement et accéder aux données d’expérience via l’API MLflow Tracking.
- L’accès est limité à l’expérience sélectionnée uniquement. Votre application ne peut pas accéder à d’autres expériences, sauf si vous les ajoutez en tant que ressources distinctes.
Note
Une ressource d’expérience MLflow accorde des autorisations au niveau de l’espace de travail sur l’expérience. Si l’expérience stocke des traces dans le catalogue Unity, ajoutez les quatre tables de traces du catalogue Unity comme ressources applicatives. L’accès aux traces dans ces tables est régi par les privilèges du catalogue Unity, et non par les autorisations d’expérience.
Variables d’environnement
Lorsque vous déployez une application avec une ressource d’expérience MLflow, Azure Databricks expose l’ID d’expérience via des variables d’environnement que vous pouvez référencer à l’aide du champ valueFrom dans votre configuration app.yaml.
Exemple de configuration :
env:
- name: MLFLOW_EXPERIMENT_ID
valueFrom: experiment # Use your custom resource key if different
Utilisation de l’ID d’expérience dans votre application :
import os
import mlflow
# Access the experiment using the injected environment variable
experiment_id = os.getenv("MLFLOW_EXPERIMENT_ID")
# Set the experiment for tracking
mlflow.set_experiment(experiment_id=experiment_id)
# Log parameters and metrics
with mlflow.start_run():
mlflow.log_param("learning_rate", 0.01)
mlflow.log_metric("accuracy", 0.95)
mlflow.log_artifact("model.pkl")
Pour plus d’informations, consultez Les variables d’environnement Access à partir de ressources.
Stockez les traces MLflow dans le catalogue Unity
Pour écrire des traces MLflow d’une application vers Unity Catalog, créez d’abord une expérience avec un emplacement de trace Unity Catalog. Spécifiez un préfixe de table afin que les noms des quatre tables de trace soient prévisibles.
Ajoutez l’expérience à l’application avec l’autorisation CAN_EDIT. Ajoutez ensuite chacune des tables du catalogue Unity suivantes comme une ressource d’application distincte avec MODIFY permission :
<table_prefix>_otel_annotations<table_prefix>_otel_logs<table_prefix>_otel_metrics<table_prefix>_otel_spans
L’autorisation MODIFY accorde au principal de service de l’application à la fois MODIFY et SELECT sur chaque table. Databricks Apps accorde aussi automatiquement USE CATALOG et USE SCHEMA sur le catalogue et le schéma parent.
L’exemple suivant des Déclarative Automation Bundles configure l’expérience et ses quatre tables de traces comme ressources d’application :
resources:
apps:
my_app:
name: 'my-app'
source_code_path: ./app
resources:
- name: 'experiment'
experiment:
experiment_id: '<experiment-id>'
permission: 'CAN_EDIT'
- name: 'trace-annotations'
uc_securable:
securable_full_name: '<catalog>.<schema>.<table_prefix>_otel_annotations'
securable_type: 'TABLE'
permission: 'MODIFY'
- name: 'trace-logs'
uc_securable:
securable_full_name: '<catalog>.<schema>.<table_prefix>_otel_logs'
securable_type: 'TABLE'
permission: 'MODIFY'
- name: 'trace-metrics'
uc_securable:
securable_full_name: '<catalog>.<schema>.<table_prefix>_otel_metrics'
securable_type: 'TABLE'
permission: 'MODIFY'
- name: 'trace-spans'
uc_securable:
securable_full_name: '<catalog>.<schema>.<table_prefix>_otel_spans'
securable_type: 'TABLE'
permission: 'MODIFY'
Pour toutes les exigences de traçage du catalogue Unity, y compris les autorisations nécessaires à la création et à la gestion des tableaux, voir Stocker les traces OpenTelemetry dans le catalogue Unity.
Supprimer une ressource d’expérience MLflow
Lorsque vous supprimez une ressource MLflow Experiment d’une application, le principal de service de l’application perd l’accès à l’expérience. L’expérience elle-même reste inchangée et continue d’être disponible pour d’autres utilisateurs et applications disposant d’autorisations appropriées.
Meilleures pratiques
Suivez ces bonnes pratiques lorsque vous utilisez des ressources d’expérience MLflow :
- Organisez les expériences logiquement par type de projet ou de modèle pour améliorer la détectabilité.
- Utilisez des conventions d’affectation de noms cohérentes pour les exécutions et les paramètres au sein de votre organisation.
- Envisagez d’expérimenter les stratégies de rétention et la gestion du stockage pour les projets de longue durée.