Qu'est-ce que les Vector Embeddings et les bases de données vectorielles ?
Pourquoi Rememberizer est plus qu'une simple base de données ou un moteur de recherche par mots-clés.
Last updated
Pourquoi Rememberizer est plus qu'une simple base de données ou un moteur de recherche par mots-clés.
Last updated
Rememberizer utilise des embeddings vectoriels dans des bases de données vectorielles pour permettre des recherches de similarité sémantique au sein des sources de connaissances des utilisateurs. C'est une forme de récupération d'information fondamentalement plus avancée et nuancée que de simplement rechercher des mots-clés dans le contenu via un moteur de recherche ou une base de données.
Dans leur forme la plus avancée (comme utilisée par Rememberizer), les embeddings vectoriels sont créés par des modèles de langage avec des architectures similaires aux LLMs (Large Language Models) qui sous-tendent les modèles gpt d'OpenAI et le service ChatGPT, ainsi que des modèles/services de Google (Gemini), Anthropic (Claude), Facebook (LLama 2) et d'autres. Pour cette raison, il est naturel d'utiliser des embeddings vectoriels pour découvrir des connaissances pertinentes à inclure dans le contexte des invites des modèles d'IA. Les technologies sont complémentaires et quelque peu équivalentes. Pour cette raison, la plupart des fournisseurs de LLMs en tant que service produiront également des embeddings vectoriels en tant que service (par exemple : un blog de Together AI ou un autre blog d'OpenAI).
À quoi ressemble un embedding vectoriel ? Considérons une coordonnée (x,y) en deux dimensions. Si elle représente une ligne de l'origine à ce point, nous pouvons la considérer comme une ligne avec une direction, en d'autres termes un vecteur en deux dimensions. Dans notre contexte, un embedding vectoriel sera une liste de quelque chose comme 768 nombres représentant un vecteur dans un espace à 768 dimensions. En fin de compte, cette liste de nombres peut représenter des poids entre zéro et un dans un modèle Transformer qui définissent le sens d'une phrase telle que "Un éclair surgissant de nulle part." C'est fondamentalement la même représentation sous-jacente de la signification utilisée dans GPT-4 par exemple. En conséquence, nous pouvons nous attendre à ce qu'un bon embedding vectoriel permette la même compréhension apparente brillante que nous voyons dans les modèles de langage IA modernes.
Il convient de noter que les embeddings vectoriels peuvent être utilisés pour représenter plus que du texte, mais aussi d'autres types de données telles que des images ou du son. Et avec un modèle correctement entraîné, on peut comparer à travers les médias, de sorte qu'un embedding vectoriel sur un bloc de texte peut être comparé à une image, ou inversement. Aujourd'hui, Rememberizer permet des recherches uniquement dans le composant texte des documents et des connaissances des utilisateurs. Mais la recherche texte-image et image-texte est sur la feuille de route. Google utilise des embeddings vectoriels pour alimenter sa recherche textuelle (texte-à-texte) et également sa recherche d'images (texte-à-image) (référence). Facebook a envisagé d'utiliser des embeddings pour la recherche sur son réseau social (référence). Snapchat utilise des embeddings vectoriels pour comprendre le contexte afin de servir la bonne annonce au bon utilisateur au bon moment (référence).
Pour comprendre en profondeur comment fonctionnent les embeddings vectoriels et les bases de données vectorielles, commencez par l'aperçu de Hugging Face. Pinecone (une base de données d'embeddings vectoriels en tant que service) a également un bon aperçu.
Une autre excellente source pour comprendre la recherche et les connaissances dans les vecteurs est le document et le code de Meta/Facebook pour la bibliothèque FAISS. "FAISS : Une bibliothèque pour la recherche de similarité efficace et le clustering de vecteurs denses" par Johnson, Douze et Jégou (2017) : FAISS fournit un aperçu complet d'une bibliothèque conçue pour la recherche de similarité efficace et le clustering de vecteurs denses. Il discute des méthodes pour optimiser les processus d'indexation et de recherche dans des bases de données vectorielles à grande échelle, y compris celles basées sur la quantification de produit. Le meilleur endroit pour en savoir plus à ce sujet est la documentation ainsi que le code sur Github.
Assurez-vous de considérer le document de juin 2017 qui a lancé la révolution genAI (intelligence artificielle générative), "Attention Is All You Need." (référence) qui introduit l'architecture Transformer derrière les modèles GPT et tous les LLMs qui en découlent d'OpenAI, Google, Meta (Facebook), Nvidia, Microsoft, IBM, Anthropic, Mistral, Salesforce, xAI (Elon Musk), Stability AI, Cohere, et de nombreuses autres sources ouvertes. Considérez également, "Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality" (référence 1998, référence 2010). Ces documents discutent de la théorie derrière la recherche des plus proches voisins approximatifs (ANN) dans des espaces de haute dimension, un concept central dans les bases de données vectorielles pour récupérer efficacement des éléments similaires.
Une chose passionnante à propos de ces modèles basés sur les Transformers est que plus ils utilisaient de données, plus ils devenaient grands (plus de paramètres), meilleure était leur compréhension et leurs capacités. OpenAI a d'abord remarqué cela lorsqu'ils ont entraîné leur modèle GPT-2. Réalisant ce potentiel, ils ont immédiatement cessé d'être une organisation à but non lucratif orientée vers l'open-source et sont devenus une entreprise à but lucratif fermée axée sur la production de GPT-3, GPT-4 et son célèbre front-end, ChatGPT. Fait intéressant, Google détient le brevet sur cette technologie -- ce sont leurs chercheurs qui se cachent derrière les Transformers et Attention Is All You Need (référence). ChatGPT a un avis légèrement différent sur ma caractérisation, écrivant que "Le récit autour de la transition d'OpenAI d'une organisation à but non lucratif orientée vers l'open-source à une entité à but lucratif fermée simplifie une évolution complexe. Le changement d'OpenAI a inclus un accent sur la sécurité et le développement responsable de l'IA aux côtés des aspects de commercialisation. Il convient également de noter qu'OpenAI, tout en ayant priorisé le développement de technologies propriétaires comme GPT-3 et au-delà, continue de s'engager avec la communauté de recherche à travers des publications et des collaborations."
Les modèles de langage BERT sont basés sur des Transformers et sont souvent utilisés dans des moteurs d'embeddings vectoriels avancés. Cela a été introduit dans le document de 2018 "BERT : Pré-entraînement de Transformers bidirectionnels profonds pour la compréhension du langage" (référence). BERT (Bidirectional Encoder Representations from Transformers) a marqué un changement significatif vers des modèles pré-entraînés qui peuvent être affinés pour un large éventail de tâches NLP. Son utilisation innovante de l'entraînement bidirectionnel et de l'architecture Transformer a établi de nouvelles normes de performance des modèles à travers de nombreux benchmarks. Des méthodes innovantes antérieures pour créer des embeddings vectoriels ont été introduites par GloVe (2014, Stanford), Word2Vec (2013, Google). "GloVe : Vecteurs globaux pour la représentation des mots" (référence) : Le document GloVe (Global Vectors) a proposé un nouveau modèle de régression log-bilinéaire global pour l'apprentissage non supervisé des représentations de mots, combinant les avantages des deux principales approches d'embedding : la factorisation matricielle globale et les méthodes de fenêtre de contexte local. "Estimation efficace des représentations de mots dans l'espace vectoriel" (référence) : Ce document a introduit Word2Vec, une approche révolutionnaire pour générer des embeddings de mots. Les modèles Word2Vec, y compris les modèles Continuous Bag of Words (CBOW) et Skip-Gram, sont essentiels dans l'évolution des embeddings de mots.