Qu’est-ce qui fait qu’une base de données vectorielle renvoie des voisins différents après une compaction ?

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les homelabs et les logiciels open source, elle se spécialise dans la traduction de concepts techniques complexes en guides accessibles et pratiques. Eva croit que l’auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu’à la maîtrise des conteneurs Docker.

Une base de données vectorielle peut renvoyer des voisins différents après une compaction, car les mêmes embeddings peuvent être réorganisés dans une nouvelle structure de recherche approximative.

Pour un serveur RAG local, ce changement peut sembler suspect : aucun document n’a été ré-encodé intentionnellement, mais une requête familière renvoie une liste des k premiers résultats légèrement différente après la maintenance. La distinction essentielle se situe entre les valeurs vectorielles et l’index ANN qui les recherche. La compaction peut préserver les premières tout en reconstruisant le second.

La compaction peut remplacer plusieurs segments de recherche par un nouvel index

Une base de données vectorielle accumule souvent des segments distincts à mesure que des documents sont insérés, mis à jour et supprimés. La compaction consolide ces éléments afin que le système ait moins de structures à parcourir et moins de données obsolètes à conserver.

Qdrant expose des optimiseurs qui ciblent le nombre et la taille des segments, plutôt que de traiter la collection comme un graphe unique et définitivement figé. Lorsque la compaction crée un segment optimisé plus volumineux, la structure de recherche physique peut être reconstruite même si les vecteurs logiques restent inchangés.

Cette distinction est importante pour un index RAG privé : les embeddings peuvent avoir exactement les mêmes valeurs numériques avant et après la maintenance, tandis que le graphe de recherche approximative qui les relie est différent.

La recherche approximative des plus proches voisins dépend de la topologie du graphe

HNSW ne compare pas une requête à chaque vecteur. Il parcourt un graphe à plusieurs niveaux et suit un ensemble limité de connexions prometteuses ; le chemin emprunté dans le graphe influence donc les candidats examinés.

Elasticsearch explique que les fusions de segments peuvent nécessiter de recalculer les graphes HNSW. Un graphe reconstruit peut relier différemment les mêmes vecteurs, car l’ordre de construction, l’état des suppressions et les heuristiques du graphe influencent les arêtes.

Si deux candidats ont des distances très proches, une petite modification de la topologie peut faire entrer l’un dans l’ensemble des candidats tandis que l’autre n’est jamais visité. Le résultat est alors différent pour les voisins approximatifs, sans aucune modification du modèle d’embedding.

Les paramètres de recherche déterminent l’étendue du nouveau graphe exploré

Après la compaction, la base de données peut parcourir un seul graphe plus volumineux au lieu de plusieurs graphes plus petits. La même requête des k premiers résultats peut donc traverser un paysage de candidats différent, même lorsque le budget de recherche configuré semble inchangé.

Weaviate documente le compromis entre ef et qualité de recherche de HNSW : une liste de candidats plus grande améliore généralement le rappel, au prix d’un travail accru. Près d’une limite de classement, un effort de recherche faible rend les résultats plus sensibles à la construction du graphe.

Un diagnostic utile consiste à comparer les résultats approximatifs à une recherche avec une valeur ef élevée ou à une recherche exacte sur un petit jeu de test. Si les voisins exacts restent stables tandis que les voisins ANN changent, la compaction a modifié le chemin de récupération plutôt que les vecteurs.

Les suppressions et les mises à jour modifient les nœuds conservés lors de la reconstruction

Avant la compaction, les enregistrements supprimés ou remplacés peuvent encore exister physiquement avec des marqueurs de suppression ou des informations de gestion au niveau des segments. Les recherches les filtrent, mais leur présence historique peut avoir influencé le graphe construit précédemment.

Milvus explique que HNSW stocke une structure de graphe explicite en plus des vecteurs bruts. Une reconstruction après la suppression des enregistrements obsolètes crée un graphe à partir de l’ensemble restant.

Cela peut modifier la connectivité locale autour d’un document domestique, même si ce document n’a jamais été modifié. Une note peut gagner ou perdre un nœud relais proche, ce qui change la région atteinte en premier par le parcours ANN.

Les égalités et quasi-égalités peuvent inverser le classement même lorsque les distances ne changent pas

De nombreux corpus privés contiennent des quasi-doublons : manuels répétés, fichiers versionnés, légendes de photos, notes copiées ou segments contenant les mêmes formulations génériques. Leurs scores de similarité cosinus ou de produit scalaire peuvent être presque indiscernables.

L’explication de Pinecone sur HNSW montre comment la navigation dans le graphe limite les vecteurs examinés. Lorsque deux éléments se trouvent près du seuil, un chemin différent parmi les candidats ou un ordre différent en cas d’égalité peut modifier les k premiers résultats renvoyés, sans différence sémantique significative.

Les applications doivent donc éviter de considérer le rang 7 plutôt que le rang 8 d’un voisin comme une identité durable. Stockez des identifiants de documents stables et comparez les distances réelles lorsque la déterminisme est important.

La recherche exacte permet de distinguer la dérive des données de celle de l’ANN

La séparation la plus fiable consiste à conserver un petit ensemble de requêtes reproductibles et à enregistrer, avant la maintenance, les embeddings, la métrique de distance, les k premiers résultats exacts, les k premiers résultats approximatifs, les paramètres de l’index et la version de la base de données.

L’article de ZimaSpace sur l’évolution du domaine des embeddings dans la récupération privée traite d’une autre catégorie de défaillance : l’espace vectoriel lui-même change. La compaction doit être analysée séparément, car elle peut modifier la récupération approximative tout en laissant cet espace intact.

Le guide de ZimaSpace consacré à la recherche documentaire et aux flux de travail RAG fournit le contexte applicatif : l’identité stable des documents et l’évaluation restent importantes, même lorsque la couche ANN est autorisée à être approximative.

Si les résultats exacts changent, examinez les vecteurs, les filtres, la normalisation, la métrique ou les versions des données. Si les résultats exacts restent identiques mais que les résultats ANN évoluent, la cause se situe dans la reconstruction de l’index, l’effort de recherche, la gestion des égalités ou la disposition des segments.

La compaction n’est donc pas censée garantir un ordre des voisins identique octet par octet dans un index approximatif. Un classement déterministe exige une recherche plus stricte ou des règles de gestion des égalités au niveau de l’application.

FAQ

La compaction modifie-t-elle les vecteurs d’embedding ?

Pas en elle-même. Une compaction ou une fusion de segments normale réorganise le stockage et les index. Les embeddings ne changent que si l’application les ré-encode, les requantifie, les renormalise ou réécrit leurs valeurs d’une autre manière.

Les voisins exacts les plus proches doivent-ils changer après une compaction ?

Ils devraient rester identiques lorsque les vecteurs conservés, la métrique et la représentation numérique ne changent pas, à l’exception des véritables égalités de score ou de certains détails liés à l’implémentation en virgule flottante.

La reconstruction de HNSW peut-elle reproduire exactement l’ancien classement ?

Pas toujours. HNSW est approximatif et la construction du graphe peut être sensible à l’ordre d’insertion, à la randomisation, aux suppressions et aux détails de l’implémentation. Un classement exact nécessite une comparaison exhaustive ou une autre méthode déterministe.

Centre Tech & IA

Plus à lire

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.