Künstliche Intelligenz

Wie bringt LEMUR die Late-Interaction-Suche in txtai näher an herkömmliche Vektorindizes?

Ein Artikel aus der Hugging-Face-Community erläutert die Integration von LEMUR in txtai, um Multi-Vektor-Suchrepräsentationen in indexierbare Vektoren fester Größe umzuwandeln, sowie die Ergänzung der Option „Mean Centering“ zur Verarbeitung der Geometrie von Token-Vektoren in bestimmten Modellen. Die Ergebnisse zeigen in begrenzten Tests deutliche Verbesserungen, reichen jedoch nicht aus, um eine allgemeine Überlegenheit gegenüber allen Modellen oder Indexierungsmethoden zu behaupten.

2026-08-17
7 Min. Lesezeit
9 Aufrufe
فريق تحرير certi.news
Wie bringt LEMUR die Late-Interaction-Suche in txtai näher an herkömmliche Vektorindizes?

Die Integration von LEMUR in txtai behandelt ein praktisches Problem von Late-Interaction-Retrieval-Modellen: Diese Modelle speichern einen Vektor für jedes Token der Abfrage oder des Dokuments. Dadurch erhalten sie detailliertere Informationen als eine Darstellung jedes Textes durch einen einzigen Vektor, ihre Verwendung mit herkömmlichen Dense-Retrieval-Indizes wird jedoch schwieriger. txtai bietet einen Weg, diese Multi-Vektor-Darstellung in einen Vektor mit fester Dimensionalität umzuwandeln, der über denselben Indextyp durchsucht werden kann. Zusätzlich gibt es die einstellbare Option „Mean Centering“, um die Richtungsunterschiede in Token-Vektoren besser zu nutzen, wenn diese sich stark ähneln.

Der am 13. August 2026 im Hugging-Face-Blog als Community-Artikel von Morgan Carr veröffentlichte Beitrag erläutert die Beweggründe für die Änderung, die Ergebnisse bestimmter Experimente sowie das Trainieren und Laden eines LEMUR-Artefakts in txtai. Er präsentiert das Ergebnis nicht als allgemeines Ranking von Retrieval-Techniken, da sich die Vergleiche auf ein Modell, drei Datensätze, ein Gerät und eine exakte Suche beschränkten.

Von mehreren Vektoren zu einem indexierbaren Vektor

Bei der Late-Interaction-Suche werden alle Abfrage-Tokens mithilfe von MaxSim mit den Dokument-Tokens verglichen: Für jedes Abfrage-Token wird der stärkste Treffer behalten, anschließend werden diese Werte summiert. LEMUR, kurz für Learned Multi-Vector Retrieval, lernt eine Darstellung mit fester Dimensionalität, die versucht, das Ergebnis dieser Interaktion anzunähern und gleichzeitig die Verwendung eines herkömmlichen Vektorindex zu ermöglichen.

Das LEMUR-Artefakt in txtai besteht aus einem Feature-Encoder, Statistiken zur Normalisierung der Ausgaben und einer Stichprobe von Token-Vektoren. Während der Inferenz wird die Abfrage in eine Summe gelernter Features umgewandelt, während das Dokument durch eine Menge von Gewichten der gewöhnlichen kleinsten Quadrate über der gespeicherten Stichprobe dargestellt wird. Das innere Produkt zwischen den beiden Vektoren fester Größe approximiert das ursprüngliche Ergebnis der Late Interaction.

Das erzeugte Artefakt ist spezifisch für den beim Training verwendeten Datensatz und muss vor dem Laden eines Embeddings-Index in txtai trainiert werden. Das Artefakt wird als config.json und model.safetensors gespeichert. Die Einstellung epochs=100 aktiviert den qualitätsorientierten MLP-Pfad, während epochs=0 deterministische zufällige ELM-Features als kostengünstigere Alternative auswählt.

Die Wahl der Trainingsdaten war ein entscheidender Faktor

Eine Ablationsstudie auf der nfcorpus-Sammlung zeigte, dass die Verteilung der Vektoren, die zum Erlernen der Feature-Abbildung verwendet wird, einen größeren Einfluss hat als einige andere Trainingsentscheidungen. Wurde der MLP auf Vektoren des Dokumenten-Encoders trainiert, erreichte NDCG@10 den Wert 0.15870 und lag damit unter dem Ergebnis des untrainierten ELM von 0.19187. Bei Verwendung von Vektoren des Abfrage-Encoders stieg der Wert auf 0.24868 und erreichte nach einer auf der Validierung basierenden Wahl der Anzahl der Epochen 0.25534.

Der im Beitrag enthaltenen Analyse zufolge erklärte die Wahl der Lernverteilung 93 % der gemessenen Verbesserung zwischen dem Experiment mit Dokumentenvektoren und dem Endergebnis, während die Wahl der Epochen die verbleibenden 7 % beitrug. Deshalb setzt LemurTrainer learncategory standardmäßig auf query. Alternativ kann data gewählt oder eine separate Lernmenge übergeben werden.

Was zeigte der Vergleichstest?

Für den Vergleich wurden das Modell colbert-ir/colbertv2.0, eine NVIDIA GeForce RTX 4080 SUPER, torch 2.13.0+cu130 und eine exakte Faiss-Suche über IDMap,Flat verwendet. Verglichen wurden die Standardversion von MUVERA mit 10.240 Dimensionen, eine auf 2.048 Dimensionen reduzierte MUVERA-Version sowie LEMUR mit einer MLP-Darstellung mit 2.048 Dimensionen.

  • Auf nfcorpus erzielte LEMUR den Wert 0.25524 gegenüber 0.16299 für MUVERA mit derselben Größe und 0.23544 für MUVERA mit der Standardgröße.
  • Auf scifact erzielte LEMUR den Wert 0.54910 gegenüber 0.36757 für die reduzierte MUVERA-Version und 0.50021 für die Standardversion.
  • Auf arguana erzielte LEMUR den Wert 0.42556 gegenüber 0.26280 für die reduzierte MUVERA-Version und 0.34614 für die Standardversion.

