Qu’est-ce qu’une base de données vectorielle ?

Qu’est-ce qu’une base de données vectorielle ?

Les bases de données vectorielles stockent, gèrent et indexent les données vectorielles à haute dimension.

Dans une base de données vectorielle, les points de données sont stockés sous forme de tableaux de nombres appelés « vecteurs », qui peuvent être comparés et regroupés en fonction de leur similarité. Ce design permet des requêtes à faible latence, ce qui le rend idéal pour les applications d’ intelligence artificielle (IA).

Si les bases de données vectorielles gagnent en popularité, c’est parce qu’elles offrent la rapidité et la performance nécessaires pour alimenter les cas d’utilisation de l’IA générative. En fait, selon une étude de 2025, l’adoption des bases de données vectorielles a augmenté de 377 % en un an, soit la croissance la plus rapide enregistrée pour une technologie liée aux grands modèles de langage (LLM).

Bases de données vectorielles et bases de données traditionnelles

La nature des données a considérablement évolué ces dernières années. Elle ne se limite plus aux informations structurées, stockées dans les lignes et les colonnes d’une base de données traditionnelle. Les données non structurées, notamment les publications, les images, les vidéos et l’audio sur les réseaux sociaux, voient tant leur volume que leur valeur augmenter pour remodeler les stratégies d’IA des entreprises, tout en imposant de nouvelles exigences à l’infrastructure de données.

Les bases de données relationnelles traditionnelles excellent dans la gestion des jeux de données structurées et semi-structurées dans des schémas définis. Néanmoins, le chargement et la préparation de données non structurées dans une base de données relationnelle pour les workloads d’IA demandent beaucoup de travail.

La recherche traditionnelle accentue cette limitation : elle s’appuie sur des tokens discrets tels que des mots-clés, des balises ou des métadonnées, et renvoie des résultats basés sur des correspondances exactes. Une recherche sur le terme « smartphone », par exemple, renvoie uniquement le contenu contenant ce terme précis.

Les bases de données vectorielles adoptent une approche fondamentalement différente. Au lieu d’être organisés en lignes et colonnes, les points de données sont représentés par des vecteurs denses dont chaque dimension correspond à une caractéristique apprise des données. Ces embeddings vectoriels de haute dimension se trouvent dans un espace vectoriel où les relations entre les éléments peuvent être mesurées géométriquement.

Parce que chaque dimension représente une caractéristique latente, déduite à l’aide de modèles mathématiques et d’algorithmes, les représentations vectorielles capturent les schémas cachés. Une requête de recherche vectorielle pour « smartphone » peut également donner des résultats sémantiquement proches comme « téléphone portable » ou « appareil mobile », même si ces mots exacts n’apparaissent pas.

En modélisant les données dans un espace à haute dimension et en appliquant des techniques d’indexation spécialisées, les bases de données vectorielles permettent d’effectuer une recherche de similarité à faible latence dans les jeux de données volumineux. Il s’agit d’une capacité que les bases de données relationnelles n’ont pas été conçues pour prendre en charge.

Pourquoi les bases de données vectorielles sont-elles importantes ?

L’essor rapide des LLM, des systèmes d’IA générative et des workflows avancés de traitement automatique du langage naturel (TALN) a transformé la manière dont les entreprises gèrent et stockent les données. Les workloads d’IA actuels dépendent d’une interaction rapide et en temps réel avec les données vectorielles, ainsi que d’une intégration transparente avec les pipelines de génération augmentée de récupération (RAG).

Les bases de données vectorielles fournissent l’infrastructure nécessaire pour répondre à ces demandes. En permettant une recherche de similarité à faible latence sur de grands volumes de données non structurées, elles alimentent des applications d’IA comme les chatbots et les systèmes de recommandation.

Les concepts fondamentaux des bases de données vectorielles

Pour comprendre comment fonctionnent les bases de données vectorielles, il est utile de définir deux concepts fondamentaux : les vecteurs, qui décrivent les données sous forme numérique, et les embeddings vectoriels, qui traduisent le contenu non structuré en représentations de haute dimension captant le sens et le contexte.

Vecteurs

