Teilen

Vergleich von Quantisierungstechniken für die skalierbare Vektorsuche

Picture of Carl Geisler

Carl Geisler

Stell dir vor, du suchst nach ähnlichen Dingen, die auf tieferen Einsichten basieren, anstatt nur auf Schlüsselwörtern. Genau dabei helfen Vektordatenbanken und Ähnlichkeitssuchen. Vektordatenbanken ermöglichen eine vektorielle Ähnlichkeitssuche. Sie nutzt den Abstand zwischen Vektoren, um Datenpunkte in Suchanfragen zu finden.

Die Ähnlichkeitssuche in hochdimensionalen Daten kann jedoch langsam und ressourcenintensiv sein. Hier kommen Quantisierungsverfahren ins Spiel! Sie spielen eine wichtige Rolle bei der Optimierung der Datenspeicherung und der Beschleunigung des Datenabrufs in Vektordatenbanken.

Dieser Artikel befasst sich mit verschiedenen Quantisierungstechniken, ihren Arten und praktischen Anwendungsfällen.

Was ist Quantisierung und wie funktioniert sie?

Quantisierung ist der Prozess, bei dem kontinuierliche Daten in diskrete Datenpunkte umgewandelt werden. Vor allem, wenn du es mit milliardenschweren Parametern zu tun hast, ist die Quantisierung für die Verwaltung und Verarbeitung unerlässlich. In Vektordatenbanken transformiert die Quantisierung hochdimensionale Daten in einen komprimierten Raum, wobei wichtige Merkmale und Vektorabstände erhalten bleiben.

Durch Quantisierung werden Speicherengpässe erheblich reduziert und die Speichereffizienz verbessert.

Der Prozess der Quantisierung umfasst drei Schlüsselprozesse:

1. Komprimierung hochdimensionaler Vektoren

Bei der Quantisierung verwenden wir Techniken wie Codebook-Generierung, Feature Engineering und Kodierung. Diese Techniken komprimieren hochdimensionale Vektoreinbettungen in einen niedrigdimensionalen Unterraum. Mit anderen Worten: Der Vektor wird in zahlreiche Untervektoren aufgeteilt. Vektoreinbettungen sind numerische Repräsentationen von Audio-, Bild-, Video-, Text- oder Signaldaten, die eine einfachere Verarbeitung ermöglichen.

2. Mapping auf diskrete Werte

In diesem Schritt werden die niedrigdimensionalen Untervektoren auf diskrete Werte abgebildet. Durch das Mapping wird die Anzahl der Bits jedes Untervektors weiter reduziert.

3. Komprimierte Vektorspeicherung

Schließlich werden die gemappten diskreten Werte der Untervektoren in der Datenbank für den ursprünglichen Vektor abgelegt. Komprimierte Daten, die dieselben Informationen in weniger Bits darstellen, optimieren ihre Speicherung.

Vorteile der Quantisierung für Vektordatenbanken

Die Quantisierung bietet eine Reihe von Vorteilen, die zu besseren Berechnungen und einem geringeren Speicherbedarf führen.

1. Effiziente skalierbare Vektorsuche

Die Quantisierung optimiert die Vektorsuche, indem sie die Kosten für die Vergleichsberechnungen reduziert. Daher benötigt die Vektorsuche weniger Ressourcen, was ihre Gesamteffizienz verbessert.

2. Speicher-Optimierung

Mit quantisierten Vektoren kannst du mehr Daten auf demselben Platz speichern. Darüber hinaus werden auch die Indizierung und die Suche von Daten optimiert.

3. Geschwindigkeit

Effizientes Speichern und Abrufen führt zu schnelleren Berechnungen. Kleinere Dimensionen ermöglichen eine schnellere Verarbeitung, einschließlich Datenmanipulation, Abfragen und Vorhersagen.

Einige beliebte Vektordatenbanken wie Qdrant, Kiefernzapfenund Milvus bieten verschiedene Quantisierungstechniken für unterschiedliche Anwendungsfälle an.

Anwendungsfälle

Die Fähigkeit der Quantisierung, die Datengröße zu reduzieren und gleichzeitig wichtige Informationen zu bewahren, macht sie zu einem nützlichen Hilfsmittel.

Schauen wir uns einige ihrer Anwendungen genauer an.

