Nutzung von Embedding-Modellen für KI-gestützte Suche
Während sich KI weiterentwickelt, hat sich die Art und Weise, wie wir Informationen suchen und abrufen, verändert, insbesondere beim Umgang mit riesigen Mengen an unstrukturierten Daten. Traditionelle keywordbasierte Suchmethoden haben Schwierigkeiten, die Komplexität moderner Datensätze zu bewältigen – insbesondere wenn es darum geht, Bedeutung und Kontext zu verstehen. Hier kommen Embedding-Modelle und Vektor-Embeddings ins Spiel, die es Systemen ermöglichen, die Beziehungen zwischen Wörtern, Bildern und anderen Datentypen zu erfassen.
Bei einem kürzlich stattgefundenen Unstructured Data Meetup teilte Aamir Shakir, der Mitgründer von Mixedbread, Einblicke dazu, wie man Embedding-Modelle entwickelt und trainiert, um leistungsstarke KI-Systeme zu erstellen, insbesondere Retrieval Augmented Generation (RAG) im großen Maßstab. In diesem Blog fassen wir die wichtigsten Punkte seines Vortrags zusammen und untersuchen die Rolle von Embedding-Modellen beim Betrieb fortschrittlicher Suchsysteme. Außerdem behandeln wir Techniken zum Trainieren, Skalieren und effizienten Speichern von Embeddings, einschließlich der Verwendung von Kompressionsmethoden und Vektordatenbanken wie Milvus und Zilliz Cloud (dem verwalteten Milvus).
Aamir Shakir spricht beim August SF Unstructured Data Meetup
Wenn Sie mehr über dieses Thema erfahren möchten, empfehlen wir, Aamirs Vortrag auf YouTube anzusehen.
Was sind Embedding-Modelle und warum sind sie für unstrukturierte Daten wichtig?
In einer datengetriebenen Welt sind Organisationen von riesigen Mengen an unstrukturierten Daten überwältigt – Protokolle, interne Dokumente, Audiodateien, Videos und mehr. Aus solch vielfältigen Daten aussagekräftige Erkenntnisse zu gewinnen, kann eine erhebliche Herausforderung sein. Hier kommen Embedding-Modelle und Vektor-Embeddings ins Spiel.
Embedding-Modelle sind eine Art von Machine-Learning-Modell, das darauf ausgelegt ist, unstrukturierte Daten in numerische Repräsentationen umzuwandeln und sie in einen hochdimensionalen Raum zu projizieren. Diese Repräsentationen werden Vektor-Embeddings genannt. Sie erfassen die Beziehungen und Bedeutungen innerhalb der Daten und ermöglichen es Computern, sie effektiver zu verstehen, zu verarbeiten und zu analysieren. Je näher diese Vektoren im Vektorraum beieinanderliegen, desto semantisch ähnlicher sind sie.
Embedding-Modelle sind grundlegende Werkzeuge für eine Vielzahl von Aufgaben, von der Verarbeitung natürlicher Sprache (NLP) bis hin zu Computer Vision und darüber hinaus.
Semantisches Verständnis
Embedding-Modelle kodieren die Bedeutung von Wörtern, Sätzen oder Dokumenten in Vektoren und erfassen deren semantische Beziehungen. Durch die Darstellung von Daten auf diese Weise ermöglichen diese Modelle Maschinen, Kontext und Bedeutung zu verstehen, wodurch anspruchsvollere Aufgaben wie Frage-Antwort-Systeme, Übersetzung und Zusammenfassung ermöglicht werden.
Mehrsprachige und multimodale Fähigkeiten
Fortschrittliche Embedding-Modelle können mehrere Sprachen und Datentypen (Modalitäten) wie Text, Bilder und Audio verarbeiten. Diese Fähigkeit ermöglicht den Vergleich und Abruf von Informationen über verschiedene Sprachen oder Datenformate hinweg. Beispielsweise könnte ein einzelnes Modell ähnliche Inhalte über Text und Bilder hinweg abrufen oder Text in mehreren Sprachen übersetzen und ausrichten, alles innerhalb desselben Vektorraums.
Übertragbarkeit
Vortrainierte Embedding-Modelle können oft (durch Techniken wie Fine-Tuning) für verschiedene nachgelagerte Aufgaben angepasst werden. Anstatt ein Modell von Grund auf neu zu trainieren, können Sie ein vortrainiertes Modell nutzen und es für bestimmte Aufgaben modifizieren, wodurch Zeit und Rechenressourcen gespart werden. Diese Übertragbarkeit macht Embedding-Modelle äußerst effizient für den Aufbau von KI-Anwendungen, sei es für Klassifizierung, Empfehlungssysteme oder andere Anwendungsfälle.
Probleme mit klassischen Suchansätzen
Vor dem Aufkommen von Embeddings wurden traditionelle Suchmethoden wie Term Frequency-Inverse Document Frequency (TF-IDF) oder keyword-based matching für das Information Retrieval verwendet. Diese Ansätze funktionieren jedoch gut für einfache Anwendungsfälle, erfassen aber die semantischen Beziehungen zwischen Wörtern nicht. Sie haben außerdem erhebliche Einschränkungen, wenn es darum geht, die komplexeren Informationsbedürfnisse von heute zu adressieren. Es gibt mehrere Einschränkungen:
Schwierigkeiten mit Mehrdeutigkeit
Eine der größten Herausforderungen bei traditionellen Methoden ist ihre Schwierigkeit im Umgang mit Mehrdeutigkeit.
Wörter mit mehreren Bedeutungen (Polysemie) und unterschiedliche Wörter mit derselben Bedeutung (Synonymie) stellen traditionelle Methoden vor Herausforderungen und führen zu ungenauen Ergebnissen. Betrachten Sie das Wort „bank“. Eine Suche nach „bank“ könnte Ergebnisse über Finanzinstitute liefern, obwohl der Nutzer in Wirklichkeit nach Informationen über Flussufer gesucht hat.
Embeddings lösen dieses Problem, indem sie den Kontext berücksichtigen, in dem ein Wort erscheint. Das Wort „bank“ im Finanzwesen hat eine andere Vektorrepräsentation als „bank“ im Kontext der Natur. Dies hilft Suchsystemen, Ergebnisse zurückzugeben, die nicht nur relevant, sondern auch kontextuell genau sind.
Feste Repräsentationen
Eine weitere Einschränkung traditioneller Methoden ist ihre Verwendung fester Repräsentationen für Wörter oder Dokumente. Diese Repräsentationen ändern sich im Laufe der Zeit nicht an unterschiedliche Kontexte angepasst, was ihre Verwendung im dynamic information retrieval einschränken kann.
Begrenzte Skalierbarkeit
Traditionelle Methoden haben Schwierigkeiten, Leistung und Effizienz aufrechtzuerhalten, wenn die Daten größer und komplexer werden, insbesondere bei Information-Retrieval-Aufgaben im Webmaßstab. Andererseits sind semantische Suchsysteme, die mit Vektor-Embeddings arbeiten, auf Skalierung ausgelegt. Sobald die Daten in Vektoren umgewandelt und in einer vector database wie Milvus gespeichert sind, können selbst Vektordaten im Milliardenmaßstab effektiv verarbeitet und für schnellen und genauen Abruf genutzt werden. Dies macht Embeddings wichtig für Systeme wie Empfehlungssysteme und RAG.
Diese Einschränkungen zeigen die Notwendigkeit von Embeddings beim Aufbau moderner Suchsysteme, die relevante Inhalte anhand von Bedeutung statt Schlüsselwörtern verstehen und abrufen können.
Embedding-Modelle und ihre Generalisierungsprobleme
Embedding-Modelle sind zu einem Eckpfeiler in KI-Anwendungen geworden, von RAG bis hin zu Empfehlungssystemen und darüber hinaus. Obwohl diese Modelle äußerst effektiv darin sind, Daten zu kodieren und Aufgaben wie Suche und Klassifizierung zu erleichtern, sind sie nicht ohne Einschränkungen—insbesondere wenn es um Generalisierung geht.
Umgang mit Out-of-Vocabulary (OOV)-Begriffen: Viele Embedding-Modelle haben ein festes Vokabular, was Probleme verursacht, wenn neue Wörter auftreten, die nicht Teil der Trainingsdaten waren.
Long-Tail-Leistung: Obwohl Embedding-Modelle bei häufigen Wörtern und Konzepten normalerweise gut abschneiden, könnten sie Schwierigkeiten mit hochspezifischen Begriffen haben.
Domänenspezifität: Einbettungsmodelle, die mit Daten aus einer Domäne trainiert wurden, können schlecht abschneiden, wenn sie auf eine andere Domäne angewendet werden. Diese Einschränkung besteht, weil die Einbettungen die statistischen Muster der Trainingsdaten enthalten, die für neue Datentypen möglicherweise nicht effektiv sind. Einbettungsmodelle erfordern daher in der Regel ein Fine-Tuning mit domänenspezifischen Daten, um die beste Leistung zu erreichen.
Bias in Einbettungen: Einbettungsmodelle sind auch anfällig für Bias. Sie werden mit großen, manchmal nicht kuratierten Datensätzen trainiert. Daher können sie versehentlich gesellschaftliche Vorurteile aufnehmen, die in den Daten vorhanden sind.
Kontextuelle Variationen: Statische Einbettungsmodelle weisen einem Wort unabhängig vom Kontext denselben Vektor zu. Dies kann bei Wörtern, die mehr als eine Bedeutung haben können, ein Problem sein.
Wie man ein hochmodernes Einbettungsmodell erstellt und trainiert
Der Aufbau eines hochwertigen Einbettungsmodells, insbesondere für komplexe Systeme wie RAG, erfordert einen durchdachten Ansatz, um Skalierbarkeit, Genauigkeit und Effizienz sicherzustellen. Einbettungsmodelle werden typischerweise mithilfe von neuronalen Netzwerken erstellt, und die Qualität der von ihnen erzeugten Einbettungen hängt stark vom Trainingsprozess ab. Um eine hochmoderne (SOTA) Leistung zu erreichen, müssen mehrere wichtige Schritte befolgt werden:
Vortraining mit großen, vielfältigen Datensätzen
Ein entscheidender erster Schritt beim Aufbau eines robusten Einbettungsmodells ist das Vortraining mit großen, vielfältigen Datensätzen. Dieses Vortraining setzt das Modell einer breiten Palette von Sprachmustern, Strukturen und Kontexten aus, sodass es generalisierbare Merkmale lernen kann, die auf verschiedene nachgelagerte Aufgaben angewendet werden können. Die Idee ist, dem Modell ein breites Verständnis von Daten zu vermitteln, damit es nicht nur bei vertrauten Eingaben, sondern auch bei neuen, ungesehenen Daten gut abschneidet.
Es gibt verschiedene Arten von Einbettungen, darunter:
Worteinbettungen sind niedrigdimensionale, dichte Vektoren, die Wörter in einen kontinuierlichen Vektorraum projizieren. Sie sind nützlich, um semantische und syntaktische Beziehungen zu erfassen.
Konzeptuelle Einbettungen sind Vektordarstellungen von Konzepten in einem semantischen Raum, die deren Beziehungen und Attribute erfassen, welche häufig aus groß angelegten Wissensgraphen stammen.
Kontextuelle Einbettungen sind dynamische Wortdarstellungen, die von Modellen wie BERT und GPT erzeugt werden. Sie berücksichtigen den umgebenden Kontext jedes Wortes in einer Phrase, um kontextsensitve Einbettungen zu erzeugen.
Die folgende Abbildung hilft Ihnen, den Trainingsprozess von Einbettungsmodellen zu verstehen:
Trainingsphase des Einbettungsmodells
Tokenisierung zerlegt Eingabedaten in kleinere Einheiten (Tokens), wie Wörter oder Teilwörter, und erstellt ein Vokabular für das Modell. Das Vokabular ist eine Menge eindeutiger Tokens, die das Modell verwenden wird, um die Daten während des Trainings zu verstehen und darzustellen.
Initialisierung der Einbettungen initialisiert eine Matrix, in der ein Einbettungsvektor jedes Token im Datensatz repräsentiert. Diese Matrix fasst die Beziehungen und Bedeutungen zwischen Tokens zusammen, wobei die Vektoren typischerweise zwischen 50 und 1.000 Dimensionen liegen.
Training passt die Parameter des Modells an, um den Abstand zwischen semantisch ähnlichen Wörtern zu minimieren und den Abstand zwischen unähnlichen Wörtern zu maximieren.
Fine-Tuning für aufgabenspezifische Optimierung
Nach dem Pretraining ist Fine-Tuning wichtig, um das Modell für spezifische Aufgaben zu optimieren. Wenn das RAG-System beispielsweise in einem rechtlichen Kontext eingesetzt wird, passen wir das Embedding-Modell mit juristischen Dokumenten fein an. Dadurch behalten Embeddings domänenspezifisches Vokabular bei, was die Leistung des RAG-Systems verbessert. In dieser Phase passen wir das Modell außerdem fein an, damit es strukturierte und unstrukturierte Daten verarbeiten kann, die für multimodale und mehrsprachige Suchaufgaben geeignet sind.
Speichern von Vektor-Embeddings in großem Maßstab
Da Embedding-Modelle immer fortschrittlicher werden, können die von ihnen erzeugten Vektoren zunehmend komplex werden. Obwohl Modellkomplexität nicht immer höherdimensionale Vektoren bedeutet, erzeugen größere Modelle häufig Embeddings mit detaillierteren Repräsentationen, was manchmal zu Tausenden von Dimensionen führt. Dies stellt Herausforderungen sowohl bei der Speicherung als auch beim Abruf dar, insbesondere beim Umgang mit großen Datensätzen oder Echtzeitanwendungen.
Um diese Herausforderungen zu bewältigen, sind effiziente Speicher- und Abrufmethoden entscheidend. Techniken wie Vektordatenbanken, Approximate-Nearest-Neighbor-(ANN)-Suche und optimierte Indexierungsstrukturen werden häufig verwendet, um sicherzustellen, dass Embeddings schnell abgerufen werden können, ohne die Leistung zu beeinträchtigen. Darüber hinaus sind Kompressionstechniken ebenfalls unerlässlich, um die Größe dieser hochdimensionalen Vektoren zu reduzieren, ohne ihre semantische Bedeutung zu verlieren.
Vektordatenbanken
Vektordatenbanken wie Milvus und Zilliz Cloud (die verwaltete Version von Milvus) sind speziell darauf ausgelegt, unstrukturierte Daten in Form von Vektor-Embeddings effizient zu verwalten und abzurufen. Milvus ist eine Open-Source-Vektordatenbank, die für das Speichern und Durchsuchen von Vektoren im Mega-Maßstab optimiert ist. Sie verwendet Approximate-Nearest-Neighbor-(ANN)-Suchen, um relevante Embeddings schnell abzurufen, selbst wenn mit Datenbanken gearbeitet wird, die Milliarden von Vektoren enthalten. Zilliz Cloud bietet die erweiterten Funktionen als verwalteten Dienst und reduziert so den betrieblichen Aufwand für die Verwaltung von Vektordatenbanken in großem Maßstab.
Kompressionstechniken
Während Embeddings direkt in Vektordatenbanken gespeichert werden können, kann ihre Speicherung in großem Maßstab teuer sein. Hier kommen Kompressionstechniken ins Spiel. Die Hauptidee hinter der Kompression besteht darin, den Speicherbedarf zu reduzieren und die Abfragegeschwindigkeit zu verbessern. Eine Art ist die binäre Quantisierung, die andere ist die skalare Quantisierung.
Die binäre Quantisierung reduziert jedes Merkmal eines gegebenen Embeddings auf eine binäre Ziffer, während die skalare Quantisierung die Gesamtgröße der Dimensionen auf einen kleineren Datentyp reduziert, etwa einen 2-Byte-Float oder eine 1-Byte-Ganzzahl.
Wenn ein Bild beispielsweise durch drei unterschiedliche Merkmale dargestellt wird, wobei jedes Merkmal einen Wert im Bereich einer FLOAT-32-Speichereinheit enthält, würde die Durchführung einer binären Quantisierung auf diesem Vektor dazu führen, dass jedes der drei Merkmale unabhängig durch eine einzelne binäre Ziffer dargestellt wird. Somit würde der Vektor, der drei FLOAT-32-Werte enthält, in einen Vektor aus drei binären Ziffern umgewandelt, wie etwa [1, 0, 1].
Verständnis der binären Quantisierung
Binäre Quantisierung ist aufgrund ihrer effizienten und weniger komplexen Berechnungen äußerst effektiv für die Durchführung von Vektorsuchen auf großen Datensätzen. Im Fall von Milvus und binären Vektoren verwendet Milvus die Hamming-Distanz als Ähnlichkeitsmetrik. Diese Metrik kann die Distanz zwischen zwei gespeicherten binären Vektoren schnell berechnen. Hier ist ein Beispiel dafür, wie die Hamming-Distanz-Methode funktioniert.
Wie die Hamming-Distanz-Methode funktioniert
Nun werden wir die Technik der skalaren Quantisierung verwenden, um float32-Embeddings in das int8-Format umzuwandeln. Dieser Ansatz bildet den kontinuierlichen Bereich von float32-Werten auf eine diskrete Menge von 256 unterschiedlichen int8-Werten ab, die von -127 bis 127 reichen.
Um skalare Quantisierung durchzuführen:
Berechnen Sie den Bereich: Bestimmen Sie die Minimal- und Maximalwerte für jede Embedding-Dimension.
Bestimmen Sie den Quantisierungsschritt: Berechnen Sie die Schrittgröße, die erforderlich ist, um die float32-Werte gleichmäßig über den int8-Bereich zu verteilen.
Quantisieren: Runden Sie jeden float32-Wert mithilfe der berechneten Schrittgröße auf den nächstgelegenen int8-Wert.
Werte von -1.0 bis 1.0 in diskrete int8-Werte
Mit der skalaren Quantisierung zu int8 reduzieren wir die Präzision der ursprünglichen float32-Embeddings, sodass jeder Wert durch eine 8-Bit-Ganzzahl dargestellt wird (4x kleiner), wodurch der Speicherbedarf für ihre Speicherung verringert wird, während versucht wird, so viele Informationen wie möglich zu erhalten.
Die Ökonomie der Kompression
Zusammenfassung
Embedding-Modelle—die einen flexiblen, skalierbaren, semantisch reichhaltigen Ansatz für Information Retrieval bieten—tragen dazu bei, die Richtung der Ähnlichkeitssuche zu bestimmen. Von der Verbesserung von Clustering und Bi-Text-Mining bis hin zur Ermöglichung multimodaler und mehrsprachiger Suche bieten Embeddings viele Möglichkeiten, die traditionelle Methoden nicht erreichen können.
Der Aufbau modernster Embedding-Modelle für hochwertige RAG-Systeme erfordert sorgfältige Aufmerksamkeit für Pretraining, Fine-Tuning und Skalierbarkeit. Zilliz Cloud und Milvus helfen dabei, Embeddings in großem Maßstab zu verwalten und intelligentere sowie reaktionsfähigere neuronale Suchsysteme zu erstellen.
Weitere Ressourcen
Weiterlesen

Build Multimodal Search for 3D Assets with Tripo and Zilliz Cloud
Generate 3D assets with Tripo, then search them by text, image, and metadata with multimodal embeddings and Zilliz Cloud.

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.

DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding
Explore DeepSeek-VL2, the open-source MoE vision-language model. Discover its architecture, efficient training pipeline, and top-tier performance.