Les vecteurs sont un sous-ensemble de tenseurs. En machine learning (ML), « tenseur » est un terme générique qui désigne un groupe de nombres, ou un regroupement de groupes de nombres, dans un espace de dimension n. On peut comparer les tenseurs à un système de comptabilité mathématique pour les données. En partant du plus petit élément :

  • Un scalaire est un tenseur d’ordre zéro, contenant un seul nombre. Par exemple, un système de modélisation des données météorologiques peut représenter la température maximale d’une journée (en Fahrenheit) sous forme de scalaire : 85.
  • Un vecteur est un tenseur unidimensionnel (de premier ordre ou d’ordre 1), qui contient plusieurs scalaires du même type de données. En e basant sur notre exemple, un modèle météorologique peut utiliser les températures basses, moyennes et élevées de la journée sous forme de vecteur : 62, 77, 85. Chaque composante scalaire est une caractéristique, ou dimension du vecteur, représentant une caractéristique de la météo de cette journée.

En d’autres termes, les vecteurs permettent d’organiser les nombres de manière structurée. Pour que les systèmes d’IA puissent traiter ces informations non structurées, les données doivent toutefois être traduites en tableaux numériques. Cette traduction est réalisée grâce aux embeddings vectoriels.

Embeddings vectoriels

Les embeddings vectoriels sont des représentations numériques des points de données qui convertissent différents types de données, y compris les mots et les images, en tableaux de nombres que les modèles de ML peuvent traiter.

Pour ce faire, les modèles d’embedding apprennent à mapper les données d’entrée dans un espace vectoriel de haute dimension. Cet espace vectoriel transpose les schémas appris grâce à une fonction de perte spécifique à la tâche, qui quantifie les erreurs de prédiction. Les embedding vectoriels peuvent ensuite être utilisés par les modèles d’IA en aval, comme les réseaux de neurones utilisés en apprentissage profond, pour réaliser des tâches telles que la classification, la récupération ou le partitionnement.

Prenons l’exemple d’un petit corpus où les plongements lexicaux sont représentés sous forme de vecteurs à 3 dimensions :

  • chat [0,2, -0,4, 0,7]
  • chien [0,6, 0,1, 0,5]

Dans cet exemple, chaque mot (« chat ») est associé à un vecteur unique ([0,2, -0,4, 0,7]). Les valeurs du vecteur représentent la position du mot dans un espace vectoriel tridimensionnel. Les mots ayant des significations ou des contextes similaires sont censés avoir des représentations vectorielles similaires. Les vecteurs « chat » et « chien » seraient très proches, reflétant leur relation sémantique.

De même, les mots « voiture » et « véhicule » partagent la même signification, mais ils s’écrivent différemment. Pour qu’une application d’IA puisse effectuer une recherche sémantique, les représentations vectorielles de « voiture » et de « véhicule » doivent saisir leur signification commune. Les embeddings vectoriels encodent ce sens numériquement, ce qui en fait l’épine dorsale des moteurs de recommandation, des chatbots et des applications génératives comme ChatGPT d’OpenAI.

AI Academy

La gestion des données est-elle le secret de l’IA générative ?

Découvrez pourquoi des données de haute qualité sont essentielles pour une utilisation réussie de l’IA générative.

Comment fonctionnent les bases de données vectorielles ?

Pour favoriser une récupération sémantique rapide et évolutive, les bases de données vectorielles reposent sur trois fonctions principales :

  • Stockage des vecteurs
  • Indexation des vecteurs
  • Recherche vectorielle

Stockage des vecteurs

Au niveau fondamental, les bases de données vectorielles stockent les embeddings. Chacun comporte un nombre fixe de dimensions et est généralement stocké aux côtés de métadonnées comme le titre, la source, l’horodatage ou la catégorie, qui peuvent être interrogées à l’aide de filtres de métadonnées.

Parce que les embeddings sont générés à l’avance et stockés, les bases de données vectorielles peuvent récupérer les embeddings vectoriels similaires sans recalculer les représentations au moment de la requête. Cette séparation entre la génération et la récupération permet une recherche de similarité à faible latence à l’échelle.