1. Bild- und Videoverarbeitung

Bilder und Videodaten haben eine größere Bandbreite an Parametern, was die Komplexität der Berechnungen und den Speicherbedarf erheblich erhöht. Quantisierung komprimiert die Daten, ohne wichtige Details zu verlieren, und ermöglicht so eine effiziente Speicherung und Verarbeitung. Das beschleunigt die Suche nach Bildern und Videos.

2. Komprimierung von Modellen für maschinelles Lernen

Das Training von KI-Modellen auf großen Datensätzen ist eine intensive Aufgabe. Die Quantisierung hilft durch die Reduzierung Modellgröße und Komplexität ohne seine Effizienz zu beeinträchtigen.

3. Signalverarbeitung

Signaldaten sind kontinuierliche Datenpunkte wie GPS oder Überwachungsaufnahmen. Durch Quantisierung werden die Daten in diskrete Werte umgewandelt, was eine schnellere Speicherung und Analyse ermöglicht. Darüber hinaus beschleunigt eine effiziente Speicherung und Analyse die Suchvorgänge und ermöglicht einen schnelleren Signalvergleich.

Verschiedene Quantisierungstechniken

Die Quantisierung ermöglicht zwar den nahtlosen Umgang mit Parametern in Milliardenhöhe, riskiert aber einen irreversiblen Informationsverlust. Die richtige Balance zwischen akzeptablem Informationsverlust und Komprimierung verbessert jedoch die Effizienz.

Jede Quantisierungsmethode hat ihre Vor- und Nachteile. Bevor du dich entscheidest, solltest du die Anforderungen an die Komprimierung sowie die Stärken und Grenzen der einzelnen Verfahren kennen.

1. Binäre Quantisierung

Die binäre Quantisierung ist eine Methode, die alle Vektoreinbettungen in 0 oder 1 umwandelt. Wenn ein Wert größer als 0 ist, wird er auf 1 abgebildet, andernfalls wird er als 0 markiert. Dadurch werden hochdimensionale Daten in deutlich niedrigere Dimensionen umgewandelt, was eine schnellere Ähnlichkeitssuche ermöglicht.

Formel

Die Formel lautet:

Binäre Quantisierungsformel. Bild vom Autor.

Hier ist ein Beispiel dafür, wie die binäre Quantisierung bei einem Vektor funktioniert.

BQ Veranschaulichung

Grafische Darstellung der binären Quantisierung. Bild vom Autor.

Stärken

  • Schnellste Suche, die sowohl Skalar- als auch Produktquantisierungsverfahren übertrifft.
  • Reduziert den Speicherbedarf um ein Faktor von 32.

Einschränkungen

  • Höheres Verhältnis von Informationsverlusten.
  • Vektorkomponenten benötigen einen Mittelwert, der ungefähr gleich Null ist.
  • Schlechte Leistung bei niedrigdimensionalen Daten aufgrund des höheren Informationsverlustes.
  • Für die besten Ergebnisse ist ein Rescoring erforderlich.

Vektordatenbanken wie Qdrant und Weaviate bieten binäre Quantisierung an.

2. Skalare Quantisierung

Die Skalarquantisierung wandelt Fließkomma- oder Dezimalzahlen in ganze Zahlen um. Dabei wird zunächst für jede Dimension ein Mindest- und ein Höchstwert ermittelt. Der ermittelte Bereich wird dann in mehrere Bins unterteilt. Zum Schluss wird jeder Wert in jeder Dimension einem Bin zugewiesen.

Die Genauigkeit bzw. der Detailgrad der quantisierten Vektoren hängt von der Anzahl der Bins ab. Je mehr Bins, desto höher die Genauigkeit, da feinere Details erfasst werden. Daher hängt die Genauigkeit der Vektorsuche auch von der Anzahl der Bins ab.

Formel

Die Formel lautet:

Skalarquantisierungsformel. Bild vom Autor.

Hier ist ein Beispiel dafür, wie die skalare Quantisierung bei einem Vektor funktioniert.

SQ Veranschaulichung

Grafische Darstellung der Skalarquantisierung. Bild vom Autor.

