Was sind Vektor-Embeddings und Vektor-Datenbanken?

Warum Rememberizer mehr als nur eine Datenbank oder eine Schlüsselwort-Suchmaschine ist.

Rememberizer verwendet Vektor-Einbettungen in Vektor-Datenbanken, um die Suche nach semantischer Ähnlichkeit in den Wissensquellen eines Benutzers zu ermöglichen. Dies ist eine wesentlich fortschrittlichere und differenziertere Form der Informationsbeschaffung als das einfache Durchsuchen von Inhalten nach Schlüsselwörtern in einer Suchmaschine oder Datenbank.

Ein mehrdimensionaler Raum

In ihrer fortschrittlichsten Form (wie von Rememberizer verwendet) werden Vektoreinbettungen von Sprachmodellen mit ähnlichen Architekturen wie den AI LLMs (Large Language Models), die OpenAI's gpt-Modelle und den ChatGPT-Dienst sowie Modelle/Dienste von Google (Gemini), Anthropic (Claude), Facebook (LLama 2) und anderen untermauern, erstellt. Aus diesem Grund ist es naheliegend, Vektor-Einbettungen zu verwenden, um relevantes Wissen zu entdecken, das in den Kontext von AI-Modell-Aufforderungen aufgenommen werden kann. Die Technologien ergänzen sich und sind in gewisser Weise äquivalent. Aus diesem Grund werden die meisten Anbieter von LLMs als Dienst auch Vektor-Einbettungen als Dienst produzieren (zum Beispiel: ein Blog von Together AI oder ein anderer Blog von OpenAI).

Wie sieht eine Vektor-Einbettung aus? Betrachten Sie ein Koordinatenpaar (x,y) in zwei Dimensionen. Wenn es eine Linie vom Ursprung zu diesem Punkt darstellt, können wir es als eine Linie mit einer Richtung betrachten, also als einen Vektor in zwei Dimensionen. In unserem Kontext wird eine Vektor-Einbettung eine Liste von etwa 768 Zahlen sein, die einen Vektor in einem 768-dimensionalen Raum darstellen. Letztendlich kann diese Liste von Zahlen Gewichte zwischen Null und Eins in einem Transformer-Modell darstellen, die die Bedeutung eines Satzes wie "Ein Blitz aus heiterem Himmel" definieren. Dies ist im Grunde die gleiche zugrunde liegende Darstellung von Bedeutung, die zum Beispiel in GPT-4 verwendet wird. Daher können wir erwarten, dass eine gute Vektor-Einbettung das gleiche scheinbar brillante Verständnis ermöglicht, das wir in modernen AI-Sprachmodellen sehen.

Es ist erwähnenswert, dass Vektor-Einbettungen nicht nur zur Darstellung von Text, sondern auch von anderen Datentypen wie Bildern oder Ton verwendet werden können. Mit einem richtig trainierten Modell kann man sogar Medien vergleichen, so dass eine Vektor-Einbettung auf einen Textblock mit einem Bild verglichen werden kann, oder umgekehrt. Heute ermöglicht Rememberizer nur Suchen innerhalb des reinen Textteils von Benutzerdokumenten und -wissen. Aber Text-zu-Bild- und Bild-zu-Text-Suche sind auf der Roadmap. Google verwendet Vektor-Einbettungen, um ihre Textsuche (Text-zu-Text) und ihre Bildsuche (Text-zu-Bild) anzutreiben (Referenz). Facebook hat in Erwägung gezogen, Einbettungen für ihre soziale Netzwerksuche zu verwenden (Referenz). Snapchat verwendet Vektor-Einbettungen, um den Kontext zu verstehen, um die richtige Anzeige zum richtigen Zeitpunkt an den richtigen Nutzer zu bringen (Referenz).

Um zu verstehen, wie Vektor-Einbettung und Vektor-Datenbanken funktionieren, beginnen Sie mit dem Überblick von Hugging Face. Pinecone (eine Vektor-Einbettungs-Datenbank als Dienst) hat auch einen guten Überblick.

