paint-brush
Parlez-vous vecteur ? Comprendre le langage des LLM et de l'IA générativepar@datastax
1,660 lectures
1,660 lectures

Parlez-vous vecteur ? Comprendre le langage des LLM et de l'IA générative

par DataStax4m2023/07/24
Read on Terminal Reader

Trop long; Pour lire

Lisez ceci pour mieux comprendre les vecteurs, la recherche de vecteurs et les types de bases de données qui peuvent stocker et interroger des vecteurs.
featured image - Parlez-vous vecteur ? Comprendre le langage des LLM et de l'IA générative
DataStax HackerNoon profile picture

Nous aimons dire qu'il n'y a pas d'intelligence artificielle sans données. Mais il ne peut s'agir de n'importe quel type de données. Prenez de grands modèles de langage, ou LLM - des modèles d'apprentissage en profondeur, comme le GPT-4 d'OpenAI qui peuvent générer un texte assez similaire à ce qu'un humain écrirait.


Pour que les LLM « comprennent » les mots, ils doivent être stockés sous forme de « vecteurs » de texte, un moyen de capturer la signification des mots et les modèles d'utilisation avec des nombres. Les vecteurs sont, pourrait-on dire, la lingua franca de l'IA.


Les vecteurs existent depuis un certain temps, mais avec la popularité et l'accessibilité de l'interface d'IA générative ChatGPT, ils sont devenus un sujet brûlant, en particulier parce que les applications les plus populaires que les organisations construiront avec ces technologies exploiteront leurs propres données privées pour les LLM en composant leurs propres vecteurs.


Mais comment fonctionnent-ils, comment sont-ils stockés, comment les applications les recherchent-ils et comment contribuent-ils à rendre l'IA possible ? Examinons les vecteurs, la recherche de vecteurs et les types de bases de données pouvant stocker et interroger des vecteurs.

Vecteurs

Un vecteur fait référence à une représentation numérique des attributs d'une donnée. Chaque point de données est représenté sous la forme d'un vecteur avec plusieurs valeurs numériques, où chaque valeur correspond à une caractéristique ou un attribut spécifique des données.


Lorsque vous transformez des données comme une image ou du texte en une représentation vectorielle, cela s'appelle une "incorporation".


Le choix des images incorporées pour la recherche vectorielle, par exemple, dépend de divers facteurs tels que le cas d'utilisation spécifique, les ressources disponibles et les caractéristiques de l'ensemble de données d'image.


Dans les applications de commerce électronique ou de recherche d'images de produits, il peut être avantageux d'utiliser des intégrations spécifiquement formées sur les images de produits ; la soi-disant récupération d'instance, d'autre part, implique la recherche d'instances d'objets dans une scène ou des images plus grandes.


Le stockage des données sous forme de représentations vectorielles vous permet d'effectuer diverses opérations et calculs sur les données, notamment la recherche. La sélection des attributs vectoriels est importante pour les types de questions que vous aimeriez pouvoir poser plus tard.


Par exemple, si vous ne stockez que des informations sur les couleurs d'une image avec des plantes, vous ne pouvez pas vous renseigner sur les exigences d'entretien. Vous ne pourrez trouver que des plantes visuellement similaires.

Recherche de vecteur

En représentant les données sous forme de vecteurs, vous pouvez tirer parti des techniques mathématiques pour rechercher et comparer efficacement de très grands ensembles de données sans avoir de correspondance exacte.


Des millions de profils de clients, d'images ou d'articles représentés sous forme de vecteurs - une liste de nombres qui capturent les caractéristiques clés de chaque article - peuvent être passés au peigne fin très rapidement grâce à la recherche de similarité vectorielle (ou "recherche du voisin le plus proche").


Contrairement à la recherche traditionnelle basée sur des mots-clés, qui met en correspondance des documents en fonction de l'occurrence de termes spécifiques, la recherche vectorielle se concentre sur la similarité des requêtes ; par exemple, leurs significations sémantiques sont-elles similaires ?


Cette fonctionnalité permet de rechercher des éléments similaires en fonction de leurs représentations vectorielles. Les algorithmes de recherche de similarité peuvent mesurer la "distance" ou la similarité entre les vecteurs pour déterminer à quel point ils sont étroitement liés.


Dans les systèmes de recommandation, la recherche vectorielle peut être utilisée pour trouver les éléments ou les utilisateurs les plus similaires et les plus différents en fonction de leurs préférences. Dans le traitement d'images, il permet des tâches telles que la reconnaissance d'objets et la récupération d'images.


Par exemple, Google, le plus grand moteur de recherche au monde, s'appuie sur la recherche vectorielle pour alimenter le backend de Google Image Search, YouTube et d'autres services de recherche d'informations. (En savoir plus sur la recherche vectorielle ici .)

Vecteurs et bases de données

Il existe des technologies de recherche vectorielle autonomes, comme Elasticsearch. Mais les vecteurs doivent être stockés et extraits de bases de données évolutives et rapides pour offrir la réactivité et l'échelle exigées par les applications d'IA.


Il existe aujourd'hui une poignée de bases de données qui offrent la recherche de vecteurs en tant que fonctionnalité.


Le principal avantage d'une base de données qui permet la recherche de vecteurs est la rapidité. Les bases de données traditionnelles doivent comparer une requête à chaque élément de la base de données.


En revanche, la recherche vectorielle intégrée permet une forme d'indexation et inclut des algorithmes de recherche qui accélèrent considérablement le processus, permettant de rechercher d'énormes quantités de données en une fraction du temps qu'il faudrait pour une base de données standard.


Dans un contexte commercial, cela est extrêmement précieux lorsque vous utilisez des applications d'IA pour recommander des produits similaires à des achats antérieurs ou pour identifier des transactions frauduleuses qui ressemblent à des modèles connus ou des anomalies qui semblent différentes de la norme.


Un exemple de base de données qui offre une recherche vectorielle est celle de DataStax AstraDB , qui repose sur Apache Cassandra open source, hautement évolutif et à haut débit. Cassandra a déjà fait ses preuves à grande échelle pour alimenter l'IA par des sociétés comme Netflix, Uber et Apple pour les applications d'IA.


L'ajout de la recherche vectorielle fait d'Astra DB un guichet unique pour les opérations de base de données à grande échelle.


L'intégration de la recherche vectorielle avec un magasin de données évolutif comme Astra DB permet des calculs et un classement directement dans la base de données, éliminant ainsi le besoin de transférer de grandes quantités de données vers des systèmes externes.


Cela réduit la latence et améliore les performances globales des requêtes. La recherche vectorielle peut être combinée avec d'autres index dans Astra DB pour des requêtes encore plus puissantes. (En savoir plus sur les bases de données vectorielles ici .)

L'importance croissante de la recherche vectorielle

Les vecteurs et les bases de données qui les stockent jouent un rôle important dans la recherche efficace, les calculs de similarité et l'exploration de données dans le domaine de l'IA.


Alors que les organisations étendent leurs efforts d'IA générative et cherchent à personnaliser l'expérience de l'utilisateur final avec leurs données, les représentations vectorielles et la capacité de travailler avec des bases de données évolutives et rapides qui sont activées par la recherche vectorielle deviendront de plus en plus critiques.


Par le Dr Charna Parkey, DataStax