Base de données vectorielle
Découvrez comment les bases de données vectorielles gèrent les intégrations à haute dimension pour la recherche sémantique. Apprenez à optimiser les applications d'IA avec Ultralytics et la recherche par similarité.
Une base de données vectorielle est un système de stockage spécialisé conçu pour gérer, indexer et interroger des données vectorielles à haute dimension,
souvent appelées « embeddings ». Contrairement à une
base de données relationnelle traditionnelle, qui
organise les données structurées en lignes et en colonnes pour permettre une correspondance exacte des mots-clés, une base de données vectorielle est optimisée pour la
recherche sémantique. Elle permet aux systèmes intelligents de trouver des points de données qui sont conceptuellement similaires plutôt qu'
identiques. Cette capacité est fondamentale pour l'infrastructure moderne de l'
intelligence artificielle (IA)
, car elle permet aux applications de traiter et de comprendre des
données non structurées, telles que des images, des fichiers audio, des vidéos et des
textes, en analysant les relations mathématiques qui existent entre elles. Ces bases de données servent de mémoire à long terme pour les
agents intelligents, facilitant des tâches telles que la recherche visuelle et les recommandations personnalisées.
Fonctionnement des bases de données vectorielles
La fonction d'une base de données vectorielle est centrée sur le concept d'espace vectoriel, où les éléments de données sont représentés sous forme de points dans un
système de coordonnées multidimensionnel. Le processus commence par l'
extraction de caractéristiques, où un
modèle d'apprentissage profond (DL) convertit les entrées brutes en
vecteurs numériques.
-
Ingestion : les données sont traitées par un réseau neuronal, tel que le très performant
YOLO26, afin de générer des intégrations. Ces vecteurs compressent la
signification sémantique de l'entrée en une liste dense de nombres à virgule flottante.
-
Indexation : afin de garantir une faible
latence d'inférence lors de la récupération, la
base de données organise ces vecteurs à l'aide d'algorithmes spécialisés. Des techniques telles que
Hierarchical Navigable Small World (HNSW) ou
Inverted File Index (IVF) permettent au système de naviguer efficacement parmi des milliards de vecteurs
sans avoir à analyser chaque entrée.
-
Requête : lorsqu'un utilisateur soumet une requête de recherche (par exemple, une image d'un modèle de chaussure spécifique), le système
convertit la requête en un vecteur et calcule sa proximité avec les vecteurs stockés à l'aide de mesures de distance telles que la
similarité cosinus ou la
distance euclidienne.
-
Récupération : la base de données renvoie les « voisins les plus proches », qui représentent les résultats les plus
pertinents d'un point de vue contextuel.
Python suivant montre comment générer des représentations à l'aide d'un modèle standard. ultralytics modèle,
qui est l'étape préalable au remplissage d'une base de données vectorielle.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image file
# The 'embed' method creates the vector representation needed for the database
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Output the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")
Applications concrètes
Les bases de données vectorielles sont le moteur de nombreuses applications avancées de
vision par ordinateur (CV) et de
traitement du langage naturel (NLP)
utilisées aujourd'hui dans les environnements d'entreprise.
-
Génération augmentée par la récupération (RAG) : à l'ère de l'
IA générative, les bases de données vectorielles permettent aux
modèles linguistiques à grande échelle (LLM) d'accéder à une
vaste bibliothèque de données privées et actualisées. En récupérant les documents pertinents en fonction de la signification sémantique de la requête d'un utilisateur,
le système réduit les
hallucinations dans les LLM et fournit des
réponses factuelles et adaptées au contexte.
-
Moteurs de recommandation visuelle : dans le
domaine de l'IA appliquée au commerce de détail, les plateformes utilisent des bases de données vectorielles pour
alimenter les fonctionnalités « acheter des styles similaires ». Si un utilisateur consulte une robe d'été spécifique, le système interroge la
base de données pour trouver d'autres images de produits présentant des intégrations visuelles similaires (motifs, coupes et couleurs correspondants), offrant ainsi une
meilleure expérience utilisateur qu'un simple
filtrage basé sur des balises.
-
Détection des anomalies et des menaces : les systèmes de sécurité exploitent les bases de données vectorielles pour la
détection des anomalies. En stockant les intégrations des
comportements « normaux » ou du personnel autorisé, le système peut instantanément signaler les valeurs aberrantes qui ne correspondent pas au
cluster attendu dans l'espace vectoriel, améliorant ainsi la
sécurité des données et la surveillance des installations.
Différencier des concepts connexes
Pour mettre en œuvre efficacement ces systèmes, il est utile de distinguer la base de données vectorielle des technologies connexes dans le
domaine des
opérations d'apprentissage automatique (MLOps)
.
-
Base de données vectorielle vs recherche vectorielle:
La recherche vectorielle est l'action ou le processus algorithmique qui consiste à trouver des vecteurs similaires (le « comment »). Une
base de données vectorielle est une infrastructure robuste conçue pour stocker les données, gérer l'index et effectuer ces
recherches à grande échelle (le « où »).
-
Base de données vectorielle vs magasin de caractéristiques:
Un magasin de caractéristiques est un référentiel centralisé permettant de gérer les caractéristiques utilisées dans l'entraînement et l'inférence des modèles, garantissant ainsi leur
cohérence. Bien qu'il traite les données de caractéristiques, il n'est pas principalement optimisé pour les requêtes de recherche basées sur la similarité
qui définissent une base de données vectorielle.
-
Base de données vectorielle vs lac de données: un lac de données
stocke de grandes quantités de données brutes dans leur format natif. Une base de données vectorielle stocke les représentations mathématiques traitées
(intégrations) de ces données, optimisées spécifiquement pour la
recherche par similarité.
Intégration avec les flux de travail modernes de l'IA
La mise en œuvre d'une base de données vectorielle implique souvent un pipeline dans lequel des modèles tels que l'efficace
YOLO26 font office de moteur d'intégration. Ces modèles traitent les
données visuelles à la périphérie ou dans le cloud, et les vecteurs qui en résultent sont transférés vers des solutions telles que
Pinecone, Milvus ou
Qdrant.
Pour les équipes qui cherchent à rationaliser l'ensemble de ce cycle de vie, de la curation des données et l'annotation automatique à la formation et au déploiement des modèles
, la Ultralytics offre un environnement complet
. En intégrant la formation des modèles à des stratégies de déploiement efficaces, les développeurs peuvent s'assurer que les
intégrations qui alimentent leurs bases de données vectorielles sont précises, ce qui se traduit par des résultats de recherche de meilleure qualité et des agents IA plus intelligents
.