Tendances émergentes dans la recherche et le développement des bases de données vectorielles
Introduites pour la première fois avec Milvus en 2019, les bases de données vectorielles ont rapidement gagné en importance parallèlement à l’émergence des grands modèles de langage (LLMs) et à l’essor des applications d’IA générative (GenAI). En tant qu’ingénieur profondément impliqué dans ce secteur, j’ai été témoin de leur évolution, depuis de simples implémentations d’algorithmes de recherche approximative des plus proches voisins (ANNS) jusqu’à des systèmes de bases de données sophistiqués, essentiels aux frameworks d’IA modernes, passant d’implémentations de niche à des déploiements à grande échelle.
À mesure que l’IA continue de mûrir, vers où se dirige l’avenir des bases de données vectorielles ? À mon avis, le développement de cette technologie est étroitement lié à l’évolution des produits, stimulé par l’évolution des besoins des utilisateurs. Comprendre ces changements est crucial pour orienter la trajectoire et les objectifs des développements technologiques.
Dans cet article, je discuterai du développement et de l’avenir anticipé des bases de données vectorielles, tant d’un point de vue technique que pratique, en mettant l’accent sur l’efficacité des coûts et les exigences métier.
Séparation du stockage des données chaudes et froides
Les coûts constituent depuis longtemps une préoccupation majeure dans l’adoption plus large des bases de données vectorielles. Ces coûts proviennent principalement de deux domaines :
Stockage des données : Traditionnellement, les bases de données vectorielles mettent en cache toutes les données en mémoire ou sur des disques locaux afin d’obtenir une faible latence. Cependant, à l’ère de l’IA, où les applications traitent fréquemment des volumes de données atteignant des milliards d’éléments, cette approche peut consommer d’immenses quantités de ressources de stockage, allant de dizaines à des centaines de téraoctets.
Calcul des données : Dans les systèmes de bases de données distribuées, nous devons partitionner les données en de nombreux petits segments afin d’améliorer la gestion d’ensembles de données volumineux. Chaque segment est traité indépendamment pour récupérer les données, qui sont ensuite analysées collectivement afin de compiler les résultats finaux Top-K. Cette méthode de partitionnement accroît considérablement la complexité de l’exécution des requêtes. Par exemple, si nous segmentons des données totalisant des milliards d’éléments en blocs de 10 Go, cela donne environ 10 000 segments, amplifiant ainsi la demande computationnelle d’un facteur de dix mille.
Le temps de réponse des LLMs grand public.
Le temps de réponse des LLMs grand public. Source de l’image : https://artificialanalysis.ai/models
Cependant, dans la vague de création d’applications de génération augmentée par récupération (RAG), la latence des bases de données vectorielles est devenue un non-sujet pour les utilisateurs individuels ou les locataires uniques sur les plateformes ToC. Le délai associé aux opérations des bases de données vectorielles — allant de quelques millisecondes à plusieurs centaines de millisecondes — est minime par rapport à la latence souvent supérieure à une seconde, typique des grands modèles de langage. De plus, le coût du stockage objet dans le cloud est nettement inférieur à celui des disques locaux et de la mémoire, ce qui encourage la recherche de solutions innovantes pour optimiser l’efficacité du stockage et du calcul.
Stockage : Afin de minimiser les coûts, les données doivent être stockées dans le stockage objet cloud le plus économique et récupérées à la demande pour les requêtes.
Calcul : En affinant à l’avance le périmètre des requêtes, nous pouvons réduire le besoin de traitement de données à grande échelle, améliorant ainsi l’efficacité opérationnelle.
Chez Zilliz, nous ajoutons des améliorations à Zilliz Cloud (le Milvus entièrement géré) qui permettent aux utilisateurs de réduire les coûts tout en maintenant la latence à des niveaux acceptables.
Adopter les innovations matérielles pour des performances et une rentabilité accrues
Le matériel constitue l’épine dorsale des avancées technologiques, améliorant les performances et la rentabilité des bases de données vectorielles.
Progrès des technologies GPU
Les bases de données vectorielles, connues pour leurs exigences computationnelles intenses, ont bénéficié d’améliorations substantielles des performances grâce aux avancées des GPU. L’idée selon laquelle les GPU seraient prohibitivement coûteux est en train d’être remise en cause. Des algorithmes améliorés conviennent aux tâches de recherche vectorielle et permettent des opérations à faible latence et rentables.
Nos tests montrent que lors de l’utilisation de l’index CAGRA basé sur GPU, la base de données vectorielle Milvus atteint des niveaux de performance plusieurs à des dizaines de fois supérieurs à ceux obtenus avec l’index HNSW basé sur CPU, tout en n’étant que deux à trois fois plus coûteuse. Ce résultat démontre que les GPU deviennent une option viable et économiquement efficace pour le traitement des données, offrant des avantages de performance significatifs par rapport aux configurations CPU traditionnelles.
Résultats des tests par VectorDBBench
Résultats des tests par VectorDBBench
CPU : m6id.2xlarge T4 : g4dn.2xlarge A10G : g5.2xlarge Top 100 Rappel : 98%
Émergence des CPU basés sur ARM dans le cloud computing
L’adoption de CPU basés sur ARM, tels que Graviton d’AWS et Ampere de GCP, marque non seulement une transition vers des solutions informatiques plus économes en énergie et plus rentables, mais constitue également un défi affirmé à l’architecture x86 conventionnelle. Ces processeurs offrent des coûts plus faibles tout en fournissant des performances comparables ou supérieures, vous assurant de prendre une décision judicieuse pour vos besoins informatiques.
Nos évaluations d’AWS Graviton3 ont démontré ses performances et sa rentabilité supérieures par rapport aux processeurs x86. Notamment, l’itération rapide de ces CPU, comme le montre la sortie de Graviton4 en 2023 — seulement un an après Graviton3 — met en évidence une augmentation de 30 % de la puissance de calcul et une hausse de 70 % de la bande passante mémoire.
Avancées dans les technologies de stockage
L’utilisation de disques pour le stockage des données permet aux bases de données vectorielles d’étendre considérablement leur capacité tout en maintenant des latences de l’ordre de la milliseconde, suffisantes pour la plupart des applications de recherche vectorielle. En outre, le coût associé au stockage sur disque reste nettement inférieur à celui de la mémoire, ce qui en fait une option attrayante pour les opérations intensives en données.
Dans l’ensemble, ces développements matériels alimentent les capacités des bases de données vectorielles et garantissent qu’elles restent puissantes et économiquement viables à mesure qu’elles évoluent.
Collaboration avec des modèles avancés d’apprentissage automatique
Les modèles d’apprentissage automatique, qui produisent des plongements vectoriels, connaissent également des transformations importantes. Ces avancées visent à réduire la taille et la dimensionnalité des vecteurs, minimisant ainsi les exigences de stockage pour les grands ensembles de données et améliorant l’efficacité computationnelle.
Les méthodes traditionnelles de réduction de la dimensionnalité des vecteurs entraînaient souvent une précision compromise de la récupération des données. Toutefois, les innovations récentes offrent des alternatives viables. Par exemple, le modèle OpenAI ext-embedding-3-large permet aux utilisateurs d’ajuster les dimensions des vecteurs de sortie au moyen de paramètres configurables. Cette flexibilité permet une réduction considérable de la taille des vecteurs avec un impact minimal sur l’efficacité des tâches en aval. De plus, Cohere a récemment mis à niveau sa technologie afin de prendre en charge des vecteurs qui produisent plusieurs types de données — tels que float, int8 et binary — simultanément, améliorant ainsi la polyvalence opérationnelle.
Ces avancées soulignent la nécessité pour les bases de données vectorielles de s’engager auprès de ces technologies émergentes et de les intégrer de manière proactive. Cela est essentiel pour conserver un avantage concurrentiel dans les domaines dynamiques et en constante évolution de l’apprentissage profond et de la gestion des données.
Prioriser la précision de la récupération vectorielle
La précision de la récupération vectorielle est devenue de plus en plus importante et exigeante, en particulier avec l’intégration croissante des bases de données vectorielles dans les environnements de production comme dans les applications RAG de pointe. À mesure que les bases de données vectorielles évoluent, la quête visant à améliorer la qualité et la précision de la recherche a conduit à l’adoption de technologies innovantes. Parmi celles-ci, le modèle de récupération ColBERT et les techniques avancées de recherche vectorielle hybride jouent un rôle essentiel pour atténuer la perte d’information et affiner les récupérations propres à un domaine.
L’émergence de modèles de récupération avancés comme ColBERT
Le modèle de récupération ColBERT est réputé pour son efficacité dans la gestion de la perte d’information généralement associée à l’architecture volumineuse des modèles traditionnels à double tour. ColBERT utilise une approche d’interaction tardive basée sur des vecteurs de tokens afin d’éviter les inefficacités des configurations entièrement connectées. Son itération plus récente, ColBERTv2, optimise davantage ce processus en intégrant la récupération vectorielle, accélérant considérablement le taux d’interaction.
L’architecture générale de ColBERT, étant donné une requête q et un document d..png
L’architecture générale de ColBERT, étant donné une requête q et un document d.
Source de l’image : https://arxiv.org/pdf/2004.12832.pdf
Recherche hybride : faire le lien entre les techniques de vecteurs creux et denses
Les vecteurs denses traditionnels, souvent dérivés de modèles de langage comme BERT, excellent dans la capture des nuances sémantiques, mais peuvent échouer face à un nouveau vocabulaire ou à des termes spécialisés absents des données d’entraînement. Bien que l’affinage du modèle puisse atténuer ces limites, le déploiement en temps réel reste coûteux et complexe. À l’inverse, les vecteurs creux issus d’algorithmes traditionnels de correspondance de mots-clés comme BM25 traitent efficacement ces problèmes hors domaine.
Les modèles d’embeddings creux émergents tels que SPLADE et M3-Embedding de BGE combinent la précision de la correspondance exacte des termes avec la nature exhaustive des méthodes de récupération dense. Ces modèles génèrent des vecteurs creux qui préservent l’efficacité de la correspondance de mots-clés tout en incorporant des informations sémantiques plus riches, améliorant ainsi la qualité globale de la récupération.
Le passage à des systèmes de recherche hybride exploitant les méthodes de récupération par mots-clés et par vecteurs est une pratique de longue date dans le secteur. Avec les dernières avancées de la technologie des vecteurs creux, leur intégration dans les bases de données vectorielles pour prendre en charge la récupération hybride est de plus en plus considérée comme une bonne pratique. En particulier, la base de données vectorielle Milvus a adopté cette approche dans ses récentes mises à jour.
En prenant M3-Embedding de BGE comme exemple, il peut exécuter simultanément les trois fonctionnalités de récupération courantes du modèle d’embedding : récupération dense, récupération multi-vecteur et récupération creuse. Le tableau ci-dessous montre la qualité de récupération lors de différents types de recherches vectorielles. La qualité de récupération de la récupération hybride creuse et dense est bien supérieure à celle des approches reposant uniquement sur la récupération dense et creuse.
Évaluation sur NarrativeQA (nDCG@10)
Évaluation sur NarrativeQA (nDCG@10)
Source de l’image : https://arxiv.org/abs/2402.03216
Note : La qualité de la recherche est souvent évaluée à l’aide du NDCG (Normalized Discounted Cumulative Gain), qui évalue l’efficacité des systèmes de classement à fournir aux utilisateurs des listes d’éléments utiles. La valeur de K dans le NDCG, comme 5, 10 ou 25, indique le nombre d’éléments les mieux classés évalués, fournissant ainsi des informations sur la précision du système de recherche à différents niveaux. Par exemple, NDCG@10 évalue le classement des 5 premiers éléments.
Optimisation des bases de données vectorielles pour les cas d’utilisation hors ligne
Bien que l’accent actuel des bases de données vectorielles porte principalement sur les applications en ligne telles que la Retrieval-Augmented Generation (RAG) et les recherches de similarité d’images, leur potentiel dans les cas d’utilisation hors ligne est vaste mais encore sous-exploité.
Les applications en ligne traitent généralement de faibles volumes de données avec une fréquence élevée et des exigences strictes en matière de latence, nécessitant souvent des réponses en quelques secondes, même dans des environnements sensibles aux coûts et à performances minimales. À l’inverse, les applications hors ligne effectuent souvent des tâches de traitement de données à grande échelle, comme la déduplication des données et l’extraction de caractéristiques, où la durée des tâches peut s’étendre de quelques minutes à plusieurs heures.
Voici quelques défis et façons de les relever avec les bases de données vectorielles dans une utilisation hors ligne :
Efficacité computationnelle : Contrairement aux cas d’utilisation en ligne, qui privilégient une faible latence pour chaque requête, les tâches hors ligne nécessitent une efficacité computationnelle élevée sur de grands lots de données. Atteindre une faible latence est particulièrement critique dans les composants hors ligne des systèmes de recherche et de recommandation. L’amélioration de la densité computationnelle, par exemple grâce à l’indexation GPU, peut considérablement améliorer le traitement de requêtes sur de vastes volumes de données dans ces scénarios.
Retour de volumes de données considérables : Dans les applications d’exploration de données, la recherche vectorielle aide les modèles à reconnaître des situations spécifiques. Ces tâches nécessitent fréquemment de récupérer des volumes de données substantiels, ce qui soulève des problèmes de bande passante et d’efficacité algorithmique, en particulier pour les recherches Top-K de grande ampleur. Le développement de solutions efficaces pour gérer ces récupérations à grande échelle est crucial pour soutenir des applications robustes de bases de données vectorielles hors ligne.
En relevant ces défis, les bases de données vectorielles peuvent être mieux équipées pour prendre en charge un éventail plus large d’applications, étendant leur utilité au-delà des environnements en ligne.
Extension des ensembles de fonctionnalités dans les bases de données vectorielles pour divers secteurs
À mesure que l’adoption des bases de données vectorielles s’étend à différents secteurs, la diversité des applications nécessite le développement de fonctionnalités spécialisées adaptées aux exigences propres à chaque industrie. La polyvalence des bases de données vectorielles exige des capacités personnalisées afin d’optimiser leurs performances et leur fonctionnalité pour les défis uniques rencontrés par chaque domaine. Ces améliorations répondent aux exigences uniques de différents secteurs et améliorent la fonctionnalité globale et la polyvalence des bases de données vectorielles dans les environnements de production. Voici quelques exemples de la manière dont les bases de données vectorielles évoluent pour répondre à ces demandes :
Applications biopharmaceutiques : L’utilisation de vecteurs binaires pour récupérer des formules moléculaires de médicaments devient courante dans l’industrie biopharmaceutique. Les vecteurs binaires permettent une recherche et une correspondance efficaces de structures chimiques complexes, facilitant ainsi des processus rapides de découverte et de développement de médicaments.
Besoins du secteur financier : Contrairement à de nombreux secteurs qui recherchent les correspondances vectorielles les plus proches, le secteur financier nécessite souvent d’identifier les vecteurs les plus atypiques. Cette capacité est cruciale pour détecter les anomalies et les fraudes potentielles, où les plus grands écarts par rapport à la norme présentent le plus grand intérêt.
Fonctionnalité Range Search : Range Search permet aux utilisateurs de définir un seuil de similarité afin de prendre en charge les cas d’utilisation où le nombre exact de résultats pertinents est imprévisible. Le système renvoie ensuite tous les résultats qui dépassent ce seuil, garantissant une grande pertinence et précision dans les données récupérées.
Fonctionnalités de Groupby et d’agrégation : Pour les données non structurées volumineuses, telles que les films ou les longs articles, les bases de données vectorielles doivent produire et gérer des vecteurs segmentés par images ou par sections de texte. Cette segmentation nécessite de solides capacités de Groupby et d’agrégation afin de garantir que les résultats répondent efficacement aux critères spécifiques des utilisateurs.
Prise en charge des modèles multimodaux : Le passage aux modèles multimodaux introduit des vecteurs aux distributions variées, ce qui pose des défis aux algorithmes de récupération traditionnels. Les bases de données vectorielles évoluent pour prendre en charge ces divers types de données, garantissant une récupération efficace à travers différentes modalités.
Ces adaptations propres à l’industrie mettent en évidence la nature dynamique des bases de données vectorielles, qui évoluent pour répondre aux exigences complexes et variées des applications modernes dans tous les secteurs.
Conclusion
Au cours de l’année écoulée, les bases de données vectorielles ont connu des avancées rapides, reflétant une maturation significative de leurs cas d’utilisation et de leurs capacités intrinsèques. À mesure que nous avançons dans l’ère portée par l’IA, ces développements sont appelés à s’accélérer, annonçant une nouvelle vague d’innovations dans le stockage, la recherche et la gestion des données.
Cet aperçu vise à mettre en lumière les tendances transformatrices et les fonctionnalités émergentes des bases de données vectorielles, en offrant des perspectives susceptibles d’inspirer de nouvelles innovations dans ce domaine. Alors que nous traversons ces changements passionnants, le cheminement collectif vers l’amélioration des bases de données vectorielles promet de remodeler notre paysage technologique, en permettant des solutions fondées sur les données plus sophistiquées et plus efficaces.
Continuons à explorer et à innover ensemble, en accueillant avec enthousiasme et dans un esprit de collaboration l’avenir prometteur des bases de données vectorielles.
Continuer à lire

Vector Lakebase: End the AI Data Silo
Learn how Vector Lakebase unifies vector search, data lakes, and AI data operations so teams can serve RAG and agents without copy-and-sync pipelines.

We spent 8 years making vector databases faster. Then we stopped.
Rarely queried embeddings still need to stay searchable. See how Vector Lakebase enables on-demand vector search without always-on compute costs.

Introducing DeepSearcher: A Local Open Source Deep Research
In contrast to OpenAI’s Deep Research, this example ran locally, using only open-source models and tools like Milvus and LangChain.



