Qu'est-ce que les Vector Embeddings et les Vector Databases ?

Pourquoi Rememberizer est plus qu'une simple base de données ou un moteur de recherche par mots-clés.

Rememberizer utilise des embeddings vectoriels dans les bases de données vectorielles pour permettre des recherches de similarité sémantique au sein des sources de connaissances des utilisateurs. Il s'agit d'une forme de récupération d'information beaucoup plus avancée et nuancée que la simple recherche de mots-clés dans du contenu via un moteur de recherche ou une base de données.

Dans leur forme la plus avancée (comme celle utilisée par Rememberizer), les embeddings vectoriels sont créés par des modèles de langage dont les architectures sont similaires aux LLM (Large Language Models) qui soutiennent les modèles gpt d'OpenAI et le service ChatGPT ainsi que les modèles/services de Google (Gemini) , Anthropic (Claude), Facebook (LLama 2) et d'autres. Pour cette raison, il est naturel d'utiliser les embeddings vectoriels pour découvrir les connaissances pertinentes à inclure dans le contexte des prompts des modèles d'IA. Les technologies sont complémentaires et quelque peu équivalentes. C'est pourquoi la plupart des fournisseurs de LLM 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).

A quoi ressemble un embedding vectoriel ? Pensez à une coordonnée (x,y) en deux dimensions. Si elle représente une ligne partant de l'origine jusqu'à ce point, nous pouvons la considérer comme une ligne ayant une direction, en d'autres termes un vecteur en deux dimensions. Dans notre contexte, un embedding vectoriel sera une liste de quelque 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éfinit le sens dans une phrase telle que "Un éclair de lumière sorti de nulle part." C'est fondamentalement la même représentation de sens utilisée dans GPT-4 par exemple. En conséquence, nous pouvons nous attendre à ce qu'un bon embedding vectoriel permette la même brillante compréhension apparente que nous voyons dans les modernes modèles de langage d'IA.

Il convient de noter que les embeddings vectoriels peuvent être utilisés pour représenter plus que du simple texte, mais aussi d'autres types de données comme des images ou des sons. Et avec un modèle correctement formé, on peut comparer entre les médias, de sorte qu'un embedding vectoriel sur un bloc de texte peut être comparé à une image, ou vice-versa. Aujourd'hui, Rememberizer permet des recherches uniquement dans le composant texte des documents et des connaissances de l'utilisateur. Mais la recherche texte-image et image-texte sont à l'ordre du jour. Google utilise des embeddings vectoriels pour alimenter leur recherche de texte (texte-à-texte) et également leur recherche d'images (texte-à-image) (référence) . Facebook a envisagé d'utiliser des embeddings pour leur recherche sur les réseaux sociaux (référence). Snapchat utilise des embeddings vectoriels pour comprendre le contexte afin de servir la bonne publicité 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 la connaissance en vecteurs est le papier 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 d'optimisation des processus d'indexation et de recherche dans les bases de données vectorielles à grande échelle, y compris celles basées sur la Quantification de Produit. Le meilleur endroit pour en apprendre davantage à ce sujet est la documentation ainsi que le code sur Github.

Veillez à considérer le document de juin 2017 qui a lancé la révolution de l'IA générative (generative artificial intelligence), "L'attention est tout ce dont vous avez besoin." (référence) qui introduit l'architecture Transformer derrière les modèles GPT et tous les LLM qui suivent 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 aussi, "Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality" (référence 1998, référence 2010). Ces documents traitent de la théorie derrière la recherche des voisins les plus proches approximatifs (Approximate Nearest Neighbors- ANN) dans les espaces à haute dimension, un concept central dans les bases de données vectorielles pour récupérer efficacement des éléments similaires.

L'une des choses passionnantes à propos de ces modèles basés sur les Transformers est que plus ils utilisent de données, plus ils deviennent gros (plus de paramètres), meilleure est leur compréhension et leurs capacités. OpenAI a d'abord remarqué cela lorsqu'ils ont formé leur modèle GPT-2. En 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 à code source fermé axée sur la production de GPT-3, GPT-4 et son interface utilisateur célèbre, ChatGPT. Il est intéressant de noter que Google détient le brevet de cette technologie - ce sont leurs chercheurs qui sont derrière les Transformers et Attention Is All You Need (référence). ChatGPT a une légère divergence d'opinion quant à ma caractérisation, écrivant que "Le récit autour de la transition d'OpenAI d'une entité à but non lucratif orientée vers l'open source à une entité à but lucratif à code source fermé simplifie une évolution complexe. Le changement d'OpenAI comprenait un accent sur la sécurité et le développement responsable de l'IA en plus des aspects de commercialisation. Il convient également de noter qu'OpenAI, tout en priorisant le développement de technologies propriétaires comme GPT-3 et au-delà, continue de dialoguer avec la communauté de la recherche par le biais de publications et de collaborations."

Les modèles de langage BERT sont basés sur les Transformers et sont souvent utilisés dans les moteurs d'embedding vectoriel avancés. Cela a été introduit dans le document de 2018 "BERT: Pré-formation 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 de NLP. Son utilisation innovante de l'entraînement bidirectionnel et de l'architecture des transformers a établi de nouvelles normes de performance pour les modèles sur de nombreux repères. Des méthodes innovantes précédentes pour la création d'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 papier GloVe (Global Vectors) a proposé un nouveau modèle de régression log-bilinéaire global pour l'apprentissage non supervisé des représentations des mots, combinant les avantages des deux principales approches pour l'embedding : la factorisation de matrices globales et les méthodes de contexte local. "Estimation Efficace des Représentations de Mots dans l'Espace Vectoriel" (référence) : Ce papier a introduit Word2Vec, une approche révolutionnaire pour générer des embeddings de mots. Les modèles Word2Vec, y compris les modèles Sac de Mots Continu (CBOW) and Skip-Gram, sont essentiels dans l'évolution des embeddings de mots.

Last updated