Optimiser la sélection des modèles d'embedding avec le clustering TDA : un guide stratégique pour les bases de données vectorielles
En interprétant les enseignements d’un récent webinar organisé par Zilliz, avec les intervenants Gunnar Carlsson et Gabriel Alon – rédigé par Wania Shafqat
Les grands modèles de langage (LLM) ont transformé le traitement des données, mais leurs performances sont étroitement liées à la qualité des embeddings qui les alimentent. Dans notre récent webinar, Gunnar Carlsson, cofondateur et CTO de Blue Light AI, Gabriel Alon, senior Data Scientist, et Stefan Webb, Developer Advocate chez Zilliz, ont exploré comment le clustering par analyse topologique des données (TDA) met en évidence les faiblesses cachées des modèles d’embedding. Cet article présente les principaux enseignements de la session et des techniques pour améliorer les performances, ainsi que des recherches supplémentaires et des conseils pratiques pour vous aider à sélectionner et développer en toute confiance des modèles adaptés à vos besoins spécifiques.
Le défi : évaluer les modèles d’embedding
Les modèles d’embedding convertissent des données brutes non structurées (texte, images, vidéos) en vecteurs de grande dimension encapsulant le sens sémantique. Cependant, choisir le bon modèle d’embedding est un défi dans tout déploiement de base de données vectorielle.
Figure : choisir le bon modèle d’embedding.
Les méthodes d’embedding traditionnelles reposent souvent sur :
Classements publics (MTEB): Les modèles surapprennent sur des données publiques, avec de mauvaises performances sur des tâches réelles.
Métriques moyennes : Des métriques comme NDCG@10 masquent les clusters d’échec où des requêtes critiques sous-performent.
Problèmes de scalabilité : Inspecter manuellement de grands ensembles de données avec plus de 100 000 requêtes est impraticable.
Comme Gabriel Alon l’a souligné pendant le webinar, un score moyen de 0,34 NDCG (Normalized Discounted Cumulative Gain) peut sembler acceptable, mais si une part substantielle des requêtes obtient un score inférieur à 0,1, le modèle peut être inadapté aux applications réelles et risquerait d’entamer la confiance des utilisateurs. Il a donc été fortement recommandé d’évaluer les modèles sur vos données afin de surmonter le décalage train-test et d’éviter le surapprentissage sur les benchmarks publics.
Par exemple, considérons deux modèles récupérant des résultats pour ‘Television Stands’ :
Modèle A renvoie [Mobile TV Cart, Universal TV Stand, Black Television]
Modèle B renvoie [Mobile TV Cart, Universal TV Stand, TV Stand (2 feet)]
Bien que le Modèle B ait un rappel plus élevé, ni les métriques moyennes ni les classements ne révèlent cette différence.
La solution : clustering TDA navigable
L’analyse topologique des données (TDA) est un cadre mathématique qui étudie la « forme » des données, tandis que le clustering navigable ajoute la flexibilité nécessaire pour ajuster les hyperparamètres (par exemple, la résolution) afin d’obtenir des insights granulaires. En appliquant des techniques de clustering TDA, comme l’algorithme Mapper, vous pouvez créer des représentations visuelles qui révèlent les structures sous-jacentes, les clusters et les valeurs aberrantes au sein d’embeddings de grande dimension que les métriques moyennes traditionnelles négligent. Le clustering TDA navigable va plus loin en :
Cartographiant la topologie des données : création d’une structure basée sur un graphe de l’espace d’embedding.
Identification des clusters critiques : Mettre en évidence des groupes de requêtes sous-performantes pour des améliorations ciblées plutôt qu’une solution universelle.
Interprétabilité automatisée : Générer des mots-clés et des cartes thermiques pour expliquer les clusters et le comportement du modèle.
Figure : Flux de travail de clustering TDA : mise en évidence des groupes sous-performants.
Comment cela fonctionne :
Regrouper les requêtes par similarité : Regrouper les requêtes à l’aide d’embeddings vectoriels.
Évaluer les métriques par cluster : Calculer la précision, le rappel ou le NDCG pour chaque cluster.
Optimiser stratégiquement : Ajuster les hyperparamètres ou changer de modèles pour les clusters faibles.
Contrairement aux méthodes de clustering statiques (p. ex., K-means ou DBSCAN), le clustering TDA navigable détecte les zones de défaillance invisibles aux métriques moyennes, classe objectivement les modèles (E5 vs. SBERT) sur vos données, et traite plus de 100 000 requêtes en quelques minutes.
Étude de cas : optimisation des requêtes e-commerce
En utilisant un sous-ensemble du jeu de données Marqo-GS-10M (10 millions de requêtes Google Shopping), Blue Light AI a découvert de graves failles dans un modèle d’embedding populaire (E5). Après l’application du clustering TDA :
| Cluster de requêtes | Taille | NDCG |
| Vêtements de maternité | 35 | 0.10 |
| Machines à espresso | 32 | 0.11 |
| Survêtements pour garçons | 35 | 0.13 |
Enseignements :
Malgré un NDCG moyen de 0.34, environ 30 % des clusters affichaient des performances bien plus faibles (<0.15).
Le fine-tuning a détérioré les performances des clusters critiques.
Sans TDA, ces failles subtiles restent cachées.
Cycle de vie du machine learning : insights TDA
Comparaisons de modèles :
E5 (NDCG 0.34) a surpassé SBERT (0.26) en moyenne, mais SBERT a excellé dans des clusters comme « novelty wallets » :
| Cluster | NDCG E5 | NDCG SBERT | Meilleur modèle |
| Portefeuilles fantaisie | 0.16 | 0.28 | SBERT |
| Matelas gonflables | 0.38 | 0.38 | Égalité |
Compromis économiques :
Passer de E5-large à E5-small a permis d’économiser du stockage, mais a entraîné des baisses de performance significatives pour les clusters critiques :
| Type de requête | Baisse de performance |
| Ceintures adaptatives | -35% |
| Activités polo | -65% |
Pièges du fine-tuning
La surveillance post-déploiement a révélé que le fine-tuning améliorait le NDCG moyen de 0.35 à 0.45, mais dégradait certains clusters spécifiques :
| Type de requête | Baisse de performance |
| Films de confidentialité | -29% |
| Épluchage de l’ail | -22% |
Leçon : Validez toujours le fine-tuning au niveau du cluster, pas seulement globalement.
Stratégies post-déploiement
Atténuation des risques : Éviter de promouvoir des produits dans les clusters à faible score jusqu’à l’amélioration des modèles.
Humain dans la boucle : Diriger les requêtes peu performantes vers des agents humains.
Routage de modèles : Changer dynamiquement de modèle en fonction des performances des clusters (p. ex., utiliser SBERT pour des types de requêtes spécifiques).
Intégration de TDA avec Zilliz Cloud et Milvus
Zilliz Cloud et Milvus simplifient le stockage et l’interrogation des embeddings. En appliquant le clustering TDA, ils offrent une meilleure efficacité de recherche, une interactivité accrue et une allocation optimisée des ressources. Voici comment l’associer à TDA :
Stocker les embeddings
Validez les embeddings avant l’indexation afin de réduire le gaspillage de ressources :
from pymilvus import connections, Collection
# Se connecter à Zilliz Cloud
connections.connect(
alias="default",
uri="YOUR_CLUSTER_ENDPOINT", # Exemple : "https://your-cluster.zillizcloud.com"
token="YOUR_API_KEY"
)
# Charger votre collection
collection = Collection("product_embeddings")
collection.load()
Évaluer et regrouper avec la TDA
import pandas as pd
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
# Charger les embeddings depuis Zilliz
embeddings = collection.query(expr="", output_fields=["embedding"])
# Réduire la dimensionnalité pour la visualisation
tsne = TSNE(n_components=2)
embeddings_2d = tsne.fit_transform(embeddings)
plt.scatter(embeddings_2d[:, 0], embeddings_2d[:, 1], c=cluster_labels)
plt.title("Visualisation T-SNE des clusters de requêtes")
plt.show()
Pourquoi Zilliz excelle dans les workflows TDA
Scalabilité : Gère des milliards de vecteurs, idéal pour la TDA à grande échelle.
Informations en temps réel : Mettez à jour les clusters dynamiquement à mesure que de nouvelles données arrivent.
Intégration transparente : Les SDK Python et les API REST s’intègrent aux pipelines existants.
Pour des informations plus approfondies, explorez le guide des bases de données vectorielles de Zilliz.
Bonnes pratiques pour le développement de modèles d’embeddings
Valider localement : Testez les modèles sur vos données, plutôt que de vous fier uniquement aux benchmarks.
Adopter la TDA tôt : Intégrez le clustering navigable pour détecter les problèmes pendant le prototypage.
Surveiller après le déploiement : Utilisez les outils de Zilliz Cloud pour suivre en continu les performances des clusters.
Q&R : questions clés du webinaire
Nous avons reçu plusieurs questions pendant le webinaire. Vous trouverez ci-dessous certaines des questions les plus fréquentes, ainsi que les réponses de Gunnar et Gabriel :
Q : Qu’est-ce qui vous a le plus surpris lors de l’application du clustering TDA ?
Le réglage fin a dégradé les performances pour 30 à 40 % des clusters dans notre étude de cas. Par exemple, les requêtes liées aux machines à espresso ont obtenu de bien moins bons résultats après le réglage. Plus critique encore : dans l’e-commerce, une seule requête peut représenter un produit à 20 $. Si votre modèle échoue ici, c’est une perte réelle de revenus.
Q : Avez-vous exploré le réglage fin des modèles de retrieval par rapport aux modèles d’embeddings ?
Oui ! Dans les configurations RAG, nous avons utilisé la TDA pour diviser les requêtes ambiguës en clusters distincts. Par exemple, la requête « parle-moi du draft » : la TDA sépare les résultats en clusters draft NBA et conscription militaire. Cela aide les modèles de retrieval à prioriser le contexte, en évitant les résultats non pertinents.
Q : Comment la TDA se compare-t-elle à des méthodes comme DBSCAN ?
La TDA offre de la flexibilité grâce à des hyperparamètres navigables. Les méthodes traditionnelles comme DBSCAN fonctionnent sur des cartes de données fixes. Avec la TDA, vous ajustez la « résolution de la carte » comme si vous passiez d’une projection géographique à une autre pour isoler des minima locaux (par exemple, des clusters de requêtes sous-performants).
Q : Quel est votre avis sur les modèles d’embeddings dépendants des requêtes ?
La cartographie topologique de la TDA complète naturellement cette tendance. Par exemple, les caractéristiques d’autoencodeurs parcimonieux issues de modèles comme ceux d’OpenAI révèlent des clusters que les méthodes traditionnelles manquent. Un cas sépare « règles » en clusters conformité vs. non-respect des règles, montrant comment les embeddings peuvent s’adapter au contexte de la requête.
Q : Comment les équipes peuvent-elles commencer avec la TDA ?
Essayez le package Python Cobalt en exécutant pip install cobalt-ai et en explorant la documentation et les ressources sur GitHub et Slack pour faciliter le dépannage. Ce package simplifie l’intégration du clustering TDA dans les workflows existants. Il traite 100 000 requêtes en quelques minutes et s’intègre à Zilliz.
Conclusion
Le webinaire a offert un aperçu approfondi de la façon dont le clustering TDA peut transformer l’évaluation des modèles d’embedding. En révélant des analyses détaillées des performances grâce à un clustering navigable, les équipes peuvent optimiser la sélection des modèles, améliorer l’allocation des ressources et enrichir les expériences utilisateur. Associées à Zilliz Cloud ou Milvus, ces informations permettent de bénéficier de :
Transparence : Mettre au jour les défauts cachés dans les embeddings.
Précision : Déployer des modèles avec des informations granulaires sur les performances.
Économies : Réduire le gaspillage des ressources de calcul et de stockage.
Découvrez Zilliz Cloud pour commencer à faire du clustering plus intelligemment dès aujourd’hui.
Voir l’enregistrement complet du webinaire et les diapositives
Vous pouvez regarder l’enregistrement du webinaire sur la chaîne YouTube de Zilliz et accéder aux diapositives de présentation pour obtenir davantage d’informations sur le clustering par analyse topologique des données (TDA) et la discussion entre Gunnar et Gabriel.
Ressources connexes
Continuer à lire

Milvus 2.6.x Now Generally Available on Zilliz Cloud, Making Vector Search Faster, Smarter, and More Cost-Efficient for Production AI
Milvus 2.6.x is now GA on Zilliz Cloud, delivering faster vector search, smarter hybrid queries, and lower costs for production RAG and AI applications.

What is the K-Nearest Neighbors (KNN) Algorithm in Machine Learning?
KNN is a supervised machine learning technique and algorithm for classification and regression. This post is the ultimate guide to KNN.

Vector Databases vs. Hierarchical Databases
Use a vector database for AI-powered similarity search; use a hierarchical database for organizing data in parent-child relationships with efficient top-down access patterns.