De nombreux systèmes prennent également en charge la recherche hybride, qui combine similarité vectorielle et contraintes de métadonnées (par exemple, la récupération de documents sémantiquement similaires, créés sur une période donnée ou dans une catégorie particulière.

Indexation des vecteurs

Pour accélérer la recherche de similarité dans les espaces de haute dimension, les bases de données vectorielles créent des index sur les embeddings vectoriels stockés. L’indexation mappe les vecteurs à de nouvelles structures de données, permettant des recherches de similarité ou de distance plus rapides entre les vecteurs.

Ces index permettent la recherche approximative des plus proches voisins (ANN), qui récupère les vecteurs similaires sans analyser l’ensemble du jeu de données. HNSW (hierarchical navigable small world) et LSH (locality-sensitive hashing) font partie des algorithmes d’indexation ANN les plus courants :

  • HNSW crée un graphe hiérarchique multi-couches qui utilise des liens à longue portée dans les couches supérieures, et des liens locaux denses dans la couche inférieure.1
  • LSH regroupe les vecteurs dans des compartiments à l’aide d’une fonction de hachage, de façon que les vecteurs similaires se retrouvent dans le même compartiment.

En plus des index ANN, les bases de données vectorielles utilisent souvent la quantification de produit (PQ) pour réduire la consommation de mémoire. La PQ consiste à convertir chaque jeu de données en code court qui préserve la distance relative (au lieu de stocker tous les vecteurs), ce qui permet aux systèmes de stocker des collections plus importantes tout en assurant une bonne performance de recherche.

Recherche vectorielle

La recherche vectorielle est la couche de récupération des bases de données vectorielles, qui permet de découvrir et de comparer les points de données similaires. Au lieu de faire correspondre des mots-clés ou valeurs exacts, elle capte les relations sémantiques entre les éléments. Cette capacité de récupération contextuelle est à la base des systèmes RAG, qui fournissent un contexte pertinent aux systèmes d’IA et aux modèles de machine learning axés sur la récupération.

Lorsqu’un utilisateur envoie un prompt au modèle d’IA, celui-ci génère l’embedding de la requête, connu sous le nom de vecteur de requête. La base de données compare ensuite le vecteur de requête avec les vecteurs indexés et calcule les scores de similarité pour identifier les voisins les plus proches.

La recherche vectorielle applique plusieurs algorithmes pour effectuer une recherche ANN. Ces algorithmes sont rassemblés dans un pipeline pour récupérer avec rapidité et précision les données voisines du vecteur interrogé (par exemple, les produits visuellement similaires dans un catalogue de commerce électronique). Puisque les embeddings sont pré-calculés et stockés sous forme indexée, les résultats sont renvoyés en quelques millisecondes.

Une fois les vecteurs pertinents identifiés, ils sont comparés soit en calculant leur similarité, soit à l’aide d’un indicateur de distance. Les méthodes les plus courantes sont les suivantes :

  • La similarité cosinus mesure la distance angulaire entre les vecteurs pour déterminer leur degré d’alignement en termes de direction.
  • La similarité de Jaccard compare le chevauchement entre deux ensembles par rapport à leur nombre total d’éléments.
  • Le produit scalaire évalue la similarité en fonction de l’ampleur et de la direction des vecteurs.
  • Distance euclidienne : la distance en ligne droite entre les vecteurs dans un espace de haute dimension.

La base de données restitue les vecteurs les mieux classés selon ces calculs de similarité, afin de prendre en charge des tâches de machine learning comme la recherche sémantique et d’autres workflows de traitement automatique du langage naturel.

Quels sont les avantages des bases de données vectorielles ?

Les bases de données vectorielles occupent une place de plus en plus importante dans les stratégies d’IA d’entreprise, car elles offrent de nombreux avantages :

  • Vitesse et performances : les bases de données vectorielles utilisent diverses techniques d’indexation pour permettre une recherche plus rapide. L’indexation des vecteurs et les algorithmes de calcul des distances améliorent la performance des recherches dans les jeux de données qui comptent des millions, voire des milliards de points de données.
  • Évolutivité : les bases de données vectorielles peuvent stocker et gérer d’immenses quantités de données non structurées grâce à un dimensionnement horizontal avec des nœuds supplémentaires. La performance est ainsi maintenue au fur et à mesure que le volume de requêtes et de données augmente.
  • Un coût de possession plus faible : parce qu’elles permettent une récupération plus rapide des données, les bases de données vectorielles accélèrent l’entraînement des modèles de fondation.
  • Gestion des données : les bases de données vectorielles fournissent généralement des fonctionnalités de gestion des données intégrées qui permettent de mettre à jour et d’insérer facilement de nouvelles données non structurées.
  • Flexibilité : les bases de données vectorielles sont conçues pour gérer la complexité accrue liée à l’utilisation d’images, de vidéos ou d’autres données multidimensionnelles.

Cas d’utilisation des bases de données vectorielles

Les bases de données vectorielles peuvent être personnalisées pour répondre à des besoins métier et des cas d’utilisation de l’IA bien spécifiques. Souvent, les entreprises commencent par un modèle d’embedding à usage général comme IBM® Granite, Llama-2 de Meta ou Flan de Google. Les modèles sont ensuite améliorés à l’aide de données d’entreprise stockées dans une base de données vectorielle. Cette combinaison améliore la pertinence et la précision des applications d’IA en aval.

Les applications des bases de données vectorielles ne cessent de se multiplier. Voici quelques cas d’utilisation :

  • Génération augmentée par la récupération
  • IA conversationnelle
  • Moteurs de recommandation
  • Détection des anomalies

Génération augmentée de récupération

La RAG permet aux LLM de récupérer des faits à partir d’une base de connaissances externe. Les entreprises privilégient de plus en plus la RAG pour sa mise sur le marché plus rapide, son inférence efficace et ses sorties fiables, en particulier dans des domaines comme le service client, les RH et la gestion des talents.

En ancrant le modèle dans des données d’entreprise fiables, la RAG réduit le risque d’hallucination et permet aux utilisateurs d’accéder aux sources sous-jacentes à des fins de vérification. Comme l’étape d’inférence comporte les opérations de récupération les plus volumineuses, elle requiert un accès rapide, précis et évolutif aux embeddings vectoriels de haute dimension.

Les bases de données vectorielles excellent dans l’indexation, le stockage et la récupération de ces embeddings, offrant la rapidité, la précision et l’échelle nécessaires pour des applications telles que les systèmes de détection des fraudes et les plateformes de maintenance prédictive.

IA conversationnelle

Les bases de données vectorielles, surtout si utilisées pour mettre en œuvre des cadres RAG, permettent d’améliorer les interactions avec les agents conversationnels. En effet, elles renforcent la capacité de ces derniers à analyser les bases de connaissances appropriées avec efficacité et précision. Les agents sont en mesure de fournir des réponses contextuelles en temps réel aux requêtes utilisateur, ainsi que les documents sources de référence et les numéros de page correspondants.

Moteurs de recommandation

Les sites d’e-commerce peuvent utiliser les vecteurs pour représenter les préférences des clients et les attributs des produits. Cela leur permet d’améliorer l’expérience et la rétention client en suggérant des articles similaires à ceux achetés précédemment. Les plateformes de streaming et les applications de réseaux sociaux suivent la même approche. En effet, elles recommandent des vidéos, de la musique ou des publications en fonction de leur similarité avec le contenu que l’utilisateur a déjà consulté ou partagé.

Détection des anomalies

En représentant le comportement normal sous forme de vecteurs dans un espace à haute dimension, les entreprises peuvent détecter les données aberrantes en fonction de la distance vectorielle. Les points de données éloignés des clusters établis peuvent signaler une fraude, des défaillances du système ou des modèles d’activités inhabituelles. La similarité étant calculée mathématiquement, les anomalies peuvent être détectées en temps réel à travers d’immenses jeux de données, du trafic réseau aux relevés de capteurs dans les systèmes industriels. Cela permet aux équipes d’intervenir avant que de petits écarts ne se transforment en incidents coûteux.

Si les bases de données vectorielles permettent la recherche factuelle dans de nombreuses applications d’IA, elles ne sont pas parfaitement adaptées à tout type de requête.

Les workloads de synthèse des sujets ou d’analyse thématique générale ont besoin d’un LLM pour lire tous les contextes pertinents, au lieu de s’appuyer uniquement sur les correspondances les plus proches. Dans ces scénarios, un index de liste ou une autre structure non vectorielle peut fournir des résultats plus rapides et plus efficaces, en raison de leur capacité à révéler les premiers éléments pertinents sans avoir à naviguer dans l’espace vectoriel.

Qui utilise les bases de données vectorielles ?

Les bases de données vectorielles prennent en charge un large éventail de workloads d’IA, mais la valeur qu’elles fournissent varie selon le rôle. Dans la plupart des entreprises, les utilisateurs se répartissent en deux grands groupes : les constructeurs, qui conçoivent et mettent en œuvre des expériences pilotées par l’IA, et les opérateurs, qui évoluent et maintiennent ces systèmes en production.

Générateurs

Les constructeurs créent les applications, les pipelines et les modèles qui s’appuient sur la recherche vectorielle, en utilisant des bases de données vectorielles pour stocker les embeddings et alimenter les applications d’IA.

Développeurs

Les développeurs s’appuient sur les bases de données vectorielles pour les kits de développement logiciel (SDK) spécifiques à un langage et les interfaces de programmation d’application (API) prévisibles. Souvent, ils intègrent la recherche vectorielle dans des applications comme les chatbots et les moteurs de recommandation.

Ingénieurs en traitement de données

Les ingénieurs de données conçoivent les pipelines qui génèrent, transforment et valident les embeddings. Les bases de données vectorielles simplifient les workflows d’ingestion, la capture des métadonnées et la traçabilité dans les environnements de données distribués.

Ingénieurs en IA et ML

Les ingénieurs en IA et ML mettent en œuvre les modèles d’embedding et gèrent la logique de récupération pour la RAG et les autres workloads d’inférence. Ils s’appuient sur les bases de données vectorielles pour les recherches à faible latence et la gestion des versions d’embedding.

Data scientists

Les data scientists évaluent la qualité de l’embedding et analysent la performance des modèles. Ils utilisent des bases de données vectorielles pour découvrir des données à haute dimension, enrichir les ensembles d’entraînement et valider les relations sémantiques entre les jeux de données.

Opérateurs 

Les opérateurs s’assurent que les workloads restent évolutifs et fiables. Ils gèrent le fonctionnement des bases de données vectorielles en production et leur intégration dans des écosystèmes de données et d’IA plus larges.

Équipes d’exploitation et SRE

Les équipes d’exploitation et d’ingénierie de la fiabilité des sites (SRE) surveillent la performance pour s’assurer que les requêtes vectorielles répondent aux exigences de latence, de débit et de disponibilité.

Architectes informatiques

Les architectes informatiques déterminent comment les bases de données vectorielles s’intègrent aux lakehouses, aux cadres de gouvernance et aux plateformes de données existantes, en évaluant l’interopérabilité et l’adéquation architecturale à long terme.

Équipes de sécurité et de gouvernance

Les équipes de sécurité et de gouvernance veillent à ce que les embeddings et les métadonnées soient conformes aux exigences réglementaires et à celles de l’entreprise. Elles mettent en œuvre les contrôles d’accès et s’assurent que les données vectorisées conservent les niveaux de confidentialité et de protection appropriés.

Dirigeants et responsables des données

Les dirigeants évaluent la manière dont les bases de données vectorielles soutiennent la stratégie d’IA de l’entreprise. Ils se concentrent sur la rentabilité, la gouvernance, la gestion des risques et la manière dont les capacités vectorielles s’intègrent aux modèles opérationnels existants.

Bien choisir sa base de données vectorielle

Les entreprises disposent d’un large choix en matière de bases de données vectorielles. Pour trouver celle qui répond au mieux à leurs besoins en matière de données et d’IA, bon nombre d’entre elles prennent en compte les critères suivants :

  • Types de bases de données vectorielles
  • Intégration à un écosystème de données
  • Outils pour la création et le déploiement des bases de données vectorielles

Types de bases de données vectorielles

Plusieurs options s’offrent aux entreprises :

  • Bases de données vectorielles autonomes : des bases de données propriétaires, entièrement vectorisées, comme Pinecone.
  • Bases de données vectorielles open source : des solutions open source comme Weaviate et Milvus, qui proposent des API RESTful intégrées et une prise en charge des langages de programmation Python et Java.
  • Data lakehouses avec capacités vectorielles intégrées : des data lakehouses intégrant des capacités de base de données vectorielles tels que IBM® watsonx.data.
  • Extensions vectorielles pour les bases de données existantes : des bases de données vectorielles et extensions de recherche de bases de données comme l’extension open source pgvector de PostgreSQL, qui propose des capacités de recherche de similarité vectorielle. Les bases de données vectorielles SQL allient les avantages des bases de données SQL traditionnelles à la puissance des bases de données vectorielles.
  • Moteurs de recherche avec prise en charge vectorielle : des plateformes comme OpenSearch, qui proposent des fonctionnalités de recherche vectorielle intégrées, ainsi que des API RESTful, pour ingérer et interroger les embeddings.

Une option émergente pour assurer l’exécution de workloads vectorielles est la base de données vectorielle sans serveur. Les conceptions sans serveur éliminent la nécessité de gérer ou de provisionner l’infrastructure, ce qui permet aux équipes de se concentrer moins sur les opérations sur cluster, et plus sur la génération d’embeddings et le développement d’applications. La capacité peut s’adapter automatiquement au volume des requêtes et à la taille des données, afin d’aider les équipes à gérer les workloads imprévisibles sans procéder à un réglage de performance.

Les bases de données vectorielles sans serveur sont particulièrement utiles pour le prototypage rapide, les applications d’IA orientées événements et les environnements de développement où la maîtrise des coûts et la simplicité opérationnelle sont prioritaires.

Intégration à un écosystème de données

Les bases de données vectorielles ont des capacités à considérer non pas de façon autonome, mais comme faisant partie d’un large écosystème de données et d’IA.

Nombre d’entre elles proposent des API, des extensions natives ou peuvent être intégrées aux bases de données. Les bases de données vectorielles étant conçues pour exploiter les données afin d’améliorer les modèles, les entreprises doivent également mettre en place une gouvernance et une sécurité des données appropriées pour garantir la fiabilité des données utilisées pour entraîner les LLM.

Bon nombre de bases de données vectorielles s’appuient sur des SDK spécifiques au langage de programmation, qui s’intègrent aux API. Grâce aux SDK, les développeurs gèrent plus facilement l’utilisation des données dans leurs applications.

Outils pour la création et le déploiement des bases de données vectorielles

Pour optimiser le développement des bases de données vectorielles, le cadre d’orchestration open source LangChain permet de développer des applications qui exploitent des LLM.

Disponibles dans les bibliothèques Python et Java, les outils et les API de LangChain simplifient le processus de création d’applications alimentées par les LLM, comme les agents conversationnels, en utilisant des bases de données vectorielles locales et basées sur le cloud. LangChain offre ainsi un accès à un vaste écosystème contenant plus de 1 000 intégrations à travers LLM, embeddings, bases de données vectorielles, chargeurs de documents, outils et plus encore. 

Associé à une base de données vectorielle, le data lakehouse permet aux entreprises d’unifier, d’organiser et de préparer les embeddings vectorisés pour leurs applications d’IA générative. Elles pourront ainsi améliorer la pertinence et la précision de leurs workloads d’IA et, implicitement, leurs résultats métier.

Auteurs

Tom Krantz

Staff Writer

IBM Think

Jim Holdsworth

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

Solutions connexes
IBM StreamSets

Créez et gérez des pipelines intelligents de diffusion de données en continu via une interface graphique intuitive, facilitant ainsi une intégration fluide des données dans les environnements hybrides et multicloud.

Découvrir StreamSets
IBM watsonx.data

watsonx.data vous permet d’adapter le dimensionnement des analyses et de l’IA à toutes vos données, où qu’elles se trouvent, grâce à un entrepôt de données ouvert, hybride et gouverné.

Découvrir watsonx.data
Services de conseil pour les données et les analyses

Avec IBM Consulting, exploitez les données de votre entreprise et développez une organisation basée sur les informations pour tirer des avantages métier.

Découvrir les services d’analytique
Passez à l’étape suivante

Élaborez une stratégie de gestion des données qui élimine les silos, réduit la complexité et améliore la qualité des données pour offrir une expérience client et collaborateur exceptionnelle.

  1. Découvrir les solutions de gestion des données
  2. Découvrir watsonx.data
Notes de bas de page