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

L'information se présente sous de nombreuses formes. Certaines informations sont non structurées, comme les documents texte, le multimédia enrichi et le son, tandis que d'autres sont structurées, comme les journaux d'applications, les tables et les graphiques. Les innovations en matière d'intelligence artificielle et de machine learning (IA/ML) nous ont permis de créer un type de modèle de machine learning : des modèles intégrés. Les intégrations encodent tous les types de données dans des vecteurs qui capturent la signification et le contexte d'une ressource. Cela nous permet de trouver des ressources similaires en recherchant des points de données voisins. Les méthodes de recherche vectorielle permettent des expériences uniques, comme prendre une photo avec votre smartphone et rechercher des images similaires. 

Les bases de données vectorielles permettent de stocker et de récupérer des vecteurs sous forme de points à forte dimensionnalité. Elles ajoutent des fonctionnalités supplémentaires pour une recherche efficace et rapide des voisins les plus proches dans l'espace à N-dimensions. Elles sont généralement alimentées par des index k-NN (k-nearest neighbor) et construites à l'aide d'algorithmes tels que le HNSW (Hierarchical Navigable Small World) et l'IVF (Inverted File Index). Les bases de données vectorielles fournissent des fonctionnalités supplémentaires telles que la gestion des données, la tolérance aux pannes, l'authentification et le contrôle d'accès, ainsi qu'un moteur de requêtes. 

Pourquoi les bases de données vectorielles sont-elles importantes ?

Vos développeurs peuvent indexer les vecteurs générés par intégration dans une base de données vectorielle. Cela leur permet de trouver des ressources similaires en interrogeant les vecteurs voisins.

Les bases de données vectorielles fournissent une méthode pour rendre opérationnels les modèles d'intégration. Le développement d'applications est plus productif grâce à des fonctionnalités de base de données telles que la gestion des ressources, les contrôles de sécurité, la capacité de mise à l'échelle, la tolérance aux pannes et la recherche efficace d'informations grâce à des langages d'interrogation sophistiqués.

Les bases de données vectorielles permettent aux développeurs de créer des applications uniques. Par exemple, vos utilisateurs pourraient prendre des photos sur leur smartphone pour rechercher des images similaires. 

Les développeurs peuvent utiliser d'autres types de modèles de machine learning pour automatiser l'extraction de métadonnées à partir de contenus tels que des images et des documents numérisés. Ils peuvent indexer les métadonnées parallèlement aux vecteurs pour permettre une recherche hybride sur des mots clés et des vecteurs. Ils peuvent également intégrer la compréhension sémantique dans le classement par pertinence afin d'améliorer les résultats de recherches.

Les innovations en matière d'intelligence artificielle (IA) générative ont introduit de nouveaux types de modèles tels que ChatGPT, qui peuvent générer du texte et gérer des conversations complexes avec des humains. Certains modèles peuvent fonctionner selon des modalités multiples ; par exemple, certains modèles permettent aux utilisateurs de décrire un paysage et de générer une image correspondant à la description.

Les modèles génératifs sont toutefois sujets à des hallucinations, qui pourraient, par exemple, amener un chatbot à induire les utilisateurs en erreur. Les bases de données vectorielles peuvent compléter les modèles d'IA générative. Elles peuvent constituer une base de connaissances externe pour les chatbots d'IA générative et contribuer à garantir qu'ils fournissent des informations fiables. 

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

Les bases de données vectorielles sont généralement utilisées pour alimenter les cas d'utilisation de la recherche vectorielle tels que la recherche visuelle, sémantique et multimodale. Plus récemment, elles ont été associées à des modèles textuels d'intelligence artificielle (IA) générative pour créer des agents intelligents qui offrent des expériences de recherche conversationnelle. Elles peuvent également empêcher les modèles d'IA générative d'halluciner, ce qui peut amener les chatbots à fournir des réponses non factuelles mais crédibles.

Le processus de développement commence par la création d'un modèle d'intégration conçu pour coder en vecteurs un corpus tel que des images de produits. Le processus d'importation de données est également appelé hydratation des données. Le développeur de l'application peut maintenant utiliser la base de données pour rechercher des produits similaires en encodant une image de produit et en utilisant le vecteur pour rechercher des images similaires.

