Polarkoordinaten sind intuitiv die bessere Wahl
Bevor wir uns der Frage nach Kosten und Nutzen widmen, werfen wir einen Blick auf den Algorithmus(öffnet im neuen Fenster) . Der ist recht interessant, da er mit Zufallszahlen belegte Matrizen sowie mit Polarkoordinaten eine andere Vektordarstellung nutzt. Die Nutzung von Polarkoordinaten erschließt sich intuitiv: Der Aufmerksamkeitsmechanismus von LLMs sowie die Bestimmung der Ähnlichkeit von Vektoren bei Vektordatenbanken nutzen das Skalarprodukt(öffnet im neuen Fenster) .
Es berechnet den Winkel zwischen zwei Vektoren (genau gesagt: den Cosinus des Winkels). Polarkoordinaten repräsentieren einen Vektor nicht in Form einer Verschiebung vom Nullpunkt in den einzelnen Dimensionen, sondern über seine Länge und einen Winkel. Ziel von Turboquant ist insbesondere, das Ergebnis des Skalarprodukts zwischen einem quantisierten Vektor im Cache und einem nicht quantisierten Query-Vektor möglichst fehlerfrei zu halten.
Hier drängen sich Polarkoordinaten regelrecht auf, da sie die gewünschte Information direkt enthalten. Bei kartesischen Koordinaten hingegen wird sie aus vielen quantisierten Werten berechnet. Das führt rein intuitiv zu größeren Fehlern, da die Quantisierungsfehler der Einzelwerte akkumuliert werden. Weniger intuitiv ist die Nutzung von Zufallselementen.
Der Zufall hilft, Fehler zu minimieren
Vor der Quantisierung werden die Ausgangswerte noch mit einer Matrix multipliziert, die mit Zufallswerten belegt ist. Um das zu verstehen, werfen wir zunächst einen Blick auf die Herausforderungen der Quantisierung.
Sie reduziert viele Bits auf deutlich weniger, wodurch weniger diskrete Werte zur Verfügung stehen, auf die der Wertebereich, etwa von -1 bis 1, abgebildet wird. Ein Wert, der zwischen zwei quantisiert darstellbaren Werten liegt, wird auf den nächstliegenden gerundet. Der dabei auftretende Fehler lässt sich mit Shannons Informationstheorie abschätzen. Minimieren lässt er sich, wenn die zu quantisierenden Daten einer statistischen Verteilung folgen.
Bei realen Daten ist das in der Regel nicht der Fall. Die Multiplikation mit der Zufallsmatrix nähert die Daten einer Zufallsverteilung an. Die Matrix bleibt dabei konstant, weshalb die Operation einfach wieder umgekehrt werden kann.
Zusätzlich nutzt Turboquant ein Codebuch zur Quantisierung, mit dem die diskreten Werte des quantisierten Wertebereichs frei gewählt werden können. Sie sind also, anders als etwa bei Gleitkommazahlen, nicht fest über den Wertebereich verteilt. Bereiche, in denen viele Daten liegen, können so feiner abgestuft werden.
Das ist vergleichbar mit sogenannten Wörterbuch-Kompressionsalgorithmen (g+) . Diese beiden Ansätze minimieren den Quantisierungsfehler, sie wurden bereits zuvor als Polarquant vorgestellt(öffnet im neuen Fenster) .
Der Ansatz reduziert zwar den Quantisierungsfehler, geht aber mit einer Verzerrung beim Ergebnis des Skalarprodukts einher.
- Anzeige Hier geht es zu Künstliche Intelligenz: Wissensverarbeitung bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.