Stärken

  • Signifikant Speicher Optimierung.
  • Geringer Informationsverlust.
  • Teilweise umkehrbarer Prozess.
  • Schnelle Komprimierung.
  • Effiziente, skalierbare Suche durch geringen Informationsverlust.

Beschränkungen

  • Eine leichte Verschlechterung der Suchqualität.
  • Niedrigdimensionale Vektoren sind anfälliger für Informationsverluste, da jeder Datenpunkt wichtige Informationen enthält.

Vektordatenbanken wie z. B. Qdrant und Milvus bieten Skalarquantisierung an.

3. Produkt-Quantisierung

Bei der Produktquantisierung werden die Vektoren in Teilvektoren unterteilt. Für jeden Teilvektor werden mithilfe von Clustering-Algorithmen die Mittelpunkte oder Zentren berechnet. Die nächstgelegenen Zentroide repräsentieren dann jeden Untervektor.

Die Ähnlichkeitssuche bei der Produktquantisierung funktioniert, indem der Suchvektor in die gleiche Anzahl von Untervektoren aufgeteilt wird. Dann wird eine Liste ähnlicher Ergebnisse erstellt, und zwar in aufsteigender Reihenfolge des Abstands zwischen dem Schwerpunkt jedes Untervektors und jedem Untervektor der Abfrage. Da bei der Vektorsuche der Abstand zwischen den Untervektoren der Abfrage und den Zentroiden des quantisierten Vektors verglichen wird, sind die Suchergebnisse weniger genau. Durch die Produktquantisierung wird die Ähnlichkeitssuche jedoch beschleunigt und eine höhere Genauigkeit kann durch die Erhöhung der Anzahl der Untervektoren erreicht werden.

Formel

Die Suche nach den Schwerpunkten ist ein iterativer Prozess. Dabei wird der euklidische Abstand zwischen jedem Datenpunkt und seinem Schwerpunkt neu berechnet, bis er konvergiert. Die Formel für den euklidischen Abstand im n-dimensionalen Raum lautet:

Produktquantisierungsformel. Bild vom Autor.

Hier ist ein Beispiel dafür, wie die Produktquantisierung bei einem Vektor funktioniert.

PQ Veranschaulichung

Grafische Darstellung der Produktquantisierung. Bild vom Autor.

Stärken

  • Höchstes Verdichtungsverhältnis.
  • Bessere Speichereffizienz als andere Techniken.

Beschränkungen

  • Nicht geeignet für niedrigdimensionale Vektoren.
  • Ressourcenintensive Komprimierung.

Vektordatenbanken wie Qdrant und Weaviate bieten Produktquantisierung.

Die Wahl der richtigen Quantisierungsmethode

Jede Quantisierungsmethode hat ihre Vor- und Nachteile. Die Wahl der richtigen Methode hängt unter anderem von folgenden Faktoren ab:

  • Dimension der Daten
  • Kompromiss zwischen Komprimierung und Genauigkeit
  • Anforderungen an die Effizienz
  • Ressourcenbeschränkungen.

Anhand der folgenden Vergleichstabelle kannst du besser verstehen, welche Quantisierungsmethode für deinen Anwendungsfall geeignet ist. Diese Tabelle zeigt die Genauigkeit, Geschwindigkeit und Komprimierungsfaktoren für jede Quantisierungsmethode.

Bild von Qdrant

Von der Optimierung des Speicherplatzes bis hin zur schnelleren Suche – die Quantisierung entschärft die Herausforderungen bei der Speicherung von Milliarden von Parametern. Für eine erfolgreiche Umsetzung ist es jedoch wichtig, die Anforderungen und Kompromisse im Voraus zu verstehen.

Weitere Informationen über die neuesten Trends und Technologien findest du bei Unite AI.

Picture of Carl Geisler

Carl Geisler

Carl ist ein online Marketer und Content Creator mit einer Leidenschaft für künstliche Intelligenz und innovative Technik. Er ist einer der Gründer von KI-Techlab.de und schreibt hier über neue KI-Tools und Innovationen.

Weitere KI-News:

Sichere dir eine GRatis KI-beratung

Stimme für mich ab und sichere dir eine kostenlose KI-Beratung

So funktioniert es:

  1. Stimme auf tigeraward.de/ki-visionary  für mich (Carl Geisler) ab
  2. Erhalte deine kostenlose KI-Beratung von uns