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

Une base de données vectorielle stocke des éléments d'information sous forme de vecteurs. Les bases de données vectorielles regroupent des éléments apparentés, ce qui permet d'effectuer des recherches de similarité et de construire de puissants modèles d'intelligence artificielle.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Expliquer les vecteurs et les bases de données vectorielles
  • Comprendre les intégrations
  • Liste des utilisations des bases de données vectorielles

Contenu associé


Vous souhaitez continuer à enrichir vos connaissances ?

Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !

Consultez la politique de confidentialité de Cloudflare pour en savoir plus sur la manière dont nous collectons et traitons vos données personnelles.

Copier le lien de l'article

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

Une base de données vectorielle est une collection de données stockées sous forme de représentations mathématiques. Avec les bases de données vectorielles les modèles d'apprentissage automatique peuvent se souvenir plus facilement des entrées précédentes et ils sont utilisés pour la recherche, les recommandations et la génération de texte. Les données peuvent être identifiées sur la base d'indicateurs de similarité et non sur des correspondances exactes, ainsi, le modèle informatique comprend les données dans leur contexte.

Lorsqu'une personne se rend dans un magasin de chaussures, un vendeur peut lui suggérer des chaussures semblables à la paire qu'elle préfère. De la même manière, lorsque vous faites des achats dans une boutique en ligne, des suggestions d'articles similaires peuvent vous être présentées sous un en-tête tel que « Les clients ont également acheté... » Les bases de données vectorielles permettent aux modèles d'apprentissage automatique d'identifier des objets similaires, à l'instar du vendeur qui présente des chaussures comparables et la boutique en ligne peut suggérer des produits connexes. (En fait, la boutique en ligne peut utiliser un tel modèle d'apprentissage automatique dans ce but.)

En résumé, les bases de données vectorielles permettent aux programmes informatiques d'établir des comparaisons, d'identifier des relations et de comprendre le contexte. Cela permet de créer des programmes d'intelligence artificielle ( IA) avancés tels que les grands modèles linguistiques (LLM).

Intégrations - Documents réunis dans un espace vectoriel

Dans cette base de données vectorielle simple, les documents en haut à droite sont probablement similaires les uns par rapport aux autres.

Ressource
Reprenez le contrôle grâce à la connectivité cloud

Discuter avec un expert
Découvrez de quelle manière Cloudflare peut protéger votre entreprise

Qu'est-ce qu'un vecteur ?

Un vecteur est un tableau de valeurs numériques qui définit l'emplacement d'un point flottant sur plusieurs dimensions.

En langage plus courant, un vecteur est une liste de nombres, par exemple {12, 13, 19, 8, 9} : {12, 13, 19, 8, 9}. Ces nombres indiquent un emplacement dans un espace, tout comme un numéro de ligne et de colonne indique une certaine cellule dans une feuille de calcul (par ex. "B7").

Comment fonctionnent les bases de données vectorielles ?

Chaque vecteur d'une base de données vectorielle correspond à un objet ou à un élément ; il peut s'agir d'un mot, d'une image, d'une vidéo, d'un film, d'un document ou de toute autre donnée. Ces vecteurs seront probablement longs et complexes, définissant l'emplacement de chaque objet selon des dizaines, voire des centaines de dimensions.

Par exemple, une base de données vectorielle de films peut localiser des films en fonction de dimensions telles que la durée, le genre, l'année de sortie, la classification de l'orientation parentale, le nombre d'acteurs en commun, le nombre de spectateurs en commun, etc. Si ces vecteurs sont créés avec précision, les films semblables risquent d'être regroupés dans la base de données vectorielle.

Comment les bases de données vectorielles sont-elles utilisées ?

  • Similitudes et recherches sémantiques : les bases de données vectorielles permettent aux applications de relier des éléments pertinents entre eux. Les vecteurs qui sont regroupés sont similaires et probablement pertinents les uns par rapport aux autres. C'est ce qui permet aux utilisateurs de rechercher des informations pertinentes (par exemple, une recherche d'images), mais aussi aux applications de :
    • recommander des produits similaires
    • suggérer des chansons, des films ou des émissions
    • proposer des images ou des vidéos
  • L'apprentissage automatique et l'apprentissage en profondeur : la capacité à relier des éléments d'information pertinents permet de construire des modèles d'apprentissage automatique (et d'apprentissage en profondeur) capables d'effectuer des tâches cognitives complexes.
  • Grands modèles de langage (LLM) et IA générative : les LLM, comme celui sur lequel ChatGPT et Bard sont construits, s'appuient sur l'analyse contextuelle du texte rendue possible par les bases de données vectorielles. En associant des mots, des phrases et des idées entre eux, les LLM peuvent comprendre le langage humain naturel et même générer du texte.
S'inscrire
Développez, déployez et diffusez des applications de confiance

Qu'est-ce qu'une « intégration » ?

Les intégrations sont des vecteurs générés par des réseaux neuronaux .Une base de données vectorielle typique pour un modèle d'apprentissage en profondeur est composée d'intégrations. Une fois qu'un réseau neuronal est correctement ajusté, il peut générer des intégrations de manière autonome, de sorte qu'il n'est pas nécessaire de les créer manuellement. Ces intégrations peuvent ensuite être utilisées pour des recherches de similitudes, des analyses contextuelles, l'IA générative, etc.

Quels sont les avantages de l'utilisation d'une base de données vectorielle ?

Il n'est ni rapide ni rentable d'interroger un modèle d'apprentissage automatique seul, sans base de données vectorielle. Les modèles d'apprentissage automatique ne peuvent pas tout mémoriser : uniquement ce pour quoi ils ont été entraînés. Ils doivent être dans le contexte à chaque fois (c'est ainsi que fonctionnent de nombreux chatbots simples).

Transmettre à chaque fois le contexte d'une requête au modèle prend beaucoup de temps, car la plupart du temps il s'agit de transférer un grand nombre de données, et coûteux, car les données doivent être déplacées et la consommation en puissance de calcul se répète sans cesse tandis que le modèle analyse les mêmes données. Dans la pratique, la plupart des API d' apprentissage automatique sont de toute façon limitées dans la quantité de données qu'elles peuvent accepter en même temps.

C'est en cela qu'une base de données vectorielle s'avère utile : un ensemble de données ne passe par le modèle qu'une seule fois (ou périodiquement, lorsqu'il évolue), et les intégrations de ces données dans le modèle sont stockées dans une base de données vectorielle.

Cela permet d'économiser un temps de traitement considérable. Elle permet de créer des applications destinées à l'utilisateur autour de la recherche sémantique, de la classification et de la détection d'anomalies. Les résultats sont obtenus en quelques dizaines de millisecondes, sans avoir à attendre que le modèle analyse l'ensemble des données.

Pour les requêtes, les développeurs demandent au modèle d'apprentissage automatique une représentation (intégration) de cette requête. L'intégration peut ensuite être transmise à la base de données vectorielle, qui peut renvoyer des intégrations similaires : qui ont déjà été traitées par le modèle. Ces intégrations peuvent ensuite être associées à leur contenu d'origine ; qu'il s'agisse de l'URL d'une page, d'un lien vers une image ou d'un numéro de référence de produit.

En résumé : les bases de données vectorielles fonctionnent à grande échelle, elles donnent des résultats rapides et sont plus rentables que les modèles d'apprentissage automatique sans bases de données vectorielles.

L'offre Cloudflare propose-t-elle la possibilité d'utiliser des bases de données vectorielles ?

Vectorize est une base de données vectorielles distribuée à l'échelle mondiale et proposée par Cloudflare. Les applications bâties sur la plateforme Cloudflare Workers peuvent utiliser Vectorize pour interroger des documents stockés dans Workers KV, des images stockées dans R2 ou des profils utilisateur stockés dans D1. Tout comme l'environnement Workers permet aux développeurs de concevoir des applications sans devoir mettre en place une infrastructure back-end, Vectorize permet aux développeurs d'intégrer des capacités IA dans leurs applications sans devoir construire leur propre infrastructure de base de données vectorielles. Cloudflare propose également la solution Workers AI pour la création d'embeddings.

En savoir plus sur le développement d'applications pilotées par lA sur Cloudflare.