Eine weitere großartige Quelle zum Verständnis der Suche und des Wissens in Vektoren ist das Meta/Facebook-Papier und der Code für die FAISS-Bibliothek. "FAISS: A Library for Efficient Similarity Search and Clustering of Dense Vectors" von Johnson, Douze, und Jégou (2017): FAISS bietet einen umfassenden Überblick über eine Bibliothek, die für die effiziente Ähnlichkeitssuche und Clustering von dichten Vektoren konzipiert ist. Es diskutiert Methoden zur Optimierung der Indexierungs- und Suchprozesse in groß angelegten Vektordatenbanken, einschließlich solcher, die auf Produktquantisierung basieren. Der beste Ort, um mehr darüber zu erfahren, ist die Dokumentation zusammen mit dem Code auf Github.

Bedenken Sie auch das Papier aus dem Juni 2017, das die GenAI (generative künstliche Intelligenz) Revolution einläutete, "Attention Is All You Need" (Referenz), das die Transformer-Architektur hinter den GPT-Modellen und allen nachfolgenden LLMs von OpenAI, Google, Meta (Facebook), Nvidia, Microsoft, IBM, Anthropic, Mistral, Salesforce, xAI (Elon Musk), Stability AI, Cohere und vielen anderen Open-Source-Projekten einführte. Berücksichtigen Sie auch "Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality" (Referenz 1998, Referenz 2010). Diese Papiere diskutieren die Theorie hinter der approximativen nearest neighbor (ANN) Suche in hochdimensionalen Räumen, ein zentraler Begriff in Vektordatenbanken für die effiziente Wiedergabe ähnlicher Elemente.

Eines der aufregenden Dinge an diesen Transformer-basierten Modellen ist, dass sie mit zunehmender Menge der genutzten Daten, mit zunehmender Größe (mehr Parameter), ihr Verständnis und ihre Fähigkeiten verbessert. OpenAI bemerkte dies zuerst, als sie ihr GPT-2-Modell trainierte. Sie erkannten dieses Potential und hörten sofort auf, eine gemeinnützige Organisation mit Open-Source-Orientierung zu sein, und wurden zu einem kommerziellen Unternehmen mit geschlossenem Quellcode, das sich auf die Produktion von GPT-3, GPT-4 und seiner berühmten Benutzerschnittstelle, ChatGPT, konzentrierte. Interessanterweise besitzt Google das Patent auf diese Technologie - hinter Transformers und "Attention is All You Need" standen ihre Forscher (Referenz). ChatGPT sieht das ein wenig anders und schreibt, dass "die Erzählung um OpenAIs Übergang von einer Open-Source-orientierten Non-Profit-Organisation zu einer Closed-Source-For-Profit-Entity eine komplexe Entwicklung vereinfacht. OpenAIs Wechsel beinhaltete einen Fokus auf Sicherheit und verantwortungsvolle KI-Entwicklung neben kommerziellen Aspekten. Es ist auch erwähnenswert, dass OpenAI, obwohl es die Entwicklung proprietärer Technologien wie GPT-3 und darüber hinaus priorisiert, weiterhin mit der Forschungsgemeinschaft durch Publikationen und Zusammenarbeit interagiert."

BERT-Sprachmodelle basieren auf Transformers und werden oft in fortgeschrittenen Vektor-Einbettungs-Engines verwendet. Dies wurde in dem Papier von 2018 "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" (Referenz) eingeführt. BERT (Bidirectional Encoder Representations from Transformers) markierte einen bedeutenden Wandel hin zu vortrainierten Modellen, die für eine breite Palette von NLP-Aufgaben feinjustiert werden können. Seine innovative Verwendung von bidirektionalem Training und Transformer-Architektur setzte neue Standards für die Modellleistung über zahlreiche Benchmarks. Frühere innovative Methoden zur Erstellung von Vektor-Einbettungen wurden von GloVe (2014, Stanford), Word2Vec (2013, Google) eingeführt. "GloVe: Global Vectors for Word Representation" (Referenz): Das GloVe (Global Vectors)-Papier schlug ein neues globales log-bilineares Regressionsmodell für das unüberwachte Lernen von Wortdarstellungen vor, das die Vorteile der beiden Hauptansätze zur Einbettung kombiniert: globale Matrixfaktorisierung und lokale Kontextfenstermethoden. "Efficient Estimation of Word Representations in Vector Space" (Referenz): Dieses Papier führte Word2Vec ein, einen bahnbrechenden Ansatz zur Erzeugung von Wort-Einbettungen. Word2Vec-Modelle, einschließlich der Continuous Bag of Words (CBOW)- und Skip-Gram-Modelle, sind Grundpfeiler in der Entwicklung von Wort-Einbettungen.

Last updated