Skip to main content
Embedding Projector
Les embeddings représentent des objets tels que des personnes, des images, des publications ou des mots sous la forme d’une liste de nombres, parfois appelée vecteur. En machine learning et en science des données, il existe de nombreuses approches pour générer des embeddings, dans un large éventail d’applications. Cette page part du principe que vous connaissez déjà les embeddings et que vous souhaitez les analyser visuellement dans W&B. Ce guide vous montre comment journaliser des embeddings dans W&B et utiliser l’Embedding Projector pour les représenter sur un plan 2D à l’aide d’algorithmes de réduction de dimension tels que PCA, UMAP et t-SNE. Cette visualisation vous aide à explorer les clusters, à examiner les relations entre les points de données et à vérifier que vos embeddings capturent bien la structure attendue.

Exemples d’embeddings

Avant de l’essayer vous-même, découvrez l’Embedding Projector en action grâce aux ressources suivantes :

Hello world

Cet exemple minimal présente le code strictement nécessaire pour journaliser des embeddings et les visualiser dans le projecteur. W&B vous permet de journaliser des embeddings à l’aide de la classe wandb.Table. Prenons l’exemple suivant de trois embeddings comportant chacun cinq dimensions :
Une fois le code précédent exécuté, le tableau de bord W&B contient un nouveau tableau avec vos données. Sélectionnez 2D Projection dans le sélecteur de panneau en haut à droite pour représenter les embeddings sur un graphique en deux dimensions. W&B choisit automatiquement des valeurs par défaut pertinentes, que vous pouvez remplacer dans le menu de configuration en cliquant sur l’icône d’engrenage. Dans cet exemple, W&B utilise les cinq dimensions numériques disponibles.
Exemple de projection 2D

Digits MNIST

L’exemple suivant illustre un flux de travail plus réaliste, avec des données de plus grande dimension et des superpositions plus riches. L’exemple précédent présente les mécanismes de base de la journalisation des embeddings, mais en pratique, vous travaillez généralement avec beaucoup plus de dimensions et d’échantillons. Prenons le jeu de données MNIST Digits (UCI ML hand-written digits dataset), disponible via SciKit-Learn. Ce jeu de données contient 1 797 enregistrements de 64 dimensions chacun. Il s’agit d’un problème de classification à 10 classes. Vous pouvez également convertir les données d’entrée en images pour les visualiser.
Après avoir exécuté le code précédent, l’interface affiche de nouveau un tableau. Sélectionnez 2D Projection pour configurer la définition de l’embedding, la coloration, l’algorithme (PCA, UMAP, t-SNE), ses paramètres et la superposition. Ici, W&B affiche l’image lorsque vous survolez un point. Ces valeurs par défaut sont choisies intelligemment : un simple clic sur 2D Projection devrait vous donner un résultat similaire. Interagissez avec cet exemple du tutoriel sur les embeddings.
Projection des chiffres MNIST

Options de journalisation

Les sections suivantes décrivent les façons prises en charge de structurer les données d’embeddings lorsque vous les journalisez dans W&B. Vous pouvez journaliser des embeddings dans plusieurs formats :
  • Colonne d’embedding unique : vos données se présentent souvent déjà sous une forme matricielle. Dans ce cas, vous pouvez créer une seule colonne d’embedding, dont les cellules peuvent contenir des valeurs de type list[int], list[float] ou np.ndarray.
  • Plusieurs colonnes numériques : les deux exemples précédents utilisent cette approche et créent une colonne par dimension. W&B accepte les types Python int ou float pour les cellules.
Colonne d’embedding unique
Plusieurs colonnes numériques
Comme pour tout tableau, vous disposez de plusieurs options pour le construire :
  • Directement à partir d’un dataframe avec wandb.Table(dataframe=df).
  • Directement à partir d’une liste de données avec wandb.Table(data=[...], columns=[...]).
  • Construire le tableau de manière incrémentielle, ligne par ligne (idéal si votre code contient une boucle). Ajoutez des lignes à votre tableau avec table.add_data(...).
  • Ajouter une colonne d’embeddings à votre tableau (idéal si vous disposez d’une liste de prédictions sous forme d’embeddings) : table.add_col("col_name", ...).
  • Ajouter une colonne calculée (idéal si vous souhaitez appliquer une fonction ou un modèle à chaque ligne de votre tableau) : table.add_computed_columns(lambda row, ndx: {"embedding": model.predict(row)}).

Options d’affichage

Après avoir journalisé vos embeddings, vous pouvez ajuster leur projection et leur rendu. Après avoir sélectionné 2D Projection, cliquez sur l’icône d’engrenage pour modifier les paramètres de rendu. En plus de choisir les colonnes souhaitées (voir les sections précédentes), vous pouvez choisir l’algorithme qui vous intéresse ainsi que ses paramètres. Les images suivantes présentent les paramètres d’UMAP et de t-SNE.
Paramètres UMAP
Paramètres t-SNE
Pour les trois algorithmes, W&B sous-échantillonne les données en un sous-ensemble aléatoire de 1 000 lignes et 50 dimensions.
Dernière modification le 30 septembre 2026