Quantisierung
Auch: Modellquantisierung, 4-Bit, 8-Bit
Aktualisiert:
Definition
Quantisierung bedeutet, die Zahlen eines Modells mit weniger Bits zu speichern, zum Beispiel mit 4 oder 8 Bit, wo das Original 16 oder 32 verwendet hat. Das Modell wird kleiner und braucht weniger Arbeitsspeicher, meist auf Kosten von etwas Genauigkeit.
Ein Modell ist vor allem eine sehr lange Liste von Zahlen, den Gewichten. Nach dem Training ist jedes Gewicht typischerweise ein 32-Bit- oder 16-Bit-Gleitkommawert. Quantisierung schreibt sie in einer gröberen Form neu. Apples Dokumentation definiert sie als Verringern der Anzahl Bits, die eine Zahl darstellen.
Deshalb kann dasselbe Modell als mehrere Downloads unterschiedlicher Größe auftauchen, mit Bezeichnungen wie 4bit, 8bit oder Q4. Es ist ein und dasselbe Modell in unterschiedlich starker Kompression.
Wie viel kleiner
Die Größe folgt fast direkt den Bits. Halbiere die Bits pro Gewicht, und die Datei ist etwa halb so groß.
Ein veröffentlichtes Beispiel macht es greifbar. Bei einem Sprachmodell mit 8 Milliarden Parametern ist die 16-Bit-Datei etwa 15 GiB groß, die 8-Bit-Datei etwa 8 GiB und ein gängiger 4-Bit-Build etwa 4,6 GiB. Der 4-Bit-Build kommt auf etwa 4,9 Bit pro Gewicht, nicht genau 4, weil manche Teile mit höherer Genauigkeit erhalten bleiben.
Was du aufgibst
Genauigkeit, ein wenig. Gröbere Zahlen bedeuten, dass die Rechnungen des Modells überall leicht danebenliegen, und die Fehler summieren sich. Wie stark sich das zeigt, hängt vom Modell ab und davon, wie weit du gehst.
Laut Apple kann eine Kompression auf 8 Bit, bei manchen Modellen auch auf 6 oder 4, mit nur leichtem Genauigkeitsverlust funktionieren.
Was du außer Größe gewinnst
Apple nennt als mögliche Vorteile einer Modellkompression geringeren Speicherbedarf, geringere Latenz und geringeren Stromverbrauch, einzeln oder zusammen. Auf einem Laptop zählt oft der Speicher: Ein Modell, das bequem hineinpasst, lässt Platz für alles andere, was du offen hast.
Die Bezeichnungen lesen
Die Bezeichnung verrät die Genauigkeit der Gewichte.
- fp32 oder float32: volle Genauigkeit, wie die meisten Modelle trainiert werden.
- fp16, bf16 oder float16: halbe Genauigkeit. Oft die Form, in der ein Modell veröffentlicht wird.
- 8bit oder int8: ein Viertel der vollen Genauigkeit.
- 4bit oder int4: ein Achtel der vollen Genauigkeit. Die übliche Wahl, um große Modelle auf einem Laptop auszuführen.
- Q4, Q5, Q8 mit Buchstaben dahinter: dieselbe Idee in einem verbreiteten Dateiformat, wobei die Buchstaben das verwendete Verfahren benennen.
Quantisierung und Palettisierung
Apples Werkzeuge bieten zwei Wege, Gewichte mit weniger Bits zu speichern. Lineare Quantisierung bildet den Wertebereich der Originalwerte auf einen kleinen Bereich ganzer Zahlen ab. Palettisierung, auch Weight Clustering genannt, fasst die Gewichte zu Clustern zusammen und speichert jedes Gewicht als Index in eine kurze Nachschlagetabelle.
Laut Apple funktioniert Palettisierung meist am besten auf der Neural Engine, und 4-Bit-Quantisierung kann gut für Modelle funktionieren, die auf dem Grafikchip eines Mac laufen.
Fragen, die Leute stellen.
Was bedeutet 4-Bit bei einem Modell?
Dass seine Gewichte mit jeweils etwa 4 Bit gespeichert sind, wo das Original 16 oder 32 verwendet hat. Die Datei ist viel kleiner, und das Modell ist etwas weniger genau.
Macht Quantisierung ein Modell schlechter?
Etwas. Sie tauscht etwas Genauigkeit gegen geringere Größe und weniger Speicherbedarf. Laut Apple kosten 8 Bit, bei manchen Modellen auch 6 oder 4, nur einen leichten Genauigkeitsverlust.
Ist ein 4-Bit- oder ein 8-Bit-Modell besser?
Das 8-Bit-Modell ist näher am Original, das 4-Bit-Modell ist etwa halb so groß. Nimm 8-Bit, wenn du den Arbeitsspeicher hast, und 4-Bit, wenn nicht.
Macht Quantisierung ein Modell schneller?
Das kann sie. Apple nennt geringere Latenz unter den möglichen Vorteilen, neben geringerem Speicherbedarf und geringerem Stromverbrauch.
Lässt sich jedes Modell quantisieren?
Die meisten, mit Werkzeugen, die die veröffentlichten Gewichte umwandeln. Wie gut das Ergebnis hält, ist von Modell zu Modell verschieden.
Ist Quantisierung dasselbe wie Kompression?
Sie ist eine Art der Modellkompression. Andere sind Pruning, das Gewichte entfernt, und Palettisierung, die Gewichte als Einträge in einer Nachschlagetabelle speichert.