KI‑Kompass
Kompass

Vektordatenbanken

Wie man in Millionen Vektoren den nächsten Nachbarn findet, ohne alle zu vergleichen: HNSW, IVF und der Zielkonflikt zwischen Trefferquote und Latenz.

·2 Min. Lesezeit·Von Fachredaktion Technik
DETAILGRAD
3 Abschnitte

Die Idee

Ein Embedding verwandelt Text in einen Punkt im Raum. Ähnliche Texte liegen nahe beieinander. Eine Vektordatenbank ist der Kartenschrank dafür: Sie beantwortet die Frage „welche zehn Punkte liegen diesem hier am nächsten?" in Millisekunden statt in Minuten.

Wozu es gut ist

  • Eigene Dokumente durchsuchbar machen, ohne exakte Stichwörter.
  • Ähnliche Fälle, Artikel oder Bilder finden.
  • Grundlage für RAG, also Antworten auf Basis eigener Quellen.
  • Doppelte Einträge erkennen.

Die Verfahren

VerfahrenAufbauSucheSpeicherWofür
Exakt (Flat)keinerO(n·d)Vektorenbis ~100.000
IVFClusteringO(n/k · d)Vektoren plus ZentrenMillionen, Aufbau schnell
HNSWGraphO(log n)Vektoren plus Kanten, hochBeste Latenz
IVF-PQClustering plus Kompressionschnellstark reduziertSehr große Bestände
# Ohne eigene Datenbank: pgvector in Postgres
# CREATE EXTENSION vector;
# CREATE TABLE dok (id bigserial, text text, e vector(768));
# CREATE INDEX ON dok USING hnsw (e vector_cosine_ops)
#        WITH (m = 16, ef_construction = 64);
#
# SELECT id, text, 1 - (e <=> $1) AS aehnlichkeit
# FROM dok ORDER BY e <=> $1 LIMIT 10;
#
# <=> ist der Kosinusabstand. Der Index greift nur, wenn im ORDER BY
# derselbe Operator steht wie in der Indexdefinition.
  • Vektoren vor dem Einfügen normalisieren, wenn mit Kosinus gesucht wird.
  • Den Suchparameter ef_search als Regler zwischen Recall und Latenz behandeln.
  • Recall gegen eine exakte Suche auf einer Stichprobe messen, nicht schätzen.
  • Metadaten mitfiltern lassen, statt nachträglich zu filtern; sonst kommen zu wenige Treffer zurück.

Der Zielkonflikt

Recall bei k Treffern

R@k = |A ∩ G| / k

Der Recall ist der Anteil der Treffer, den eine Näherungssuche mit der exakten Suche gemeinsam hat.

R@k
Anteil der tatsächlich nächsten Nachbarn unter den k gelieferten
A
die von der Näherungssuche gelieferte Menge
G
die exakte Menge der k nächsten Nachbarn

Typische Messwerte für HNSW bei einer Million Vektoren mit 768 Dimensionen:

ef_searchRecall@10Latenz je Abfrage
160,840,4 ms
640,961,1 ms
1280,9852,0 ms
5120,9997,5 ms
exakt1,000~380 ms

Die letzte Zeile zeigt den Gewinn: Faktor 190 bei 1,5 Prozent verlorenen Treffern.

Speicher, durchgerechnet

Speicherbedarf eines HNSW-Index

M_total ≈ n · d · b + n · M · 2 · 8 Byte

Zum Speicher für die Vektoren selbst kommen die Kanten des Graphen, die bei kleinen Dimensionen dominieren können.

n
Anzahl der Vektoren
d
Dimension
b
Bytes je Wert
M
Kanten je Knoten, üblich 16 bis 64

Für n = 10⁷, d = 768, b = 4, M = 16: Vektoren 30,7 GB, Graph 2,6 GB, zusammen rund 33 GB. In float16 wären es 18 GB, mit Produktquantisierung auf 96 Byte je Vektor nur noch 3,6 GB, bei einem Recall um 0,9.

Hybride Suche

Reine Vektorsuche versagt bei Eigennamen, Aktenzeichen und Zahlen. Die übliche Lösung ist eine Kombination mit BM25 und anschließender Zusammenführung:

Reciprocal Rank Fusion

RRF(d) = Σᵢ 1 / (k + rᵢ(d))

Jedes Dokument bekommt eine Punktzahl aus dem Kehrwert seiner Ränge in beiden Listen; Ränge zählen, nicht Punktwerte.

r_i(d)
Rang von Dokument d in Ergebnisliste i
k
Glättungskonstante, üblich 60

Der Vorteil gegenüber einer gewichteten Summe der Punktwerte: Ränge sind zwischen den beiden Verfahren vergleichbar, Punktwerte nicht. In Auswertungen verbessert die Kombination Recall@10 gegenüber reiner Vektorsuche regelmäßig um 5 bis 15 Punkte. Siehe RAG, technisch.

Löschen und Betroffenenrechte

Ein Löschbegehren nach Art. 17 DSGVO betrifft auch den Index. Zwei Punkte sind in der Praxis heikel:

  • Ein als gelöscht markierter Vektor bleibt im Graphen, bis der Index neu aufgebaut wird. Ein Neuaufbauzyklus gehört deshalb in das Verzeichnis der Verarbeitungstätigkeiten.
  • Aus einem Embedding lässt sich der Ausgangstext teilweise rekonstruieren. Ein Embedding ist damit kein anonymisiertes Datum, sondern ein pseudonymisiertes.

Passende Kurse und Quellen

StudieKostenlosEN

Efficient Estimation of Word Representations

Die Arbeit, die Wörter erstmals als Vektoren mit rechenbarer Bedeutung etablierte. Der Ursprung aller Einbettungen.

Der Ursprung aller Einbettungen; kurz und bis heute erhellend.

WerkzeugKostenlosEN

LangChain-Dokumentation

Bausteine für Abruf, Werkzeugaufrufe und Agenten. Nützlich als Katalog der Muster, auch wenn man am Ende ohne das Rahmenwerk baut.

Als Musterkatalog nützlich, auch wenn man am Ende ohne das Rahmenwerk baut.

War diese Seite hilfreich?
Vektordatenbanken