Modellquantisierung bedeutet, die hochpräzisen Zahlen der Modellparameter durch Zahlen mit geringerer Präzision zu ersetzen – zum Beispiel 32-Bit-Gleitkommazahlen durch 8-Bit-Ganzzahlen oder 8-Bit-Gleitkommazahlen –, sodass das Modell kleiner wird und weniger VRAM und Arbeitsspeicher benötigt, und Smartphones sowie gewöhnliche Laptops auch große Modelle ausführen können, die sonst nicht darauf passen würden. Sie verändert nicht die Struktur des Modells, sondern nur die Darstellungsgenauigkeit der Zahlen; es ist ein Näherungsverfahren, das etwas Genauigkeit gegen Geschwindigkeit und Größe eintauscht.
Was die Quantisierung eigentlich komprimiert
Quantisierung komprimiert vor allem die Gewichte, also die nach dem Training gespeicherten Parameter. Die beim Training üblichen 32-Bit-Gleitkommazahlen belegen 4 Byte pro Parameter; nach der Umwandlung in 8-Bit-Ganzzahlen belegen sie nur noch 1 Byte, sodass die Größe direkt auf etwa ein Viertel des Originals schrumpft. Auch Aktivierungswerte lassen sich quantisieren, sie reagieren aber empfindlicher, und eine zu starke Komprimierung kann Fehler schon in den Zwischenschritten der Inferenz verstärken. Es gibt zwei gängige Vorgehensweisen: Post-Training-Quantisierung, bei der ein trainiertes Modell direkt in ein anderes Format umgewandelt wird – bequem, aber der Genauigkeitsverlust ist schwer zu kontrollieren; und quantisierungsbewusstes Training, bei dem das Modell schon während des Trainings oder Fine-Tunings an geringe Präzision angepasst wird, was stabilere Ergebnisse liefert, aber eine zusätzliche Trainingsrunde kostet. Manche Implementierungen behalten für besonders empfindliche Schichten die hohe Präzision bei und komprimieren nur die weniger empfindlichen Teile.
Wird das Modell dadurch dümmer, und wie erkennt man das?
Ob es dümmer wird, hängt von der Aufgabe und vom Ausmaß der Komprimierung ab. 8-Bit-Quantisierung hat auf alltägliche Gespräche, Zusammenfassungen und Klassifikation in der Regel nur sehr geringe Auswirkungen, und viele bemerken im Gebrauch keinen Unterschied; bei 4 Bit und darunter treten bei mathematischen Herleitungen, langem Code und mehrstufigem Schlussfolgern eher zuerst Probleme auf. Zur Beurteilung darf man nicht nur auf die Größe schauen, sondern muss zwei Dinge prüfen: um wie viel sich die gemessenen Werte der quantisierten Version und des Originals bei derselben Aufgabe unterscheiden, und ob die eigenen echten Eingaben eine deutliche Verschlechterung zeigen. Für dasselbe Modell gibt es oft mehrere quantisierte Versionen; bei der Auswahl sollte man zuerst auf Quantisierungsmethode und Bitbreite schauen, dann auf Evaluierungen und Nutzerfeedback, und nicht nur die kleinste Datei wählen.
Wann man eine quantisierte Version nicht direkt verwenden sollte
Wenn VRAM und Arbeitsspeicher ohnehin ausreichen und die Ergebnisse so genau wie möglich sein sollen, sollte man zuerst das Original verwenden. Auch bei präzisen numerischen Berechnungen, mehrstufigem Schlussfolgern oder der Verarbeitung risikoreicher Inhalte sollte man eine quantisierte Version nicht direkt als endgültige Antwort nehmen. Quantisierte Versionen eignen sich am besten für gerätebeschränkte, offline lauffähige Szenarien, bei denen Latenz und Kosten Vorrang haben und die Ergebnisse von Menschen geprüft werden oder Fehler toleriert werden können. Man sollte sich eine Grenze merken: Quantisierung ist weder Pruning noch Destillation. Sie entfernt keine Parameter und ersetzt das Modell nicht durch ein kleineres, sondern speichert die Zahlen nur billiger. Die Neigung eines Modells, sich Dinge falsch zu merken, kann die Quantisierung selbst nicht beheben.