Jeffrey Erickson | Responsable de la stratégie de contenu | 29 octobre 2024
Les vecteurs, un type de données moins connu, ont récemment attiré l'attention en tant que catalyseur de l'IA générative. Mais les vecteurs et les bases de données capables de les stocker et de les analyser attendent en coulisses depuis de nombreuses années. Ils sont utilisés dans la cartographie et l'analyse géospatiales pour la planification urbaine, la logistique des transports et l'analyse environnementale. Plus récemment, des vecteurs ont été utilisés dans les moteurs de recommandation pour les produits de vente au détail, ainsi que pour les sites de diffusion de musique et de vidéos.
L'IA générative s'appuie sur ces cas d'utilisation et ouvre la voie à de nouvelles innovations à l'aide de vecteurs et de bases de données vectorielles, ainsi que de technologies complémentaires, y compris le retrieval-augmented generation (RAG).
Un vecteur est simplement un ensemble de nombres qui représente les caractéristiques d'un objet, que cet objet soit un mot, une phrase, un document, une image ou un fichier vidéo ou audio. Les vecteurs sont nécessaires, car la comparaison ou la recherche de ce type de contenu non structuré est complexe pour les ordinateurs. La comparaison ou la recherche de vecteurs, en revanche, est beaucoup plus facile et repose sur des mathématiques bien comprises.
Les vecteurs sont stockés dans une base de données avec les objets de données sur lesquels ils sont basés, ou avec un lien vers ces objets. Les vecteurs mathématiquement proches les uns des autres ont tendance à décrire des objets ayant des caractéristiques similaires, de sorte que vous pouvez rapidement les comparer ou les rechercher et renvoyer des objets similaires. Vous pouvez également former un vecteur de requête avec seulement certaines fonctionnalités identifiées. Une recherche renvoie des objets avec des fonctionnalités similaires à celles spécifiées dans le vecteur de requête.
Une base de données vectorielle est une base de données qui peut stocker et gérer de manière native des incorporations vectorielles et gérer les données non structurées qu'elles décrivent, comme des documents, des images, des vidéos ou des fichiers audio.
Face à l'importance de la recherche vectorielle pour l'IA générative, le secteur de la technologie a engendré de nombreuses bases de données vectorielles spécialisées et autonomes, que les entreprises peuvent ajouter à leurs infrastructures de données. Pendant ce temps, les versions des favoris établis, comme Oracle Database et la base de données open source MySQL, ont incorporé des vecteurs en tant que type de données natif avec de nombreux autres types de données. Cela permet de rendre les recherches sur une combinaison de données commerciales et sémantiques plus rapides et précises, car les deux types de données sont disponibles dans une seule base de données. Cette approche évite également les problèmes de cohérence des données introduits lors de l'utilisation d'une base de données vectorielle distincte et spécialisée en plus de la base de données principale de l'entreprise.
Les index vectoriels et les bases de données vectorielles sont conçus pour stocker et récupérer efficacement des vecteurs, c'est-à-dire des ensembles de nombres représentant les caractéristiques d'un objet, comme un document, une image ou un fichier vidéo ou audio. Cependant, ils présentent des caractéristiques et des cas d'utilisation différents. Les index vectoriels sont principalement utilisés pour la recherche de « voisin le plus proche », qui consiste à trouver le vecteur le plus proche d'un vecteur de requête donné. Les index sont parfaits pour les applications qui nécessitent des recherches de similarité rapides et précises, telles qu'un moteur de recommandation. En revanche, les bases de données vectorielles sont l'endroit où les organisations stockent des vecteurs pour l'extraction et l'analyse. Une base de données vectorielle d'entreprise offre des fonctionnalités utiles au-delà de la recherche de voisin le plus proche, comme le stockage de métadonnées, la gestion des versions de données et l'intégration à d'autres systèmes.
La principale différence entre un index vectoriel et une base de données vectorielle est que les index vectoriels stockent des informations sur les attributs de données non structurées, comme du texte, des images ou des fichiers audio. Cette information est représentée par un ensemble de nombres appelé vecteur. L'index vectoriel contient ces données et les « indexe » de manière à aider une base de données à identifier et à mettre en correspondance rapidement des objets.
Une base de données vectorielle héberge ces index et les objets qu'ils décrivent. Toutefois, la façon dont une base de données organise les index vectoriels et les objets de données varie. Les bases de données vectorielles, telles qu'Oracle Database, séparent le stockage des objets de données de la façon dont les données et les vecteurs sont recherchés. Cela leur permet de combiner la puissance d'interrogation mature de SQL pour les métadonnées et les données d'entreprise à jour avec la vitesse et la pertinence contextuelle de la recherche vectorielle. Cette approche signifie, par exemple, qu'une recherche vectorielle de produits de détail pertinents peut également fournir des prix et une disponibilité à jour.
Points à retenir
Au lieu de prendre en charge les coûts et les efforts pour affiner les modèles d'IA générative, les entreprises organisent les données que les LLM utilisent pour générer leurs résultats. Elles utilisent des bases de données vectorielles qui contiennent des informations d'entreprise à jour. Cette approche architecturale, appelée retrieval-augmented generation (RAG), permet à un LLM entraîné avec de grandes quantités de données généralisées d'améliorer sa réponse en utilisant des données privées trouvées dans une base de données vectorielle.
Par exemple, si un chatbot alimenté par un LLM pouvait accéder aux enregistrements client et aux communications par e-mail d'un détaillant au lieu de messages génériques, il pourrait fournir des réponses plus utiles et personnalisées à des questions telles que « Ma commande a-t-elle été expédiée ? ».
Le RAG peut également améliorer la fiabilité des modèles d'IA générative en citant les documents de la base de données vectorielle qui ont informé son résultat.
Sans surprise, l'utilisation de bases de données optimisées pour le stockage et l'analyse des vecteurs augmente. Autrefois utilisées principalement pour la cartographie et l'analyse des données, les bases de données vectorielles sont devenues une technologie essentielle pour les moteurs de recommandation couramment exploités par les détaillants et les fournisseurs de streaming de musique et de vidéo les plus populaires, ainsi que par les assistants virtuels, la reconnaissance de modèles biométriques, la détection d'anomalies, etc. Aujourd'hui, les bases de données vectorielles ont trouvé une utilisation nouvelle et spectaculaire : le stockage de grands volumes de données non structurées accessibles pour informer les résultats des modèles d'IA générative.
Une tendance croissante concerne les bases de données établies, telles que MySQL et Oracle Database, pour intégrer des données vectorielles en tant que type de données natif aux côtés du reste des données d'une organisation, comme JSON, les graphiques, les données spatiales et les données relationnelles. Cette convergence évite de déplacer les données vers une base de données distincte pour les opérations d'IA générative, ce qui simplifie le processus et conserve les données précieuses dans des référentiels sécurisés.
Face à la croissance des cas d'utilisation de l'IA générative, il existe de nombreuses nouvelles bases de données vectorielles sur le marché, en plus des bases de données NoSQL et relationnelles établies qui ont ajouté la gestion des types de données vectorielles.
Les bases de données vectorielles stockent et traitent les données en tant que vecteurs, qui sont des représentations mathématiques des caractéristiques des objets dans l'espace multidimensionnel. Les types de données complexes, comme les images, l'audio, la vidéo et les données de capteur, peuvent ainsi être stockés et interrogés efficacement, ce qui rend les vecteurs idéaux pour les cas d'utilisation tels que les systèmes de recommandation, le traitement du langage naturel et la reconnaissance d'images.
Les opérations se déroulent en plusieurs étapes :
Les bases de données vectorielles peuvent être classées en différents types, par structure de stockage, par exemple en colonnes, ou classées en fonction de leur implémentation, telles que les bases de données en mémoire. Chaque type présente des avantages ; le type que vous sélectionnez doit dépendre de vos besoins et cas d'emploi spécifiques.
Une base de données en colonnes stocke les données dans des colonnes et les regroupe sur un disque. Cette disposition accélère l'analyse des données, car l'analyse implique généralement le filtrage et la combinaison des données des colonnes de table. Les bases de données peuvent également stocker des enregistrements au format ligne, ce qui est utile pour les transactions dans lesquelles vous mettez à jour un seul élément de l'enregistrement. Pour l'analyse des données, cependant, une base de données en colonnes permet aux analystes d'analyser très rapidement n'importe quelle colonne comportant des milliers ou des millions d'enregistrements.
Une base de données de stockage de documents, ou orientée document, est un programme et un système de stockage de données qui gère, extrait et stocke les informations orientées document. Les bases de données de documents stockent les données dans des documents flexibles de type JSON, adaptés à des structures de données variées et dynamiques. Elles diffèrent des bases de données relationnelles, qui utilisent des tables pour organiser les données avec un schéma fixe.
L'analyse de graphes est le processus d'analyse des données dans un format de graphe, utilisant des points de données comme nœuds et des relations comme arêtes. L'examen des données de cette façon peut vous aider à découvrir des connexions et des relations qui n'étaient pas évidentes auparavant. L'analyse de graphes nécessite une base de données capable de prendre en charge les formats de graphes. Il peut s'agir d'une base de données orientée graphe dédiée ou d'une base de données convergée prenant en charge plusieurs modèles de données, y compris un graphique.
Les bases de données en mémoire (In-memory databases) stockent et manipulent les données au niveau mémoire d'une application plutôt que sur un disque de stockage. Ce type de structure est souvent mis en correspondance avec la fonctionnalité de stockage en colonnes et les plans de requête vectorisés pour accélérer les requêtes analytiques. Ce type de magasin de données est idéal pour soutenir des opérations ultra-rapides dans les télécommunications mondiales et au sein des entreprises qui doivent prendre des décisions basées sur des données en temps réel.
Les magasins de valeurs-clés, parfois nommés bases de données de valeurs-clés, sont un moyen rapide de stocker et d'interroger des données qui changent souvent, telles que des éléments dans une boutique en ligne. Le magasin de valeurs de clé est une base de données de type NoSQL qui utilise une valeur de clé pour identifier un enregistrement spécifique en vue de l'interrogation ou de la mise à jour.
Une base de données spatiale stocke et gère des données spatiales, qui représentent des informations sur l'emplacement physique et les propriétés géométriques des objets dans l'espace. Pour ce faire, elle utilise des techniques d'indexation et des opérations d'interrogation. Les bases de données spatiales sont utilisées pour la cartographie et l'analyse en ligne, ainsi que pour les opérations logistiques d'expédition.
Une base de données de séries temporelles est utilisée pour stocker et analyser efficacement les données horodatées, chaque point de données étant associé à un horodatage ou à un intervalle de temps spécifique. Ces bases de données sont couramment utilisées dans les systèmes de surveillance informatique qui dépendent de l'analyse des journaux et de la finance.
Les bases de données vectorielles améliorent les grands modèles de langage commerciaux ou open source en leur donnant accès à des informations à jour fournies par une organisation ou une entreprise locale. Cela permet de rendre la sortie du LLM plus pertinente et personnalisée pour les personnes associées à cette organisation.
Les bases de données vectorielles sont utilisées par diverses applications et organisations qui traitent de grandes quantités de données spatiales et géométriques, comme dans les secteurs du retail et de la logistique et pour les systèmes qui pilotent des véhicules autonomes. À présent, les entreprises qui explorent l'IA avancée et le machine learning adoptent également les bases de données vectorielles. Les modèles d'IA générative, par exemple, s'appuient sur des bases de données vectorielles pour améliorer leurs résultats en utilisant des données locales et à jour.
Voici d'autres cas d'utilisation spécifiques :
Les cas d'utilisation des bases de données vectorielles sont aussi variés que les organisations et les applications qui en dépendent. En plus de l'analyse de données en temps réel, des systèmes financiers et des moteurs de recommandation, les bases de données vectorielles sont optimisées pour gérer les structures de données complexes couramment requises pour des tâches telles que la reconnaissance d'images et le traitement du langage naturel.
En stockant et en traitant efficacement les données, les bases de données vectorielles permettent aux entreprises d'exploiter des structures de données complexes pour un large éventail d'applications, notamment les suivantes :
Les bases de données vectorielles offrent de nombreux avantages, notamment une recherche rapide de similarité. Elles sont optimisées pour des recherches efficaces auprès des voisins les plus proches, permettant une récupération rapide d'éléments similaires, même dans des ensembles de données volumineux. Elles sont donc idéales pour les applications et les secteurs qui nécessitent un traitement et une analyse en temps réel des données non structurées, ainsi que pour les cas d'utilisation émergents de l'IA générative.
Les autres avantages sont les suivants :
Que vous utilisiez l'IA générative ou quasiment toute autre opération utilisant des vecteurs, Oracle peut vous aider.
Oracle Database, la base de données d'entreprise la plus populaire au monde, fournit une plateforme de données unique pour les vecteurs et toutes vos données d'entreprise. Exploitez sans effort la capacité de recherche de similarité pour les données de votre entreprise sans avoir à superviser ni à synchroniser plusieurs bases de données. AI Vector Search vous permet d'effectuer des recherches sur des données structurées et non structurées en comprenant leur sémantique ou leur signification, ainsi que leurs valeurs.
La combinaison de données relationnelles, de documents JSON, de graphiques, de données géospatiales, de texte et de vecteurs dans une base de données unique vous permet de créer rapidement de nouvelles fonctionnalités dans vos applications. AI Vector Search dans Oracle Database peut également être utilisé dans un pipeline RAG avec n'importe quel service d'IA générative. En outre, le service de base de données HeatWave MySQL d'Oracle gère les vecteurs de manière native pour prendre en charge la recherche vectorielle et d'autres cas d'utilisation. Par exemple, vous pouvez l'utiliser avec le service RAG dans Oracle Cloud Infrastructure (OCI) pour ajouter une interface d'IA générative à vos documents propriétaires. Vous bénéficiez ainsi d'une IA experte dans les données opérationnelles de votre entreprise.
Que vous utilisiez des vecteurs pour l'analyse des données, les applications géospatiales, les recommandations de produits ou en tant que technologie de soutien pour l'IA générative, Oracle peut vous aider. Autonomous Database, le fleuron d'Oracle, et Oracle HeatWave MySQL gèrent les vecteurs en tant que type de données natif avec de nombreux autres types de données, pour une expérience de développement plus simple. Les deux bases de données sont exécutées sur Oracle Cloud Infrastructure. OCI est conçu avec les derniers processeurs et l'architecture supercluster pour gérer efficacement les charges de travail d'IA les plus exigeantes, y compris l'IA générative, la vision par ordinateur et les analyses prédictives. Que vous utilisiez Oracle Database ou une base de données MySQL open source, vous pouvez commencer à tirer parti de la recherche vectorielle dès aujourd'hui.
À l'ère de l'IA générative, les bases de données vectorielles sont devenues plus importantes que jamais pour les entreprises. Alors que de plus en plus d'équipes de développement cherchent à stocker et à gérer le type de données vectorielles, elles auront une décision à prendre : intégrer une base de données vectorielle spécialisée et spécialement conçue, ou utiliser des bases de données multimodèles, telles qu'Oracle Database, qui prennent en charge non seulement les vecteurs, mais également de nombreux autres types de données.
Les bases de données vectorielles sont essentielles pour les cas d'utilisation passionnants de l'IA, y compris les chatbots, qui révolutionnent le service client et les algorithmes qui transforment les soins de santé. Découvrez comment les entreprises exploitent dès à présent le pouvoir des vecteurs.
Quand utiliser une base de données vectorielle ?
Une base de données vectorielle peut être utilisée pour une grande variété de cas d'utilisation, y compris des applications géospatiales, telles que la logistique d'expédition ou la recherche environnementale, des recommandations pour les options de vente au détail ou de divertissement en ligne, ou, plus récemment, comme entrepôt principal par les organisations individuelles, pour les données qui prennent en charge l'IA générative.
Netflix utilise-t-il des bases de données vectorielles ?
Netflix a annoncé utiliser des bases de données vectorielles pour alimenter ses moteurs de recommandation populaires. L'entreprise applique des incorporations vectorielles à chaque élément de son catalogue et la base de données vectorielle permet de rechercher des titres similaires en temps réel.