Start KI-Lösungen Fertige Lösungen Peers & Simulation RAG & Retrieval Use Cases Frameworks Blog English Kontakt
Zurück zum Blog

Matryoshka-Embeddings: Kürzere Vektoren in text-embedding-3

OpenAIs text-embedding-3-Modelle vom 25. Januar 2024 erlauben das Kürzen von Vektoren über einen dimensions-Parameter. Wir erklären die Technik dahinter — Matryoshka Representation Learning —, prüfen die Benchmark-Zahlen, rechnen die Speicherersparnis im Maßstab durch und zeigen, warum die Migration von ada-002 dennoch eine vollständige Neu-Einbettung des Korpus bedeutet.

Warum Embedding-Dimensionen zum Kostenfaktor wurden

Jedes Retrieval-System auf Embedding-Basis speichert pro Textabschnitt einen Vektor. Dessen Dimension gibt das Modell vor. text-embedding-ada-002, seit Dezember 2022 der Standard von OpenAI, liefert 1536 Dimensionen — 6.144 Byte pro Vektor in float32. Bei hundert Millionen Chunks sind das 614 GB an reinen Vektordaten, vor jeder Indexstruktur. HNSW-Indizes halten Vektoren im Arbeitsspeicher; die Dimensionszahl bestimmt damit Speicherkosten, Latenz und Hardware-Dimensionierung nahezu linear.

Bis Januar war diese Dimension nicht verhandelbar. Nachträgliche Reduktion per PCA existiert, fügt der Pipeline aber eine trainierte Transformation hinzu, die versioniert und auf jede Anfrage konsistent angewendet werden muss — und sie verschlechtert die Retrieval-Qualität auf schwer abschätzbare Weise. Die meisten Teams bezahlten schlicht für 1536 Dimensionen, ob ihr Anwendungsfall sie brauchte oder nicht. Die Kosten zeigten sich anderswo: größere Indizes, mehr RAM, langsamere Distanzberechnungen.

Dokumentechunks · vektoren Indexvektor + volltextgraph Frage Hybride Sucherrf Rerankercross-encoder Antwortmit quellen
Dokumente werden gechunkt, eingebettet und indexiert — Vektoren plus Volltext. 1/4

Was OpenAI am 25. Januar veröffentlicht hat

Am 25. Januar 2024 hat OpenAI zwei neue Embedding-Modelle veröffentlicht. text-embedding-3-small erzeugt 1536 Dimensionen und kostet 0,00002 $ pro 1.000 Token — fünfmal weniger als ada-002 mit 0,0001 $. Der MTEB-Durchschnitt steigt von 61,0 auf 62,3, der mehrsprachige MIRACL-Durchschnitt von 31,4 auf 44,0. text-embedding-3-large erzeugt bis zu 3072 Dimensionen für 0,00013 $ pro 1.000 Token und erreicht 64,6 auf MTEB sowie 54,9 auf MIRACL.

Strukturell interessant ist nicht das Benchmark-Delta, sondern der neue API-Parameter dimensions. Beide Modelle können gekürzte Vektoren zurückgeben; OpenAI schreibt, sie seien mit einer Technik trainiert, die Performance gegen Kosten eintauschbar macht. Die Ankündigung benennt sie kaum. Die Methode dahinter ist Matryoshka Representation Learning, veröffentlicht im Mai 2022 — lange vor dem Launch.

Matryoshka Representation Learning kompakt

MRL stammt von Kusupati et al. (arXiv:2205.13147) und wurde auf der NeurIPS 2022 vorgestellt. Das Problem: Konventionelles Training verteilt Information über alle Dimensionen eines Embeddings; schneidet man den Vektor ab, zerstört man seine Geometrie. MRL legt zusätzliche Trainingsverluste auf verschachtelte Präfixe des Vektors — typischerweise Halbierungsschritte wie 64, 128, 256 bis zur vollen Dimension —, sodass bereits die ersten m Dimensionen ein brauchbares Embedding bilden.

Das Paper berichtet bis zu 14-fach kleinere Embeddings bei gleicher Klassifikationsgenauigkeit auf ImageNet-1K, ohne Mehrkosten zur Inferenzzeit. Information interpoliert zudem: Auch Dimensionen zwischen den explizit trainierten Größen bleiben aussagekräftig. Die Struktur ist grob-zu-fein, wie die namensgebenden Schachtelpuppen — frühe Dimensionen tragen die allgemeinste Semantik, spätere fügen zunehmend Detail hinzu.

Vektoren kürzen mit minimalem Qualitätsverlust

Mit text-embedding-3 übergeben Sie entweder den Parameter dimensions im API-Aufruf, oder Sie kürzen den vollen Vektor selbst. Wer selbst trunkiert, muss das Ergebnis auf Einheitslänge renormalisieren: OpenAI liefert normalisierte Vektoren aus, und Indizes, die das Skalarprodukt als Kosinus-Ersatz verwenden, verlassen sich auf genau diese Eigenschaft. Nach den von OpenAI veröffentlichten Zahlen erreicht text-embedding-3-large, auf 256 Dimensionen gekürzt, noch 62,0 auf MTEB — mehr als das volle 1536-dimensionale ada-002 mit 61,0, bei zwölfmal weniger Gleitkommazahlen pro Vektor.

