Schema eines Two-Tower-Retrieval-Modells: links ein Turm, der eine Suchanfrage in einen Vektor umwandelt, rechts ein Turm, der Inhalte vorab in Vektoren umwandelt und in einer Vektordatenbank speichert; in der Mitte der Ähnlichkeitsvergleich, der die nächstgelegenen Treffer ausgibt.

Two-Tower-Retrieval-Modell

Ein Two-Tower-Retrieval-Modell ist ein Suchverfahren, bei dem zwei getrennte Programmteile die Suchanfrage und die durchsuchten Inhalte unabhängig voneinander in Zahlenlisten übersetzen. Weil die Inhalte schon vorher umgerechnet werden können, findet das System aus Millionen Einträgen in Millisekunden die passendsten.

Wenn du bei einem Streamingdienst etwas suchst, muss das System aus Millionen Titeln blitzschnell die passenden finden. Ein Two-Tower-Retrieval-Modell löst genau diese Aufgabe. Es besteht aus zwei getrennten Teilen, den sogenannten Türmen. Der eine Turm verwandelt deine Suchanfrage in eine lange Liste von Zahlen. Der andere Turm macht dasselbe mit jedem einzelnen Film, Produkt oder Textabschnitt in der Datenbank. Passen zwei solcher Zahlenlisten gut zusammen, gilt der Inhalt als passende Antwort.

Warum zwei getrennte Türme schneller sind als einer

Man könnte Suchanfrage und Inhalt auch gemeinsam von einem einzigen Programm bewerten lassen. Das wäre genauer, denn das Programm könnte beide Texte direkt miteinander vergleichen. Aber es müsste diese Rechnung für jeden Kandidaten einzeln durchführen. Bei zehn Millionen Filmen wären das zehn Millionen Rechenvorgänge pro Suche. Kein Nutzer würde so lange warten.

Der Trick der Zwei-Turm-Bauweise ist die Trennung. Weil der Inhaltsturm die Suchanfrage gar nicht kennt, kann er seine Arbeit lange im Voraus erledigen. Alle Filme werden einmal nachts in Zahlenlisten umgerechnet und gespeichert. Kommt dann eine Suchanfrage, muss das System nur noch einen einzigen Turm laufen lassen. Der Rest ist ein reiner Zahlenvergleich, und den beherrschen Computer extrem gut.

Der Preis dafür ist Genauigkeit. Die beiden Türme sehen sich nie gegenseitig, sie können also keine feinen Bezüge zwischen Frage und Inhalt herstellen. Deshalb nutzt man das Verfahren meist nur als erste Stufe. Es siebt aus Millionen Einträgen ein paar hundert Kandidaten heraus. Ein genaueres, langsameres Modell sortiert diese Restliste danach neu.

Wie aus Text eine Zahlenliste wird

Jeder Turm ist ein neuronales Netz, also ein Programm, das aus Beispielen gelernt hat. Seine Ausgabe ist ein Vektor: eine Liste von zum Beispiel 256 Zahlen. Man kann sich diese Liste als Koordinaten in einem sehr hochdimensionalen Raum vorstellen. Inhalte mit ähnlicher Bedeutung landen dort nah beieinander. Der Abstand zwischen zwei Punkten misst also die inhaltliche Ähnlichkeit.

Gelernt wird das mit Paaren, von denen man weiß, dass sie zusammengehören. Ein Beispiel ist eine Suchanfrage und der Titel, den der Nutzer danach tatsächlich angeklickt hat. Beim Training wird das Modell so verändert, dass solche Paare näher zusammenrücken. Gleichzeitig werden zufällige, unpassende Paare auseinandergeschoben. Nach Millionen solcher Beispiele haben beide Türme einen gemeinsamen Raum gelernt, obwohl sie völlig getrennt arbeiten.

Das Durchsuchen der gespeicherten Vektoren übernimmt eine spezielle Datenbank. Sie vergleicht nicht stur alle Einträge, sondern nutzt eine Art Voraussortierung nach Nachbarschaften. Dadurch findet sie die nächsten Punkte in wenigen Millisekunden. Diese Suche ist nicht hundertprozentig exakt, aber die wenigen Fehltreffer fallen in der Praxis kaum ins Gewicht.

Von der Produktsuche bis zum KI-Chatbot

Empfehlungssysteme großer Plattformen bauen fast immer auf diesem Prinzip auf. Bei YouTube oder in Onlineshops muss die erste Vorauswahl aus einem riesigen Katalog kommen. Dort steht im einen Turm oft gar kein Text, sondern das Profil eines Nutzers: bisherige Klicks, Verweildauer, Gerät. Der andere Turm beschreibt das Video oder Produkt. Das Prinzip bleibt identisch.

In News über KI taucht die Bauweise meist im Zusammenhang mit RAG auf, also mit Chatbots, die vor der Antwort in einer Dokumentensammlung nachschlagen. Genau dieses Nachschlagen erledigt ein Two-Tower-Modell. Es sucht die Textabschnitte heraus, die zur Frage passen, und reicht sie an das Sprachmodell weiter. Ein verbreiteter Irrtum ist, das Sprachmodell selbst würde suchen. Tatsächlich sitzt davor ein eigenes, viel kleineres Retrieval-Modell.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.