Passer au contenu principal
W&B suit les entrées et les sorties des runs à l’aide de graphes acycliques orientés (DAG), appelés graphes de traçabilité. Les graphes de traçabilité sont des représentations visuelles des relations entre les artifacts et les runs dans une expérience de ML. Ils montrent comment les données et les modèles circulent à travers les différentes étapes du cycle de vie du machine learning, de l’ingestion de données brutes à l’entraînement et à l’évaluation des modèles. Le suivi de la traçabilité des artifacts offre plusieurs avantages clés :
  • Reproductibilité : permet aux équipes de reproduire des expériences, des modèles et des résultats à des fins de débogage, d’expérimentation et de validation.
  • Gestion des versions : suit les modifications apportées aux artifacts au fil du temps, ce qui permet aux équipes de revenir à des versions antérieures des données ou des modèles si nécessaire.
  • Audit : maintient un historique détaillé des artifacts et des transformations pour prendre en charge la conformité et la gouvernance.
  • Collaboration : améliore le travail d’équipe en rendant l’historique des expériences transparent, en réduisant les efforts redondants et en accélérant le développement.

Afficher le graphe de traçabilité d’un artifact

Pour afficher le graphe de traçabilité d’un artifact :
  1. Accédez au Workspace de votre projet dans la W&B App.
  2. Cliquez sur l’onglet Artifacts dans la barre latérale du projet.
  3. Sélectionnez un artifact, puis cliquez sur l’onglet Lineage.
Le graphe de traçabilité est une représentation visuelle des relations entre les Artifacts et les Runs dans une expérience de ML. Utilisez la W&B App UI ou le SDK Python pour explorer et parcourir le graphe de traçabilité d’un artifact.
Les nœuds avec des icônes vertes représentent des runs. Les nœuds avec des icônes bleues représentent des artifacts. Les flèches entre les nœuds indiquent les entrées et les sorties d’un run ou d’un artifact.Les nœuds d’artifact affichent le nom de l’artifact ainsi que sa version, sous la forme <artifact_name>:<version>. Le type d’un artifact s’affiche au-dessus de son nom.
Vous pouvez voir le type et le nom de l’artifact à la fois dans la barre latérale gauche et dans le nœud du graphe de traçabilité.
Les nœuds de run affichent le nom du run.
Nœuds de run et d'artifact
Cliquez sur n’importe quel run pour afficher plus d’informations à son sujet, comme son heure de début, sa durée, son auteur, son type de job, etc. Cliquez sur n’importe quel artifact pour afficher plus d’informations à son sujet, comme ses alias, son heure de création, son type, sa version, sa description, le run qui a enregistré l’artifact, la taille du fichier, etc.
Aperçu d'un run
Les Runs qui créent plusieurs versions du même artifact sont regroupés dans un cluster. Cliquez sur une version spécifique de l’artifact répertoriée dans le cluster pour afficher les informations propres à cette version.
Cluster de versions d'artifact dans un graphe de traçabilité
Cliquez sur un nœud et faites-le glisser pour réorganiser le graphe et personnaliser la mise en page. Vous pouvez également zoomer et dézoomer sur le graphe pour mieux voir les nœuds et leurs relations.
Réorganisation des nœuds dans un graphe de traçabilité
Survolez un nœud avec la souris et cliquez sur l’icône en forme d’œil pour masquer ou afficher un nœud dans le graphe. Cela permet de désencombrer le graphe afin de vous concentrer sur des nœuds spécifiques et leurs relations.

Activer le suivi du graphe de traçabilité

Pour activer le suivi du graphe de traçabilité, vous devez marquer des artifacts comme entrées ou sorties d’un run à l’aide du W&B Python SDK.

Suivre l’entrée d’un run

Marquez un artifact comme entrée (ou dépendance) d’un run avec la méthode wandb.Run.use_artifact(). Indiquez le nom de l’artifact et un alias facultatif pour désigner une version spécifique de cet artifact. Le nom de l’artifact est au format <artifact_name>:<version> ou <artifact_name>:<alias>. Remplacez les valeurs entre chevrons (< >) par les vôtres :
import wandb

# Initialiser un run
with wandb.init(entity="<entity>", project="<project>") as run:
  # Obtenir l'artifact, le marquer comme dépendance
  artifact = run.use_artifact(artifact_or_name="<name>", aliases="<alias>")

Suivre la sortie d’un run

Utilisez wandb.Run.log_artifact() pour déclarer un artifact comme sortie d’un run. Commencez par créer un artifact avec le constructeur wandb.Artifact(). Ensuite, enregistrez l’artifact comme sortie du run avec wandb.Run.log_artifact(). Remplacez les valeurs entre chevrons (< >) par vos propres valeurs :
import wandb

# Initialiser un run
with wandb.init(entity="<entity>", project="<project>") as run:
  
  # Créer un artifact
  artifact = wandb.Artifact(name = "<artifact_name>", type = "<artifact_type>")
  artifact.add_file(local_path = "<local_filepath>", name="<optional-name>")

  # Enregistrer l'artifact en tant que sortie du run
  run.log_artifact(artifact_or_path = artifact)

Clusters d’Artifacts

Lorsqu’un niveau du graphe comporte au moins cinq runs ou Artifacts, un cluster est créé. Un cluster comprend une barre de recherche permettant de trouver des versions spécifiques de runs ou d’Artifacts et d’extraire un nœud individuel du cluster afin de poursuivre l’examen de la traçabilité d’un nœud qu’il contient. Cliquer sur un nœud ouvre un aperçu du nœud. Cliquer sur la flèche extrait le run ou l’Artifact individuel afin que vous puissiez examiner la traçabilité du nœud extrait.
Recherche dans un cluster de runs