Cosa sono gli Embedding Vettoriali e i Database Vettoriali?
Perché Rememberizer è più di un semplice database o motore di ricerca per parole chiave.
Last updated
Perché Rememberizer è più di un semplice database o motore di ricerca per parole chiave.
Last updated
Rememberizer utilizza embedding vettoriali in database vettoriali per abilitare ricerche di somiglianza semantica all'interno delle fonti di conoscenza degli utenti. Questa è una forma di recupero delle informazioni fondamentalmente più avanzata e sfumata rispetto alla semplice ricerca di parole chiave nel contenuto tramite un motore di ricerca o un database.
Nella loro forma più avanzata (come utilizzato da Rememberizer) gli embedding vettoriali sono creati da modelli linguistici con architetture simili agli LLM (Large Language Models) dell'IA che sostengono i modelli gpt di OpenAI e il servizio ChatGPT, così come modelli/servizi di Google (Gemini), Anthropic (Claude), Facebook (LLama 2) e altri. Per questo motivo, è naturale utilizzare gli embedding vettoriali per scoprire conoscenze rilevanti da includere nel contesto dei prompt dei modelli di IA. Le tecnologie sono complementari e in qualche modo equivalenti. Per questo motivo, la maggior parte dei fornitori di LLM come servizio produrrà anche embedding vettoriali come servizio (ad esempio: un blog di Together AI o un altro blog di OpenAI).
Come appare un embedding vettoriale? Considera una coordinata (x,y) in due dimensioni. Se rappresenta una linea dall'origine a questo punto, possiamo pensarlo come una linea con una direzione, in altre parole, un vettore in due dimensioni. Nel nostro contesto, un embedding vettoriale sarà un elenco di qualcosa come 768 numeri che rappresentano un vettore in uno spazio a 768 dimensioni. In ultima analisi, questo elenco di numeri può rappresentare pesi tra zero e uno in un modello Transformer che definisce il significato in una frase come "Un fulmine dal nulla." Questo è fondamentalmente lo stesso tipo di rappresentazione del significato utilizzato in GPT-4, ad esempio. Di conseguenza, ci aspettiamo che un buon embedding vettoriale consenta la stessa apparente comprensione brillante che vediamo nei moderni modelli di linguaggio dell'IA.
Vale la pena notare che gli embedding vettoriali possono essere utilizzati per rappresentare più di semplici testi, ma anche altri tipi di dati come immagini o suoni. E con un modello adeguatamente addestrato, si possono confrontare i media, in modo che un embedding vettoriale su un blocco di testo possa essere confrontato con un'immagine, o viceversa. Oggi Rememberizer consente ricerche solo all'interno della componente testuale dei documenti e delle conoscenze degli utenti. Ma la ricerca testo-immagine e immagine-testo sono sulla roadmap. Google utilizza embedding vettoriali per alimentare la loro ricerca testuale (testo-testo) e anche la loro ricerca di immagini (testo-immagine) (riferimento). Facebook ha contemplato l'uso di embedding per la ricerca nel loro social network (riferimento). Snapchat utilizza embedding vettoriali per comprendere il contesto al fine di servire l'annuncio giusto all'utente giusto al momento giusto (riferimento).
Per comprendere a fondo come funzionano gli embedding vettoriali e i database vettoriali, inizia con la panoramica di Hugging Face. Pinecone (un database di embedding vettoriali come servizio) ha una buona panoramica anche.
Un'altra grande fonte per comprendere la ricerca e la conoscenza nei vettori è il documento e il codice di Meta/Facebook per la libreria FAISS. "FAISS: A Library for Efficient Similarity Search and Clustering of Dense Vectors" di Johnson, Douze e Jégou (2017): FAISS fornisce una panoramica completa di una libreria progettata per la ricerca di somiglianza efficiente e il clustering di vettori densi. Discute i metodi per ottimizzare i processi di indicizzazione e ricerca in database vettoriali su larga scala, inclusi quelli basati sulla Quantizzazione del Prodotto. Il posto migliore per saperne di più è la documentazione insieme al codice su Github.
Assicurati di considerare il documento di giugno 2017 che ha avviato la rivoluzione genAI (intelligenza artificiale generativa), "Attention Is All You Need." (riferimento) che introduce l'architettura Transformer dietro i modelli GPT e tutti gli LLM che seguono da OpenAI, Google, Meta (Facebook), Nvidia, Microsoft, IBM, Anthropic, Mistral, Salesforce, xAI (Elon Musk), Stability AI, Cohere e molte altre fonti aperte. Considera anche, "Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality" (riferimento 1998, riferimento 2010). Questi documenti discutono la teoria dietro la ricerca dei vicini più prossimi approssimati (ANN) in spazi ad alta dimensione, un concetto fondamentale nei database vettoriali per il recupero efficiente di elementi simili.
Una cosa entusiasmante riguardo a questi modelli basati su Transformer è che più dati utilizzavano, più diventavano grandi (più parametri avevano), migliore era la loro comprensione e capacità. OpenAI ha notato per la prima volta questo quando ha addestrato il suo modello GPT-2. Realizzando questo potenziale, hanno immediatamente smesso di essere un'organizzazione no-profit orientata all'open-source e sono diventati un'azienda a scopo di lucro chiusa focalizzata sulla produzione di GPT-3, GPT-4 e il suo famoso front end, ChatGPT. Curiosamente, Google possiede il brevetto su questa tecnologia -- erano i loro ricercatori dietro i Transformer e Attention Is All You Need (riferimento). ChatGPT ha una visione leggermente diversa sulla mia caratterizzazione, scrivendo che "La narrazione attorno alla transizione di OpenAI da un'organizzazione no-profit orientata all'open-source a un'entità a scopo di lucro chiusa semplifica un'evoluzione complessa. Il cambiamento di OpenAI ha incluso un focus sulla sicurezza e sullo sviluppo responsabile dell'IA insieme agli aspetti di commercializzazione. Vale anche la pena notare che mentre OpenAI ha dato priorità allo sviluppo di tecnologie proprietarie come GPT-3 e oltre, continua a collaborare con la comunità di ricerca attraverso pubblicazioni e collaborazioni."
I modelli linguistici BERT si basano sui Transformer e sono spesso utilizzati in motori di embedding vettoriali avanzati. Questo è stato introdotto nel documento del 2018 "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" (riferimento). BERT (Bidirectional Encoder Representations from Transformers) ha segnato un cambiamento significativo verso modelli pre-addestrati che possono essere affinati per una vasta gamma di compiti di NLP. Il suo uso innovativo dell'addestramento bidirezionale e dell'architettura transformer ha stabilito nuovi standard per le prestazioni dei modelli in numerosi benchmark. Metodi innovativi precedenti per creare embedding vettoriali sono stati introdotti da GloVe (2014, Stanford), Word2Vec (2013, Google). "GloVe: Global Vectors for Word Representation" (riferimento): Il documento GloVe (Global Vectors) ha proposto un nuovo modello di regressione log-bilineare globale per l'apprendimento non supervisionato delle rappresentazioni delle parole, combinando i vantaggi dei due principali approcci all'embedding: la fattorizzazione della matrice globale e i metodi della finestra di contesto locale. "Efficient Estimation of Word Representations in Vector Space" (riferimento): Questo documento ha introdotto Word2Vec, un approccio innovativo per generare embedding di parole. I modelli Word2Vec, inclusi i modelli Continuous Bag of Words (CBOW) e Skip-Gram, sono fondamentali nell'evoluzione degli embedding di parole.