Wichtig ist, was das Verfahren nicht leistet. Die Token-Preise bleiben unverändert: Abgerechnet wird pro Eingabe-Token, unabhängig von der Ausgabegröße. Kürzen macht unterschiedliche Modellräume nicht vergleichbar. Und der Verlust ist klein, aber nicht null: 64,6 bei 3072 Dimensionen gegenüber 62,0 bei 256. Ob diese Lücke relevant ist, entscheidet Ihre Retrieval-Aufgabe, nicht der Benchmark.

Die Speicherrechnung im großen Maßstab

Float32 kostet 4 Byte pro Dimension, und im Korpusmaßstab ist die Arithmetik unerbittlich. Die Tabelle kombiniert die von OpenAI veröffentlichten MTEB-Durchschnitte mit dem reinen Vektorspeicher für einen Korpus von 100 Millionen Chunks. Index-Overhead, Replikate und Backups kommen zu diesen Zahlen in jedem Fall noch hinzu.

Meist limitiert der Arbeitsspeicher, nicht die Festplatte. Ein HNSW-Index über 3072-dimensionale float32-Vektoren braucht die vollen 1,23 TB im RAM plus Graph-Overhead; mit 256 Dimensionen passt derselbe Korpus in 102 GB. Das MRL-Paper zeigt außerdem adaptives Retrieval: Kandidaten mit kurzem Präfix vorauswählen, die Shortlist mit vollen Vektoren nachranken — mit bis zu 14-facher Beschleunigung in der Wall-Clock-Zeit bei vergleichbarer Genauigkeit.

ModellDimensionenMTEB-SchnittByte pro Vektor (float32)Speicher für 100 Mio. Vektoren
text-embedding-ada-002153661,06.144614 GB
text-embedding-3-small153662,36.144614 GB
text-embedding-3-small51261,62.048205 GB
text-embedding-3-large307264,612.2881,23 TB
text-embedding-3-large102464,14.096410 GB
text-embedding-3-large25662,01.024102 GB

Migration bedeutet vollständige Neuindexierung

Embedding-Räume verschiedener Modelle sind zueinander inkompatibel. Eine mit text-embedding-3-small eingebettete Anfrage kann keine ada-002-Dokumente durchsuchen, und auch gekürzte Vektoren der neuen Modelle werden dadurch nicht mit alten vergleichbar; eine Konvertierungsfunktion existiert nicht. Der Umstieg bedeutet deshalb: jeden Chunk im Korpus neu einbetten und jeden Index neu aufbauen. Eine Abkürzung gibt es nicht — und auch die beiden neuen Modelle spannen untereinander verschiedene Räume auf.

Die API-Rechnung ist der kleine Teil: Eine Milliarde Token kosten 20 $ mit 3-small und 130 $ mit 3-large. Teuer ist der Betrieb — Batch-Pipelines gegen Rate-Limits, eine Dual-Write-Phase, wenn das System online bleiben muss, und eine Retrieval-Evaluation auf eigenen Daten vor der Umschaltung. Eine praktische Konsequenz aus MRL: Speichern Sie einmal die vollen 3072 Dimensionen, dann lassen sich kürzere Indizes später per Trunkierung ableiten, ohne die API erneut aufzurufen.

Messen Sie, bevor Sie migrieren. Einige hundert annotierte Frage-Dokument-Paare aus der eigenen Domäne sagen mehr als jedes Leaderboard. Lassen Sie sie gegen den alten und den neuen Index laufen, in voller und gekürzter Dimension, und lassen Sie die Deltas die Konfiguration entscheiden. In unseren Projekten ist dieses Evaluationsset das am besten wiederverwendbare Artefakt einer Migration.

Ausblick vom Februar 2024

Wir erwarten, dass Matryoshka-Training zur Standardeigenschaft von Embedding-Modellen wird, statt ein Alleinstellungsmerkmal von OpenAI zu bleiben. Die Open-Source-Seite hat binnen drei Wochen nachgezogen: Nomic hat am 14. Februar 2024 nomic-embed-text-v1.5 veröffentlicht — mit MRL trainiert, skalierbar von 768 bis hinunter zu 64 Dimensionen, mit offenen Gewichten und offenen Trainingsdaten. Bei 256 Dimensionen erreicht es 61,04 auf MTEB — weniger als einen Punkt unter der vollen Größe.

Zwei Entwicklungen halten wir von hier aus für wahrscheinlich. Vektordatenbanken werden native Unterstützung für Multi-Resolution-Indizes und Trunkierung zur Abfragezeit bekommen. Und MRL wird mit skalarer und binärer Quantisierung kombiniert werden, die an den 4 Byte pro Dimension ansetzt statt an der Dimensionszahl — die Ersparnisse multiplizieren sich. Speicher wird aufhören, die Modellwahl zu diktieren. Was bleibt, ist der Teil, den kein Launch-Post abnimmt: die Bewertung der Retrieval-Qualität auf dem eigenen Korpus.

Quellen