Sinnvoll geclustert: Smarte Suche mit Vektoren​

Seite 3: Der Einstieg in RAG mit einer Vektordatenbank gelingt und liefert brauchbare Ergebnisse

Inhaltsverzeichnis

Der Weg zu einer performanten, qualitativ hochwertigen und im Betrieb kostengünstigen Suche auf Basis einer Vektordatenbank ist nicht allzu schwer. Im Vergleich lassen sich die zurückgelieferten Antworten für alle Testabfragen als gut einstufen, und sie wären mit alternativen Ansätzen so nicht ermittelbar gewesen. Anhand des gewählten Beispiels einer Musikdatenbank ergeben sich die folgenden wesentlichen Erkenntnisse:

  • Für die initiale Transformierung der Quelldaten in Vektoren empfiehlt sich ein GPU-basiertes System, um eine höhere Performance zu erzielen (im Test ca. Faktor zehn gegenüber CPU-System). Für die Aktualisierung mit neuen oder geänderten Daten reicht in den meisten Fällen ein schlankes System (ohne GPU).
  • Die laufenden Kosten und die dauerhafte Abhängigkeit von Closed-Source-Transformern (wie von OpenAI) sind nicht zu unterschätzen, da diese nur via API erreichbar sind. Qualitativ punktet der OpenAI-Transformer sehr gut, im eingeschränkten Vergleichsbeispiel erschien der Open-Source-Transformer all-mpnet-base-v2 jedoch ebenbürtig. Es gibt wenig konkrete andere Benchmarks hinsichtlich OpenAI vs. Open Source aber zumindest Indikationen.
  • Die Performance bei Suchabfragen lag im Beispiel für alle Indexierungsmethoden nahezu gleichauf, da der Datenbestand komplett In-Memory durchsucht werden konnte. Fällt der Arbeitsspeicher (RAM) knapper aus, zeigen sich Vorteile für die schlanke Bibliothek FAISS respektive den dort verwendeten Inverted File Index (IVF).
  • Als der größte Hebel für die Qualität der Suchergebnisse erwies sich im Beispiel die Transformierung; die verwendete Vektordatenbank oder der Indexierungs-Algorithmus spielten eine deutlich untergeordnete Rolle.
  • ELSER ist für bestehende Elastic Search-Kunden, die einen niedrigschwelligen Einstieg in Vektordatenbanken suchen, eine interessante Option, die Trefferqualität bleibt aber hinter den anderen Optionen zurück. Darüber hinaus sind die Kosten aufgrund des benötigten Platinum-Levels eher hoch.
  • Sofern es der individuelle Use Case zulässt, sollten alle Daten im RAM vorliegen, weitere Optimierungen (Index-Typ) sind dann verzichtbar. Dafür geeignete VMs mit 256 GByte RAM gibt es bei verschiedenen Hyperscalern bereits ab etwa 1,50 Euro/h. Alternativ lassen sich als lokale Server-Option Systeme mit je 256 GByte RAM ab ca. 6.500 Euro nutzen (z.B. Dell R750, HPE DL380 etc.). Egal ob in der Cloud oder On Premises, auf Basis solcher Systeme lässt sich eine mächtige Suche bauen, die für viele Millionen Datensätze (auch längerer Texte) geeignet ist.

Zwecks Nachvollziehbarkeit ist der für den Test verwendeten Quellcode im GitHub-Repo des Autors abrufbar.

(map)