Dans le modèle, les index k plus proches voisins (k-NN) permettent une recherche efficace des vecteurs et appliquent une fonction de distance telle que le cosinus pour classer les résultats en fonction de leur similarité. 

Qui utilise les bases de données vectorielles ?

Les bases de données vectorielles sont destinées aux développeurs qui veulent créer des expériences basées sur la recherche vectorielle. Un développeur d'applications peut utiliser des modèles open source, des outils automatisés de machine learning (ML) et des services de modèles de base pour générer des intégrations et hydrater une base de données vectorielle. Cela nécessite une expertise minimale en ML.

Une équipe de scientifiques des données et d'ingénieurs peut créer des intégrations parfaitement adaptées et les rendre opérationnelles par le biais d'une base de données vectorielle. Cela peut les aider à fournir une solution d'intelligence artificielle (IA) plus rapidement.

Les équipes d'exploitation bénéficient de la gestion des solutions comme des charges de travail de base de données familières. Elles peuvent utiliser les outils et les playbooks existants.

Quels sont les avantages des bases de données vectorielles ?

Les bases de données vectorielles permettent aux développeurs d'innover et de créer des expériences uniques basées sur la recherche vectorielle. Elles peuvent accélérer le développement d'applications d'intelligence artificielle (IA) et simplifier l'opérationnalisation des charges de travail des applications alimentées par l'IA.

Les bases de données vectorielles constituent une alternative aux index k plus proches voisins (k-NN). Ce type d'index nécessite beaucoup d'expertise et d'ingénierie supplémentaires pour l'utilisation, le réglage et l'opérationnalisation.

Une bonne base de données vectorielle fournit aux applications une base grâce à des fonctions telles que la gestion des données, la tolérance aux pannes, des fonctions de sécurité essentielles et un moteur de requêtes. Ces fonctionnalités permettent aux utilisateurs d'opérationnaliser leurs charges de travail afin de simplifier la mise à l'échelle, de maintenir une capacité de mise à l'échelle élevée et de prendre en charge les exigences en matière de sécurité.

Des fonctionnalités telles que le moteur de requêtes et les kits SDK simplifient le développement d'applications. Elles permettent également aux développeurs d'effectuer des requêtes plus avancées (comme la recherche et le filtrage) sur les métadonnées dans le cadre d'une recherche k-NN. Elles offrent également la possibilité d'utiliser des modèles hybrides de notation de la pertinence qui combinent des modèles traditionnels de fréquence des termes comme BM25 avec des scores vectoriels afin d'améliorer la recherche d'informations.

Comment AWS peut-il prendre en charge vos besoins en matière de bases de données vectorielles ?

Amazon Web Services (AWS) propose de nombreux services pour répondre à vos besoins en matière de bases de données vectorielles :

Commencez à utiliser les bases de données vectorielles sur AWS en créant un compte dès aujourd'hui.

Quels sont les défis des bases de données vectorielles ?

Les bases de données vectorielles sont confrontées aux mêmes défis que les autres technologies de bases de données. Les efforts visant à améliorer la capacité de mise à l'échelle, la précision d'approximation, les performances de latence et la rentabilité seront poursuivis.

En tant que technologie relativement naissante, de nombreuses bases de données vectorielles doivent mûrir en ce qui concerne les compétences de base des bases de données telles que la sécurité, la résilience, la prise en charge opérationnelle et la diversification de la prise en charge des charges de travail. Cela sera important à mesure que les applications d'intelligence artificielle (IA) évolueront et nécessiteront plus qu'une simple recherche vectorielle. 

Prochaines étapes avec AWS

Consultez d'autres ressources liées aux produits
Voir les offres gratuites de services de bases de données dans le cloud 
Créer un compte gratuit

Obtenez un accès instantané à l'offre gratuite AWS.

S'inscrire 
Commencez à créer sur la console

Démarrez la création dans la console de gestion AWS.

Se connecter