Accueil les sujets Vector Database Qu’est-ce qu’une base de données vectorielle ?
Découvrir la solution de base de données vectorielle d’IBM S’abonner aux mises à jour sur l’IA
Illustration montrant le mouvement dynamique des données sur des serveurs sécurisés dans un environnement cloud
Qu’est-ce qu’une base de données vectorielle ?

Les bases de données vectorielles sont conçues pour stocker, gérer et indexer efficacement des quantités massives de données vectorielles à haute dimension.

Les bases de données vectorielles éveillent de plus en plus l’intérêt des utilisateurs pour la valeur ajoutée qu’elles représentent dans les cas d’utilisation et les applications de l’intelligence artificielle (IA) générative. Selon Gartner, d’ici 2026, plus de 30 % des entreprises auront adopté les bases de données vectorielles pour baser leurs modèles de fondation sur des données métier pertinentes.1

Contrairement aux bases de données relationnelles traditionnelles qui comportent des lignes et des colonnes, les points de données des bases de données vectorielles sont représentés par des vecteurs ayant un nombre fixe de dimensions, regroupés en fonction de la similarité. Cette conception permet d’exécuter des requêtes à faible latence, en faisant la solution idéale pour les applications pilotées par l’IA.



Choisir le bon modèle de fondation

Utilisez ce cadre de sélection de modèles pour choisir le modèle le plus approprié tout en équilibrant vos exigences de performance avec les coûts, les risques et les besoins de déploiement.

Contenu connexe

Obtenir l’eBook sur les magasins de données pour l’IA

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

La nature des données a connu une profonde transformation. Elle ne se limite plus à des informations structurées qu’il est facile de stocker dans des bases de données traditionnelles. Les données non structurées connaissent une croissance annuelle de 30 % à 60 % : publications sur les réseaux sociaux, images, vidéos, clips audio et plus encore.2 En règle générale, si vous souhaitez charger des sources de données non structurées dans une base de données relationnelle traditionnelle pour les stocker, les gérer et les préparer pour l’IA, le processus est laborieux et loin d’être efficace, en particulier pour les nouveaux cas d’utilisation génératifs tels que la recherche de similarités. Les bases de données relationnelles sont adaptées à la gestion des jeux de données structurées et semi-structurées de formats spécifiques, tandis que les bases de données vectorielles sont mieux adaptées aux jeux de données non structurées avec des plongements vectoriels à haute dimension. 

Qu’est-ce qu’un vecteur ? 

C’est ici qu’interviennent les vecteurs. Les vecteurs sont des matrices de nombres qui peuvent représenter des objets complexes tels que des mots, des images, des vidéos et de l’audio, générées par un modèle de machine learning (ML). Les données vectorielles à haute dimension sont essentielles pour le machine learning, le traitement automatique du langage naturel (NLP) et d’autres tâches d’IA. Voici quelques exemples de données vectorielles : 

  • Texte : Repensez à la dernière fois que vous avez interagi avec un chatbot. Comment comprennent-ils le langage naturel ? Ils s’appuient sur des vecteurs qui peuvent représenter des mots, des paragraphes et des documents entiers, qui sont convertis via des algorithmes de machine learning. 

  • Images : Les pixels d’une image peuvent être décrits par des données numériques et combinés pour former un vecteur à haute dimension pour cette image. 

  • Parole/audio : Comme les images, les ondes sonores peuvent également être décomposées en données numériques et représentées sous forme de vecteurs, permettant d’utiliser des applications d’IA telles que la reconnaissance vocale. 

Qu’est-ce qu’un plongement vectoriel ? 

Le volume des jeux de données non structurées dont votre organisation a besoin pour l’IA ne va faire que croître, alors comment gérer des millions de vecteurs ? C’est là que les plongements vectoriels et les bases de données vectorielles entrent en jeu. Ces vecteurs sont représentés dans un espace multidimensionnel continu que l’on appelle plongement ou enchâssement. Ils sont générés par des modèles de plongement, spécifiquement conçus pour convertir vos données vectorielles en plongements. Les bases de données vectorielles servent à stocker et à indexer la sortie d’un modèle de plongement. Les plongements vectoriels sont une représentation numérique des données, regroupant des jeux de données en fonction de leur signification sémantique ou de caractéristiques similaires dans tous les types de données ou presque.  

Prenons l’exemple des mots « voiture » et « véhicule ». Ils ont tous deux une signification similaire, même s’ils sont orthographiés différemment. Pour qu’une application d’IA permette une recherche sémantique efficace, les représentations vectorielles de « voiture » et « véhicule » doivent capturer leur similarité sémantique. Dans le domaine du machine learning, les plongements représentent des vecteurs à haute dimension qui encodent ces informations sémantiques. Ces plongements vectoriels constituent l’épine dorsale des recommandations, des chatbots et des applications génératives comme ChatGPT.  

