Embeddings verständlich erklärt: Vektoren im semantischen Raum
Ein Embedding (zu Deutsch: Einbettung) ist eine Methode der künstlichen Intelligenz, um Wörter, Sätze, Dokumente oder sogar Bilder in eine Liste von Zahlen (einen mathematischen Vektor) zu übersetzen. Diese Zahlen repräsentieren den semantischen (inhaltlichen) Gehalt der Daten im n-dimensionalen Raum. Dadurch können Computer die Bedeutung von Sprache berechnen und vergleichen.
Embeddings sind das Bindeglied zwischen menschlicher Sprache und den mathematischen Operationen eines Large Language Models. Ohne sie gäbe es keine semantische Suche und damit auch kein Retrieval-Augmented Generation (RAG), denn erst die Umwandlung von Text in vergleichbare Vektoren macht die Bedeutung berechenbar.
Der semantische Raum: Mathematik trifft Bedeutung
Computer können nicht mit Worten rechnen, sondern nur mit Zahlen. Eine einfache Methode wäre, jedem Wort im Wörterbuch eine fortlaufende Nummer zu geben (z. B. Haus = 1, Hütte = 2, Aktie = 3). Diese Methode hat jedoch einen entscheidenden Nachteil: Sie drückt keine inhaltlichen Beziehungen aus. Der Abstand zwischen Haus und Hütte ist mathematisch genauso gross wie zwischen Haus und Aktie.
Embeddings lösen dieses Problem, indem sie Daten in einem hochdimensionalen Raum platzieren. Wörter mit einer ähnlichen Bedeutung liegen in diesem Raum nahe beieinander, während sich unähnliche Begriffe weit voneinander entfernt befinden.
▲ Dimension 2 (Wohnbezug)
│
│ [Haus] [Hütte]
│
│
│ [Aktie]
│
└────────────────────────────────────────► Dimension 1 (Finanzbezug)
In diesem stark vereinfachten 2D-Beispiel haben Haus und Hütte einen hohen Wert auf der Achse „Wohnbezug“, während die Aktie weit rechts auf der Achse „Finanzbezug“ liegt. In der Praxis nutzen Embedding-Modelle 768 bis über 1500 Dimensionen, um feinste Bedeutungsnuancen (wie Tonalität, Zeitform, grammatikalische Rolle) abzubilden.
Das berühmte Vektor-Rechenbeispiel
Da Wörter nun als Koordinaten im Raum vorliegen, kann man mit ihnen rechnen. Das bekannteste Beispiel zur Veranschaulichung semantischer Vektoren lautet:
$$\text{Vektor}(\text{König}) - \text{Vektor}(\text{Mann}) + \text{Vektor}(\text{Frau}) \approx \text{Vektor}(\text{Königin})$$
Zieht man vom Vektor für König die Eigenschaft männlich ab und addiert die Eigenschaft weiblich, zeigt das mathematische Ergebnis im Vektorraum fast exakt auf die Koordinate des Begriffs Königin.
Wie werden Vektoren verglichen? (Ähnlichkeitsmetriken)
Um herauszufinden, ob zwei Sätze eine ähnliche Bedeutung haben, berechnet man den Abstand zwischen ihren Vektoren. Die am häufigsten verwendeten mathematischen Methoden sind:
- Cosine Similarity (Kosinus-Ähnlichkeit): Misst den Winkel zwischen zwei Vektoren im Raum. Zeigen beide Vektoren in exakt dieselbe Richtung, ist die Ähnlichkeit 1 (100 %). Stehen sie im rechten Winkel zueinander, ist sie 0. Dies ist die Standardmethode für Textvergleiche, da sie unabhängig von der Textlänge funktioniert.
- Dot Product (Skalarprodukt): Berechnet die Summe der multiplizierten Einzelwerte. Sie ist extrem schnell zu berechnen, setzt aber voraus, dass die Vektoren normalisiert sind (gleiche Länge haben).
- Euklidischer Abstand: Misst die direkte Luftlinie zwischen zwei Punkten. In der Textanalyse wird dieser seltener genutzt, da unterschiedliche Textlängen das Ergebnis verzerren.
Typische Anwendungsgebiete
- Suchmaschinen (Semantische Suche): Eine Suche nach „Fahrzeug reparieren“ findet auch Dokumente mit den Begriffen „Auto instandsetzen“, obwohl kein einziges Wort übereinstimmt.
- Retrieval-Augmented Generation (RAG): Die Fragestellung des Nutzers wird in ein Embedding konvertiert, um in einer Vektordatenbank die semantisch passendsten Textabschnitte aus den Quelldokumenten zu finden.
- Empfehlungsdienste (Recommendation Engines): Artikel, die thematisch nahe am Leseverlauf des Nutzers liegen, können über Vektorabstände blitzschnell ermittelt werden.
Embedding-Modelle im Vergleich
Die Wahl des Embedding-Modells beeinflusst Qualität, Kosten und Datenschutz eines Suchsystems erheblich. Die wichtigsten Kriterien:
| Kriterium | Bedeutung | Praxis-Tipp |
|---|---|---|
| Dimensionen | Mehr Dimensionen = feinere Bedeutungsunterschiede, aber mehr Speicher | 768–1536 sind ein guter Kompromiss |
| Sprachunterstützung | Mehrsprachige Modelle für deutsche Inhalte nötig | Auf explizite Deutsch-Unterstützung achten |
| Kontextlänge | Maximale Token-Zahl pro Einbettung | Muss zur Chunk-Grösse passen |
| Betrieb | API (Cloud) vs. Self-Hosted | Bei sensiblen Daten Self-Hosting wählen |
Vom Dokument zum durchsuchbaren Vektor
In einem RAG-System entstehen Embeddings nicht aus ganzen Dokumenten, sondern aus kleineren Abschnitten. Der typische Ablauf:
- Chunking: Das Dokument wird in sinnvolle Abschnitte zerlegt (siehe Chunking).
- Einbettung: Jeder Chunk wird durch das Embedding-Modell in einen Vektor umgewandelt.
- Speicherung: Die Vektoren landen in einer Vektordatenbank, die auf schnelle Ähnlichkeitssuche optimiert ist.
- Abfrage: Zur Laufzeit wird die Nutzerfrage mit demselben Modell eingebettet und die Vektorsuche liefert die ähnlichsten Chunks.
Wichtig: Die Qualität der Suche steht und fällt mit dem Zusammenspiel aus Embedding-Modell und Chunk-Strategie – zu grosse Chunks verwässern den Vektor, zu kleine verlieren Kontext.
Typische Fehler bei der Arbeit mit Embeddings
- Modell-Mismatch: Anfrage und Index wurden mit unterschiedlichen Modellen erzeugt – die Vektoren sind dann nicht vergleichbar.
- Sprachmismatch: Ein nur auf Englisch trainiertes Modell liefert für deutsche Texte schlechte Treffer.
- Zu grosse Chunks: Ein langer Abschnitt mit mehreren Themen ergibt einen «verwaschenen» Durchschnittsvektor.
- Fehlende Normalisierung: Beim Dot Product führen nicht normalisierte Vektoren zu verzerrten Ähnlichkeitswerten.
[!TIP] Embeddings sind das Herzstück moderner RAG-Systeme. Sie wandeln Kundenfragen und Dokumente in Vektoren um, um eine präzise Suche zu ermöglichen. Sehen Sie in der RAG-Demo auf allerate.dev live, wie Dokumente im Hintergrund vektorisiert und durchsucht werden.
Häufig gestellte Fragen (FAQ)
Wie gross ist ein typischer Embedding-Vektor?
Je nach Modell besteht ein Vektor aus Hunderten bis Tausenden von Zahlen (Dimensionen). Beliebte Modelle wie OpenAIs text-embedding-3-small nutzen standardmässig 1536 Dimensionen, Open-Source-Modelle oft 768 oder 1024 Dimensionen.
Kann man Embeddings wieder in Text zurückübersetzen?
Nein, jedenfalls nicht direkt. Ein Embedding ist eine Einwegfunktion, die den semantischen Kern extrahiert. Es speichert nicht den genauen Wortlaut, sondern die Bedeutung. Es ist jedoch möglich, über generative Modelle Texte zu erzeugen, die eine ähnliche Bedeutung wie der Vektor aufweisen.
Muss ich für Suche und Indexierung dasselbe Embedding-Modell verwenden?
Ja, zwingend. Anfrage und gespeicherte Dokumente müssen mit demselben Modell vektorisiert werden, da unterschiedliche Modelle unvergleichbare Vektorräume erzeugen. Wechseln Sie das Modell, müssen Sie alle Dokumente neu einbetten (Re-Embedding).
Was kostet das Erstellen von Embeddings?
Bei API-Modellen wird pro Token abgerechnet, wobei Embedding-Modelle deutlich günstiger sind als generative Modelle. Open-Source-Modelle lassen sich kostenlos selbst betreiben, benötigen dafür aber eigene Rechenleistung. Die einmalige Indexierung grösserer Dokumentbestände sollte man dennoch budgetieren.