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.
Cet article s'articule autour des points suivants :
Contenu associé
Qu'est-ce qu'une « intégration » ?
Qu'est-ce que l'apprentissage automatique ?
Qu’est-ce qu’un grand modèle linguistique (LLM) ?
Qu'est-ce que l'intelligence artificielle (IA) ?
IA prédictive
Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !
Copier le lien de l'article
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).
Dans cette base de données vectorielle simple, les documents en haut à droite sont probablement similaires les uns par rapport aux autres.
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").
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.
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.
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.
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.