Einbettungsmodell
Ein Einbettungsmodell verwandelt Text in eine geordnete Folge von Zahlen. Texte mit ähnlicher Bedeutung erhalten ähnliche Zahlenfolgen. Dadurch kann Software inhaltliche Nähe zwischen Sätzen, Absätzen oder ganzen Dokumenten messen.
Die Zahlenfolge, die ein Einbettungsmodell erzeugt, heißt Vektor. Jeder Vektor hat eine feste Länge, typischerweise zwischen 384 und 4096 Dimensionen. Die Position im Zahlenraum kodiert die Bedeutung: Zwei Vektoren, die nah beieinanderliegen, repräsentieren inhaltlich verwandte Texte. Zwei Vektoren, die weit auseinanderliegen, repräsentieren inhaltlich verschiedene Texte.
Beispiel: Die Sätze "Der Hund liegt auf der Couch" und "Ein Welpe schläft auf dem Sofa" erzeugen Vektoren, die im Zahlenraum fast identisch positioniert sind. Der Satz "Die Aktienkurse fielen um drei Prozent" erzeugt einen Vektor, der weit entfernt liegt.
Von Text zu Zahlen
Bevor ein Einbettungsmodell einen Text verarbeiten kann, muss der Text in einzelne Einheiten zerlegt werden. Ein Tokenizer übernimmt diesen Schritt. Er zerlegt den Eingabetext in Teilwörter oder Zeichengruppen, sogenannte Tokens. Jedes Token erhält eine numerische Kennung, die das Modell verarbeiten kann.
Das Einbettungsmodell nimmt diese Token-Sequenz entgegen und berechnet für jedes Token einen Zwischenvektor. Aus allen Zwischenvektoren wird anschließend ein einziger Vektor für den gesamten Eingabetext erzeugt. Dieser Schritt heißt Pooling.
Beispiel: Der Satz "Katzen jagen Mäuse" wird vom Tokenizer in vier Tokens zerlegt. Das Modell berechnet vier Zwischenvektoren mit je 768 Dimensionen. Das Pooling fasst diese zu einem einzigen 768-dimensionalen Vektor zusammen.
Beispiel: Ein Tokenizer zerlegt das Wort "Straßenverkehrsordnung" in drei Teilwörter: "Straßen", "verkehrs" und "ordnung". Jedes Teilwort wird separat kodiert, bevor das Modell sie gemeinsam verarbeitet.
Es gibt verschiedene Pooling-Strategien. Die verbreitetste Variante bildet den Durchschnitt aller Zwischenvektoren (Mean Pooling). Andere Varianten verwenden nur den Vektor des ersten Tokens (CLS-Pooling) oder gewichten die Zwischenvektoren nach ihrer Relevanz.
Fachliche Einordnung: Die Wahl der Pooling-Strategie beeinflusst die Qualität der resultierenden Vektoren. Mean Pooling liefert in den meisten Benchmarks bessere Ergebnisse als CLS-Pooling, weil es die Information aller Tokens berücksichtigt statt sich auf ein einzelnes Token zu stützen.
Architektur eines Einbettungsmodells
Die meisten modernen Einbettungsmodelle basieren auf der Transformer-Architektur. Ein Transformer verarbeitet alle Tokens einer Eingabe gleichzeitig, nicht nacheinander. Dafür nutzt er einen Mechanismus namens Self-Attention: Jedes Token berechnet, wie stark es mit jedem anderen Token im selben Text zusammenhängt.
Beispiel: Im Satz "Die Bank am Fluss war nass" berechnet Self-Attention, dass "Bank" stark mit "Fluss" und "nass" zusammenhängt. Im Satz "Die Bank erhöhte den Zinssatz" hängt "Bank" stattdessen mit "Zinssatz" zusammen. Dasselbe Wort erhält dadurch unterschiedliche Vektoren.
Einbettungsmodelle verwenden in der Regel nur den Encoder-Teil des Transformers. Der Encoder liest die gesamte Eingabe bidirektional und erzeugt kontextabhängige Repräsentationen. Das Referenzmodell für diese Architektur ist BERT.
Beispiel: BERT-base hat 12 Transformer-Schichten mit je 12 Attention-Köpfen. Jede Schicht verfeinert die Token-Repräsentationen. Nach der letzten Schicht hat jedes Token einen 768-dimensionalen Vektor, der seinen Kontext im gesamten Satz kodiert.
Wie ein Einbettungsmodell trainiert wird
Ein Einbettungsmodell lernt, bedeutungsähnliche Texte im Zahlenraum nah beieinander zu platzieren. Dafür braucht es Trainingspaare: zwei Texte, von denen bekannt ist, ob sie inhaltlich zusammengehören oder nicht.
Das verbreitetste Trainingsverfahren heißt kontrastives Lernen. Das Modell erhält ein Paar aus Anker-Text und positivem Text (inhaltlich verwandt) sowie mehrere negative Texte (inhaltlich verschieden). Es lernt, den Vektor des positiven Textes näher an den Anker zu rücken und die negativen Vektoren weiter wegzuschieben.
Beispiel: Anker: "Symptome einer Grippe". Positiv: "Fieber, Kopfschmerzen und Gliederschmerzen treten plötzlich auf". Negativ: "Die Bundesliga startet in die Rückrunde". Das Modell lernt, dass der medizinische Text näher am Anker liegen muss als der Sporttext.
Viele Einbettungsmodelle starten nicht von Grund auf. Sie nehmen ein vortrainiertes Sprachmodell und passen es mit speziellen Trainingspaaren an. Diesen Vorgang nennt man Fine-Tuning. Die Bibliothek Sentence-Transformers hat dieses Verfahren verbreitet und bietet Hunderte vortrainierter Modelle.
Beispiel: Das Modell all-MiniLM-L6-v2 basiert auf einem MiniLM-Sprachmodell mit 6 Schichten. Es wurde mit über einer Milliarde Trainingspaaren aus verschiedenen Quellen feinjustiert. Das Ergebnis ist ein kompaktes Modell mit 384 Dimensionen, das auf einem Laptop in Millisekunden arbeitet.
Ähnlichkeit zwischen Vektoren messen
Nachdem ein Einbettungsmodell Texte in Vektoren umgewandelt hat, muss die Ähnlichkeit zwischen diesen Vektoren berechnet werden. Das Standardverfahren heißt Kosinus-Ähnlichkeit. Es misst den Winkel zwischen zwei Vektoren im Zahlenraum. Zeigen beide Vektoren in dieselbe Richtung, ist die Ähnlichkeit 1. Stehen sie senkrecht aufeinander, ist sie 0.
Beispiel: Zwei Produktbeschreibungen für Laufschuhe erzeugen eine Kosinus-Ähnlichkeit von 0,92. Eine Laufschuh-Beschreibung und ein Kuchenrezept erzeugen 0,13. Ein Schwellenwert von 0,7 würde die Laufschuhe als ähnlich einstufen und das Kuchenrezept ausschließen.
Neben der Kosinus-Ähnlichkeit gibt es weitere Distanzmaße: die euklidische Distanz (geometrischer Abstand im Zahlenraum) und das Skalarprodukt (Dot Product). Welches Maß das beste Ergebnis liefert, hängt davon ab, wie das Modell trainiert wurde. Modelle, die mit Kosinus-Ähnlichkeit trainiert wurden, liefern mit diesem Maß auch die besten Ergebnisse.
Anwendungen in der Praxis
Einbettungsmodelle sind die Grundlage für jede Anwendung, die inhaltliche Ähnlichkeit zwischen Texten berechnen muss. Die wichtigsten Einsatzgebiete:
Semantische Suche. Ein Nutzer gibt eine Frage in natürlicher Sprache ein. Das Einbettungsmodell berechnet den Vektor der Frage und vergleicht ihn mit den Vektoren aller gespeicherten Dokumente. Die Treffer werden nach Ähnlichkeit sortiert.
Beispiel: Eine interne Wissensdatenbank enthält 50.000 Supportartikel. Ein Mitarbeiter sucht "Laptop fährt nicht hoch nach Update". Das Einbettungsmodell findet Artikel über Bootprobleme nach Systemaktualisierungen, obwohl keiner dieser Artikel den Suchbegriff wörtlich enthält.
Retrieval Augmented Generation (RAG). Ein Sprachmodell erhält zusätzlichen Kontext aus einer externen Datenquelle. Das Einbettungsmodell übernimmt den ersten Schritt: Es sucht die relevantesten Textpassagen, die dem Sprachmodell als Kontext mitgegeben werden.
Beispiel: Ein Chatbot beantwortet Fragen zu Versicherungsbedingungen. Bei der Frage "Zahlt die Versicherung bei Wasserschaden?" berechnet das Einbettungsmodell den Vektor der Frage, findet die drei relevantesten Vertragsklauseln und gibt sie dem Sprachmodell als Kontext mit. Das Sprachmodell formuliert die Antwort auf Basis dieser Klauseln.
Duplikaterkennung. Texte, deren Vektoren eine hohe Ähnlichkeit aufweisen, sind potenzielle Duplikate. Das funktioniert auch dann, wenn die Texte unterschiedlich formuliert sind.
Beispiel: Ein Ticketsystem erhält täglich 500 Supportanfragen. Das Einbettungsmodell erkennt, dass "WLAN verbindet sich nicht" und "Drahtlosnetzwerk funktioniert nicht mehr" denselben Sachverhalt beschreiben, und gruppiert sie automatisch.
Modelle im Vergleich
Einbettungsmodelle unterscheiden sich in mehreren Dimensionen: Vektorgröße, Sprachunterstützung, Geschwindigkeit und Qualität der erzeugten Vektoren. Die Qualität wird auf standardisierten Benchmarks wie MTEB (Massive Text Embedding Benchmark) gemessen.
Beispiel: Das Modell text-embedding-3-large von OpenAI erzeugt Vektoren mit 3072 Dimensionen. Das Modell e5-mistral-7b-instruct nutzt 4096 Dimensionen. Das kompakte Modell all-MiniLM-L6-v2 arbeitet mit 384 Dimensionen. Größere Vektoren speichern mehr Information, benötigen aber mehr Speicherplatz und Rechenzeit.
Die Wahl des Modells hängt vom Einsatzszenario ab. Für eine schnelle Prototyp-Suche auf einem Laptop reicht ein kompaktes Modell mit 384 Dimensionen. Für eine produktive mehrsprachige Suche über Millionen von Dokumenten ist ein größeres Modell mit höherer Benchmark-Leistung sinnvoller.
Die Sprache spielt eine wesentliche Rolle. Viele Modelle sind primär auf Englisch trainiert und verlieren bei deutschen Texten an Präzision. Modelle wie multilingual-e5-large oder deutsche-telekom/gbert-large-paraphrase-cosine sind gezielt auf Mehrsprachigkeit oder Deutsch optimiert.
Beispiel: Ein Unternehmen vergleicht zwei Modelle für eine deutschsprachige FAQ-Suche. Modell A (englisch-zentriert) erreicht bei deutschen Testfragen eine durchschnittliche Precision von 0,68. Modell B (multilingual) erreicht 0,81. Der Unterschied entsteht, weil Modell B deutsche Wortbildungsmuster und Komposita besser abbildet.
Grenzen und typische Fehlerquellen
Einbettungsmodelle haben systematische Grenzen, die beim Einsatz berücksichtigt werden müssen.
Maximale Eingabelänge. Jedes Modell hat eine maximale Tokenanzahl, die es verarbeiten kann. Text, der diese Grenze überschreitet, wird abgeschnitten. Bei BERT liegt die Grenze bei 512 Tokens, bei neueren Modellen bei 8192 oder mehr. Lange Dokumente müssen vor der Verarbeitung in Abschnitte zerlegt werden (Chunking).
Beispiel: Ein Vertragsdokument mit 15.000 Wörtern überschreitet die 512-Token-Grenze eines BERT-basierten Modells. Ohne Chunking gehen alle Informationen nach den ersten 512 Tokens verloren. Mit Chunking wird der Vertrag in Abschnitte von je 256 Tokens mit 64 Tokens Überlappung zerlegt.
Bedeutungsverschiebung. Ein Einbettungsmodell bildet die Bedeutung zum Zeitpunkt seines Trainings ab. Neue Begriffe, veränderte Wortbedeutungen oder domänenspezifisches Vokabular erkennt es nur, wenn es darauf trainiert wurde.
Beispiel: Ein 2022 trainiertes Modell kennt den Begriff "GPT-4" nicht und erzeugt dafür einen ungenauen Vektor. Eine Suche nach "GPT-4 Funktionen" liefert schlechtere Ergebnisse als eine Suche nach "Sprachmodell-Funktionen", obwohl beide dasselbe meinen.
Domänenabhängigkeit. Ein Modell, das auf allgemeinen Webdaten trainiert wurde, versteht medizinische, juristische oder technische Fachsprache weniger präzise. Fine-Tuning auf domänenspezifischen Daten verbessert die Qualität, erfordert aber geeignete Trainingspaare.
Kein Weltwissen. Ein Einbettungsmodell berechnet Ähnlichkeit auf Basis gelernter Muster. Es weiß nicht, dass Paris die Hauptstadt von Frankreich ist. Wenn zwei Texte eine hohe Ähnlichkeit aufweisen, bedeutet das nicht, dass ihr Inhalt faktisch korrekt ist.
Fachliche Einordnung: Die Qualität eines Einbettungsmodells in Benchmarks wie MTEB korreliert nicht zwangsläufig mit der Leistung in einer spezifischen Domäne. Ein Modell, das auf MTEB Rang 1 belegt, kann bei juristischen Fachtexten schlechter abschneiden als ein auf Rechtstexte feinjustiertes Modell mit niedrigerem Gesamtrang. Evaluation auf eigenen Daten bleibt unverzichtbar.