Base de données vectorielle et base de données orientée graphes  

Les graphes de connaissances représentent un réseau d’entités telles que des objets ou des événements et illustrent la relation entre elles. Une base de données orientée graphes est une base de données adaptée au stockage d’informations de graphes de connaissances et à leur visualisation sous forme de structure de graphe. Les bases de données orientées graphes s’appuient sur des nœuds et des arcs qui représentent les entités connues et les relations complexes entre elles, tandis que les bases de données vectorielles s’appuient sur des vecteurs à haute dimension. En conséquence, les bases de données orientées graphes sont privilégiées pour traiter les relations complexes entre les points de données, tandis que les bases de données vectorielles sont mieux adaptées au traitement de différentes formes de données telles que des images ou des vidéos.

Fonctionnement des plongements vectoriels et des bases de données vectorielles 

Les données vectorielles d’entreprise peuvent être introduites dans un modèle de plongement comme celui d’IBM watsonx.ai ou Hugging Face (lien externe à ibm.com), spécialement conçus pour convertir vos données en plongement via la transformation des vecteurs complexes à haute dimension en formes numériques que les ordinateurs peuvent comprendre. Ces plongements représentent les attributs de données utilisés dans les tâches d’IA telles que la classification et la détection d’anomalies.

Stockage des vecteurs

Les bases de données vectorielles stockent le résultat de l’algorithme du modèle de plongement : les plongements vectoriels. Elles stockent également les métadonnées de chaque vecteur, qui peuvent être interrogées à l’aide de filtres de métadonnées. En ingérant et en stockant ces plongements, la base de données peut ensuite faciliter la récupération rapide des résultats d’une recherche de similarités, en faisant correspondre le prompt de l’utilisateur avec un plongement vectoriel similaire. 

Indexation des vecteurs

Le stockage des données sous forme de plongements ne suffit pas. Les vecteurs doivent être indexés pour accélérer le processus de recherche. Les bases de données vectorielles créent des index sur les plongements vectoriels pour les fonctionnalités de recherche. La base de données vectorielle indexe les vecteurs à l’aide d’un algorithme de machine learning. L’indexation mappe les vecteurs à de nouvelles structures de données qui permettent des recherches de similarités ou de distances plus rapides, telles que la recherche des plus proches voisins entre les vecteurs.

Recherche de similarités basée sur des requêtes ou des prompts

L’interrogation des vecteurs peut être effectuée via des calculs mesurant la distance entre les vecteurs à l’aide d’algorithmes, par exemple la recherche des plus proches voisins. Cette mesure peut être basée sur divers indicateurs de similarité comme la similarité cosinus, utilisée par cet indice pour mesurer la distance entre ces vecteurs. Lorsqu’un utilisateur interroge un modèle IA ou qu’il lui donne un prompt, un plongement est calculé à l’aide du même algorithme que celui du modèle de plongement. La base de données calcule les distances et effectue des calculs de similarité entre les vecteurs de requête et les vecteurs stockés dans l’index. Les vecteurs les plus similaires ou les plus proches voisins sont renvoyés en fonction de la mesure de similarité. Ces calculs prennent en charge diverses tâches de machine learning : systèmes de recommandation, recherche sémantique, reconnaissance d’images et d’autres tâches de traitement automatique du langage naturel. 

Bases de données vectorielles et génération augmentée de récupération (RAG) 

Les entreprises privilégient de plus en plus l’approche RAG (génération augmentée de récupération) dans les workflows d’IA génératifs pour les avantages qu’elle représente : délais de mise sur le marché accéléré, inférence efficace et résultats fiables, en particulier dans des cas d'utilisation clés comme l’assistance client et les RH/la gestion des talents. La RAG garantit que le modèle est lié aux faits les plus récents et les plus fiables, et que les utilisateurs ont accès aux sources du modèle, afin de pouvoir vérifier l’exactitude des résultats. La RAG est essentielle pour fiabiliser les données des grands modèles de langage et réduire le risque d’hallucination. Cette approche repose sur l’exploitation de données vectorielles à haute dimension, qui enrichit les prompts avec des informations sémantiquement pertinentes pour favoriser l’apprentissage en contexte des modèles de fondation. Elle nécessite un stockage et une récupération efficaces pendant la phase d’inférence, qui est celle qui traite le plus grand volume de données. Les bases de données vectorielles excellent dans l'indexation, le stockage et la récupération efficaces de ces vecteurs à haute dimension, offrant la vitesse, la précision et l’échelle nécessaires à des applications telles que les moteurs de recommandation et les chatbots.

Avantages des bases de données vectorielles 

