Bedeutung als Vektor
Wie ein Sprachmodell Bedeutung in Zahlen übersetzt. Wir erklären den Vektorraum erst in zwei Dimensionen, dann in vielen - und sehen, was ein Embedding-Modell daraus macht.
„Bedeutung" klingt erstmal abstrakt. Computer rechnen mit Zahlen, nicht mit Bedeutung. Der Trick: man bildet Bedeutung auf Zahlen ab. Das passiert in einem Vektorraum.
Zwei Dimensionen reichen für ein Bauchgefühl
Stell dir eine Karte vor mit zwei Achsen: Größe auf der x-Achse, Gelbgrad auf der y-Achse.
Tippe einen Namen ein und zieh den ★ dorthin, wo du ihn auf diesen zwei Achsen vermutest. Es gibt kein Richtig - genau das ist der Punkt: Bedeutung lebt in Koordinaten, die du selber setzt.
- Eine Maus ist klein und nicht gelb → unten links.
- Eine Giraffe ist groß und ein bisschen gelb → oben rechts.
- Eine Honigbiene ist klein und sehr gelb → oben links.
Probier's selbst: tippe oben einen Namen ein und zieh den ★ dorthin, wo du das Wort vermutest.
Was du gerade gemacht hast: jedem Tier einen Punkt im 2D-Raum zugewiesen, der seine Bedeutung entlang dieser zwei Achsen beschreibt. Tiere mit ähnlicher Bedeutung liegen nah beieinander. Das ist der Kern jedes Embeddings.
Mehr Dimensionen, mehr Welt
Zwei Dimensionen sind zu wenig. Lebt im Wasser? Säugetier oder nicht? Friedlich oder gefährlich? Tag- oder nachtaktiv? Jede dieser Eigenschaften wird zu einer eigenen Achse - und plötzlich kannst du Tiere wirklich gut auseinanderhalten.
Ein modernes Embedding-Modell vergibt nicht 2 oder 4, sondern hunderte bis tausende Dimensionen. Niemand sagt dem Modell explizit, was jede Dimension bedeutet - sie entstehen während des Trainings als das, was zur Trennung von Konzepten am besten taugt.
Embedding-Modelle: Größe vs. Qualität
Drei Modelle, die wir im Lab nutzen:
| Modell | Dimensionen | Anker |
|---|---|---|
all-minilm | 384 | Klein, schnell, unterirdisch billig |
nomic-embed-text | 768 | Solider Mittelweg, gutes Englisch + DE |
mxbai-embed-large | 1024 | Multilingual, klar besser auf Paraphrasen |
Mehr Dimensionen heißt typischerweise mehr Nuance - aber auch mehr Speicher, mehr Latenz, größerer Index.
Auch Embedding-Modelle haben ein Kontextfenster
Ein wichtiger Haken: Embedding-Modelle verarbeiten typischerweise nur ein paar hundert bis ein paar tausend Tokens auf einmal. Wie groß die Spanne wirklich ist, zeigt ein Blick auf unsere drei Lab-Modelle:
| Modell | Kontextfenster | Grobe Vorstellung |
|---|---|---|
all-minilm | 256 Tokens | etwa ein langer Absatz |
mxbai-embed-large | 512 Tokens | eine halbe Seite |
nomic-embed-text | 8192 Tokens | rund zehn Seiten Text |
Faktor 32 zwischen kleinstem und größtem Fenster - und genau das wird gleich relevant. Alles, was über das Limit hinausgeht, wird vom Modell stillschweigend abgeschnitten: kein Fehler, kein Warning, der Rest verschwindet einfach. Genau deshalb müssen wir längere Texte vor dem Embedden bewusst zerlegen. Das ist die Brücke zum nächsten Kapitel.
Von vielen Achsen zu zweien: PCA
Wir haben gerade gesagt, dass moderne Embedding-Modelle hunderte bis tausende Dimensionen vergeben. Ein Bildschirm hat zwei. Wie kommt man von 1024 Achsen runter auf zwei, ohne komplett zu lügen?
Die Standardantwort heißt PCA - Principal Component Analysis. PCA sucht im hochdimensionalen Raum die beiden Achsen, entlang derer die Punkte am stärksten streuen - also dort, wo die größten Bedeutungsunterschiede sitzen - und projiziert alle Vektoren auf diese Ebene. Was übrig bleibt, ist ein 2D-Bild, das so viel der ursprünglichen Struktur zeigt, wie zwei Achsen eben können.
Wichtig: das ist eine Krücke fürs Auge. 1022 Achsen werden weggeschnitten. Wenn die Wolken im Lab unscharf wirken, ist das oft weniger das Modell selbst als diese drastische Reduktion. Das eigentliche Embedding ist immer noch 1024-dimensional und sauber - nur unsere Sicht darauf ist flach.
Lab: Embedding-Explorer
In Lab 2 Embedding-Explorer projizieren wir eine kuratierte Auswahl von Begriffen aus vier Bereichen - Tiere, Fahrzeuge, Essen, Städte - per PCA auf 2D. Jeder Punkt ist genau ein Begriff. Du siehst, wie sich die vier Themen in eigene Wolken sortieren, obwohl das Modell nie eine Kategorie gelernt hat - es kennt nur die Wörter.
Wechsel das Modell und sieh den Clustern beim Wandern zu: Ein größeres Modell zieht die Cluster oft schärfer auseinander, ein kleineres lässt sie verschwimmen. Wechsel mal auf nomic-embed-text und beobachte, was passiert - bei Einzelwörtern kippen die Punkte fast übereinander. Das Modell ist auf längere Passagen trainiert; einzelne Tokens reichen ihm nicht, um sinnvolle Bedeutung zu kodieren. Genau die Art Falle, die in echten RAG-Setups Embeddings unbrauchbar machen kann.
Tippe ein eigenes Wort wie „Raubvogel" oder „Hauptstadt" und beobachte, wo der Punkt landet. Schon das gibt dir ein Bauchgefühl dafür, was das Modell unter „Bedeutung" versteht.
Worauf du besonders achten solltest: Tippst du ein Wort ein, das in keinem der vier Cluster lebt - z.B. „Blume" oder „Wolke" -, liefert das Modell trotzdem einen „nächsten Nachbarn" und manchmal einen überraschenden, etwa „Brot" für „Blume". Das ist kein Bug. Bei Einzelwörtern liegen die Cosinus-Werte oft eng beieinander (typischerweise 0.5-0.7), und das Modell wählt eher „das geringste Übel" als eine echte Bedeutungsverwandtschaft. Genau die Sorte Ergebnis, die in echten RAG-Setups zu schlechten Antworten führt - und ein Grund, warum wir später ganze Sätze und nicht Einzelwörter einbetten.
Diskussion· noch keine Beiträge
Unser Kommentar-Agent liest jeden neuen Beitrag, bedankt sich oder empfiehlt passende Inhalte.
Sei die erste Stimme - was denkst du dazu?
Melde dich an, um mitzudiskutieren.
Anmelden