Dies entspricht gegenüber MUVERA mit derselben Größe einer Verbesserung von 56,6 % auf nfcorpus, 49,4 % auf scifact und 61,9 % auf arguana. Im Vergleich mit dem Standardvektor von MUVERA betrug die Verbesserung 8,4 %, 9,8 % beziehungsweise 22,9 %. Außerdem belegten die LEMUR-Indizes bei der Messung ein Fünftel des Speicherplatzes der Standard-MUVERA-Indizes, da die Vektorbreite von 10.240 auf 2.048 Dimensionen sank.

Der Umfang dieser Zahlen ist jedoch wichtig: Die Experimente zu fiqa und scidocs aus dem erforderlichen Datensatz wurden nicht abgeschlossen. Zudem basierten die Messungen auf einem Modell, einem Gerät und einer exakten Suche. txtai verwendet bis zu 5.000 Zeilen eine exakte Suche und wechselt anschließend zu einem IVF-Index. Im scifact-Experiment verringerte der Standard-IVF-Index NDCG@10 für LEMUR gegenüber der exakten Suche um 43 %, während der Rückgang bei MUVERA 25 % betrug. Daher kann nicht davon ausgegangen werden, dass das Ergebnis der exakten Suche bei einer Skalierung oder bei der Verwendung einer approximativen Suche unverändert bleibt.

Warum wurde Mean Centering hinzugefügt?

Beim Wechsel von ColBERTv2 zu lightonai/LateOn zeigte der Test, dass die Token-Vektoren eine stark ähnliche Richtungsorientierung aufwiesen. In einer Stichprobe von 5.000 Paaren betrug die durchschnittliche Kosinusähnlichkeit zwischen den Vektoren 0.9508, während die Streuung von MaxSim 0.0559 betrug. Nach dem Abziehen des Gruppenmittelwerts und einer erneuten Normalisierung sank die Ähnlichkeit auf 0.0033 und die Streuung von MaxSim stieg auf 0.4772. Dies ist selbst kein Retrieval-Maß, deutet aber darauf hin, dass das Zentrieren dem Encoder mit fester Dimensionalität einen größeren Richtungsraum zur Erfassung bot.

Retrieval-Tests bestätigten, dass der Nutzen vom Modell abhängt. In der LateOn-Matrix war das Zentrieren auf Batch-Ebene in allen vier gemessenen Zellen stärker als die Deaktivierung oder die Verwendung des Gruppenmittelwerts. So stieg das LEMUR-Ergebnis auf nfcorpus beispielsweise von 0.00000 ohne Zentrierung auf 0.33309 mit Batch-Zentrierung, während es auf scifact von 0.04985 auf 0.69016 stieg. Experimente mit ColBERTv2 zeigten jedoch, dass Zentrierung für MUVERA neutral sein oder schaden kann. Daher wurde sie nicht als bedingungslos globale Option präsentiert.

Die Standardeinstellung der integrierten Änderungen aktiviert Batch-Zentrierung, wenn das geladene Modell mehr als eine lineare Schicht von torch.nn.Linear enthält. Modelle mit null oder einer Schicht behalten ihr bisheriges Verhalten bei; die Entscheidung kann manuell überschrieben werden. Die Zentrierung erfolgt nach der Normalisierung der Token-Vektoren und vor LEMUR oder MUVERA, anschließend wird eine weitere Normalisierung durchgeführt. Als Bereich können document, batch oder collection gewählt werden. Der Bereich collection akzeptiert außerdem einen eingebetteten Mittelwert oder eine Safetensors-Datei mit center.mean.

Was ändert sich praktisch für die Nutzer?

Die Verwendung von LEMUR erfordert vor der Erstellung des Index einen separaten Trainingsschritt. Außerdem müssen die Einstellungen der Vektoren während des Trainings mit den Einstellungen beim Laden übereinstimmen. Das veröffentlichte Beispiel verwendet center: true mit einem LEMUR-Artefakt und installiert Faiss für IDMap,Flat, wenn eine exakte Suche praktikabel ist. Die in dem Beitrag veröffentlichte neuere Version von txtai ist v9.12.0, während die integrierten Änderungen auf v9.13.0 abzielen. Um den Stand vor der Veröffentlichung der Version zu testen, kann in einer isolierten Umgebung die master-Version aus dem GitHub-Repository installiert werden.

Die praktische Schlussfolgerung lautet nicht, dass LEMUR oder Zentrierung in jedem Fall überlegen sind. Vielmehr stellt txtai nun zwei getrennte Werkzeuge für zwei unterschiedliche Probleme bereit: LEMUR zur Reduzierung einer Late-Interaction-Darstellung auf einen Vektor fester Größe und Zentrierung zur Behandlung einer für bestimmte Modelle ungeeigneten Geometrie der Token-Vektoren. Bevor die Ergebnisse verallgemeinert werden, sind weiterhin umfassendere Tests mit verschiedenen Modellen, Datensätzen und abgestimmten approximativen Indizes erforderlich.

Nachrichtenquelle
Hugging Face Blog
Originalquelle öffnen ↗
ف
Autor

فريق تحرير certi.news

Aus derselben Kategorie

Das könnte Sie interessieren

Alle Nachrichten anzeigen