Oui, l’intérêt pour les fonctionnalités des bases de données vectorielles grandit et leur adoption s’accélère dans les entreprises qui souhaitent améliorer leurs applications alimentées par l’IA. Mais d’autres avantages représentent également une certaine valeur métier pour les utilisateurs : 

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, comme la recherche des plus proches voisins, sont particulièrement utiles dans la recherche de résultats pertinents sur des millions, voire des milliards de points de données, avec des performances optimisées. 

Évolutivité : Les bases de données vectorielles peuvent stocker et gérer des quantités massives de données non structurées via un dimensionnement horizontal, en maintenant les performances malgré l’augmentation des volumes de requêtes et de données.

Coût de possession : Les bases de données vectorielles constituent une alternative précieuse à l’entraînement des modèles de fondation de A à Z, ou à leur optimisation. Cela permet de réduire le coût et d’accélérer l’inférence des modèles de fondation.

Flexibilité : Images, vidéos ou autres données multidimensionnelles, les bases de données vectorielles sont conçues pour gérer la complexité. Compte tenu des nombreux cas d’utilisation pris en charge, de la recherche sémantique aux applications d’IA conversationnelle, l’utilisation des bases de données vectorielles peut être personnalisée pour répondre aux besoins de votre entreprise et à vos exigences en matière d’IA. 

Mémoire à long terme des LLM : Les organisations peuvent commencer avec des modèles polyvalents comme ceux de la série Granite d’IBM watsonx.ai, le modèle Llama-2 de Meta ou les modèles Flan de Google, puis intégrer leurs propres données dans une base de données vectorielle afin d’améliorer les résultats des modèles et d’optimiser les applications d’IA essentielles à la génération augmentée de récupération. 

Composants de gestion des données : Les bases de données vectorielles fournissent également généralement des fonctionnalités intégrées permettant de mettre à jour et d’insérer facilement de nouvelles données non structurées. 

Considérations relatives aux bases de données vectorielles et à votre stratégie de données 

Si vous recherchez des bases de données vectorielles qui répondent aux besoins de votre organisation en matière de données et d’IA, vous n’aurez que l’embarras du choix. 

Types de bases de données vectorielles

 

Vous avez le choix entre plusieurs alternatives.

  • Bases de données vectorielles propriétaires et autonomes telles que Pinecone
  • Solutions open source telles que weaviate ou milvus, qui fournissent des API RESTful intégrées et prennent en charge les langages de programmation Python et Java
  • Plateformes intégrant des capacités de bases de données vectorielles, bientôt disponibles dans IBM watsonx.data

  • Bases de données vectorielles/extensions de recherche telles que l’extension open source pgvector de PostgreSQL, fournissant des capacités de recherche de similarité vectorielle

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

Les bases de données vectorielles ne doivent pas être considérées comme des capacités autonomes, mais plutôt comme une partie intégrante de votre écosystème plus vaste de données et d’IA. Nombre d’entre elles proposent des API, des extensions natives ou peuvent être intégrées à vos bases de données. Comme elles sont conçues pour tirer parti de vos propres données d’entreprise et améliorer vos modèles, vous devez également mettre en place des processus de gouvernance et de sécurité appropriés pour garantir la fiabilité des données sur lesquelles vous fondez ces LLM. 

C’est là qu’un socle de données fiable prend tout son sens dans l’IA, et à la base de ce socle, vos données et comment elles sont stockées, gérées et gouvernées avant d’être utilisées pour l’IA. Autre composant essentiel de cette approche, un data lakehouse ouvert, hybride et gouverné, comme IBM watsonx.data, un élément de la plateforme de données d’IA watsonx qui s’intègre de façon fluide aux architectures data fabric. IBM watsonx.data, par exemple, est conçu pour accéder à toutes vos données et métadonnées structurées, semi-structurées et non structurées et les cataloguer, les gouverner et les transformer. Vous pouvez ensuite tirer parti de ces données gouvernées et des capacités de base de données vectorielle intégrées de watsonx.data (aperçu technique du quatrième trimestre 2023) dans les cas d’utilisation de machine learning et d’IA générative. 

Quand l'indexation des vecteurs n’est pas optimale

L’utilisation d’un magasin de vecteurs et d’un index est bien adaptée aux applications basées sur des faits ou aux requêtes basées sur des faits. Par exemple, pour poser des questions sur les mentions légales d’une entreprise de l’année dernière ou pour extraire des informations spécifiques à partir de documents complexes. Les contextes de récupération que vous obtiendriez seraient les contextes les plus similaires sur le plan sémantique par rapport à votre requête, sur la base de la distance de plongement. Toutefois, si vous souhaitez obtenir une synthèse des sujets, un index de vecteurs n’est pas la solution la mieux adaptée. Dans ce cas, il est préférable que le LLM passe en revue tous les contextes possibles sur ce sujet dans vos données. À la place, vous pouvez utiliser un autre type d’index, comme un index de liste, plutôt qu’un index vectoriel, car celui-ci ne récupérerait que les données les plus pertinentes.  

