La recherche vectorielle est une technique puissante utilisée en intelligence artificielle (IA) et en apprentissage automatique (ML) pour trouver des éléments qui sont sémantiquement similaires, plutôt que de simplement correspondre à des mots-clés. Elle fonctionne en représentant les points de données - tels que les documents textuels, les images, les clips audio ou les profils d'utilisateurs - sous forme de vecteurs numériques appelés embeddings. Ces vecteurs capturent la signification ou les caractéristiques sous-jacentes des données. La recherche vectorielle trouve ensuite les vecteurs d'un ensemble de données qui sont "les plus proches" d'un vecteur d'interrogation donné dans un espace à haute dimension, en utilisant généralement des mesures de distance telles que la similarité cosinusoïdale ou la distance euclidienne. Cela permet une recherche plus nuancée et contextuelle par rapport aux méthodes traditionnelles.
Concepts et technologies clés
- Vector Embeddings : Représentations numériques capturant la signification sémantique. Les modèles les apprennent au cours de la formation sur de grands ensembles de données comme ImageNet.
- Bases de données vectorielles : Des systèmes comme Pinecone, Weaviate, Milvus et Chroma DB sont conçus pour stocker et interroger des vecteurs.
- Mesures de similarité : Les fonctions mathématiques (par exemple, la similarité cosinusienne, la distance euclidienne) utilisées pour mesurer la "proximité" entre les vecteurs.
- Voisin le plus proche (ANN) : Algorithmes qui trouvent efficacement les voisins les plus proches, ce qui est crucial pour les performances à grande échelle. Des bibliothèques comme Faiss (Facebook AI Similarity Search) fournissent des implémentations.
- Réduction de la dimensionnalité : Des techniques comme l'ACP (analyse en composantes principales) peuvent parfois être utilisées pour réduire les dimensions des vecteurs, ce qui peut accélérer la recherche au prix d'une certaine perte d'informations.
Applications dans le monde réel
La recherche vectorielle permet une large gamme d'applications intelligentes :
- Recherche sémantique: Les moteurs de recherche (comme Google Search) ou les bases de connaissances internes permettent de comprendre l'intention de la requête au-delà des mots-clés. Par exemple, une recherche sur "idées de dîners sains" peut renvoyer des recettes de salades, de poulet grillé et de bols de quinoa, même si ces mots exacts ne figurent pas dans les documents, parce que leurs vecteurs d'intégration sont proches dans leur signification.
- Systèmes de recommandation: Des plateformes comme Netflix ou Spotify utilisent la recherche vectorielle pour trouver des éléments (films, chansons, produits) similaires à ceux qu'un utilisateur a aimés ou avec lesquels il a interagi précédemment, en se basant sur les similitudes de leurs représentations vectorielles.
- Reconnaissance et recherche d'images: Trouver des images visuellement similaires (recherche d'images inversées) ou identifier des produits dans des photos pour le commerce électronique. Il s'agit d'un domaine d'application essentiel de la vision par ordinateur (VA).
- Détection d'anomalie: Identifier les points de données inhabituels (par exemple, les transactions frauduleuses, les intrusions dans le réseau) dont les vecteurs se situent loin des grappes de vecteurs de données normales.
- Traitement du langage naturel (NLP): Améliorer les applications telles que la réponse aux questions, la détection des doublons et le regroupement des données textuelles en fonction du sujet ou du sentiment.
- Génération améliorée par récupération (RAG) : Utilisé dans les grands modèles de langage (LLM) pour récupérer le contexte pertinent d'une base de connaissances avant de générer une réponse, ce qui améliore l'exactitude des faits et réduit les hallucinations.
Recherche vectorielle vs. recherche par mot-clé
La principale différence réside dans la façon dont la similarité est déterminée :
- Recherche par mot-clé : Correspond à des mots ou des phrases exacts en utilisant des techniques telles que les index inversés. Elle a du mal avec les synonymes, le contexte et les variations de langage.
- Recherche vectorielle : Les correspondances sont basées sur la similarité sémantique capturée dans les enchâssements de vecteurs. Elle peut trouver des résultats pertinents même si les mots-clés exacts ne correspondent pas, en comprenant l'intention ou le concept sous-jacent.
Si la recherche vectorielle offre des résultats plus nuancés, elle nécessite d'importantes ressources informatiques pour la génération d'embedded et l'indexation, souvent gérées efficacement par des plateformes comme Ultralytics HUB pour la gestion des modèles et des ensembles de données. Les systèmes modernes combinent souvent la recherche par mot-clé et la recherche vectorielle (recherche hybride) pour tirer parti des atouts de chaque approche. Tu peux explorer divers tutoriels et guides pour comprendre comment les concepts connexes tels que le déploiement de modèles et les mesures de performance s'appliquent à ces systèmes.
Comment fonctionne la recherche vectorielle
Le processus comprend généralement plusieurs étapes clés :