Cas d’utilisation des bases de données vectorielles 

Les applications des bases de données vectorielles sont vastes, et elles se multiplient. Voici quelques cas d’utilisation :

Recherche sémantique : Effectuez des recherches en fonction de la signification ou du contexte d’une requête, ce qui permet d’obtenir des résultats plus précis et plus pertinents. Comme les mots mais aussi les phrases peuvent être représentés sous forme de vecteurs, la fonctionnalité de recherche vectorielle sémantique comprend mieux l’intention de l’utilisateur que la recherche par mots-clés génériques. 

Recherche de similarités et applications : Trouvez facilement des images, du texte, des données audio ou vidéo similaires, pour la récupération de contenu, y compris la reconnaissance avancée d’images et de parole, le traitement automatique du langage naturel, et plus encore. 

Moteurs de recommandation : Les sites de e-commerce, par exemple, peuvent utiliser des bases de données vectorielles et des vecteurs pour représenter les préférences des clients et les attributs des produits. Cela leur permet de suggérer des articles similaires aux achats antérieurs en fonction de la similarité vectorielle, ce qui améliore l’expérience utilisateur et augmente la rétention des clients.

IA conversationnelle : Amélioration des interactions avec les agents conversationnels en optimisant la capacité à analyser les bases de connaissances pertinentes de manière efficace et précise afin de fournir des réponses contextuelles en temps réel aux requêtes des utilisateurs, ainsi que les documents sources et les numéros de page à titre de référence. 

Capacités des bases de données vectorielles
watsonx.ai

Un studio d’entreprise de nouvelle génération qui permet aux générateurs d’IA de créer, d’entraîner, de valider, de régler et de déployer à la fois le machine learning traditionnel et les nouvelles capacités d’IA générative alimentées par des modèles de fondation. Créez une ressource de question-réponse à partir d’une large base de connaissances interne ou externe en vous appuyant sur les tâches d’IA de watsonx.ai, tels que la génération augmentée de récupération.

En savoir plus

watsonx.data

Un magasin de données adapté à vos besoins, conçu sur une architecture de data lakehouse ouverte qui vous permet de faire évoluer les workloads d’IA, et ce pour toutes vos données, où que vous soyez. Stockez, interrogez et recherchez les plongements vectoriels dans watsonx.data grâce aux capacités vectorielles intégrées (aperçu technique prévu au quatrième trimestre 2023).

En savoir plus

IBM Cloud Databases for PostgreSQL-

Notre offre de base de données PostgreSQL en tant que service permet aux équipes de consacrer plus de temps au développement avec haute disponibilité, orchestration des sauvegardes, récupération à un point dans le temps (ou PITR pour Point-In-Time Recovery) et réplica en lecture en toute simplicité. PostgreSQL propose l’extension pgvector, une extension vectorielle open source qui pourra être configurée avec les extensions IBM Cloud PostgreSQL (prochainement), pour fournir des capacités de recherche de similarité vectorielle.

En savoir plus
IBM Cloud Databases for Elasticsearch

Notre base de données en tant que service Elasticsearch est dotée d’un moteur de recherche en texte intégral, ce qui en fait une solution idéale pour vos données textuelles non structurées. Elasticsearch prend également en charge diverses formes de recherche de similarités sémantiques (lien externe à ibm.com). Il prend en charge les vecteurs denses (lien externe à ibm.com) pour la recherche exacte des plus proches voisins, mais il fournit également des modèles IA intégrés pour calculer les vecteurs épars et effectuer une recherche de similarités avancée (lien externe à ibm.com).

En savoir plus
Ressources sur les bases de données vectorielles Les modèles de fondation et les magasins de données libèrent le potentiel de l’IA générative

Les organisations qui utilisent correctement les modèles d’IA générative peuvent constater une myriade d’avantages, depuis une efficacité opérationnelle accrue et une prise de décision améliorée jusqu’à la création rapide de contenu marketing.

Les modèles watsonx Granite adaptés aux entreprises et développés par IBM sont disponibles

IBM annonce la disponibilité générale des premiers modèles de la série de modèles watsonx Granite, une collection de modèles d’IA générative destinés à faire progresser l’intégration de l’IA générative dans les applications et les workflows métier.

Qu’est-ce que la génération augmentée de récupération ?

La RAG est un framework d’IA permettant de récupérer des faits à partir d’une base de connaissances externe afin que les LLM se basent sur les informations les plus précises et les plus récentes, et afin de donner aux utilisateurs des informations sur le processus génératif des LLM.

Notes de bas de page

1 Gartner Innovation Insight: Vector Databases (lien externe à ibm.com, nécessite un compte Gartner), Gartner

2 Gartner 2022 Strategic Roadmap for Storage (lien externe à ibm.com, nécessite un compte Gartner), Gartner