Quantisierung in der KI: Was sich ändert, wenn die numerische Präzision sinkt
01

Definition in einem Satz

Reducción de la precisión numérica de pesos o activaciones para usar menos memoria y acelerar la inferencia.

02

Definition: Zahlen mit weniger Stufen darstellen

Quantisierung in der KI ist ein Verfahren, bei dem numerische Werte mit einer kleineren Menge an Stufen dargestellt werden als in der ursprünglichen Repräsentation. In einem neuronalen Netz können diese Werte Gewichte, Zwischenaktivierungen oder Elemente des Key-Value-Caches (KV-Cache) eines Sprachmodells sein. Weniger Stufen können den benötigten Speicherplatz verringern. Wenn Software und Hardware passende Operationen unterstützen, lassen sich damit möglicherweise auch Rechenaufwand oder Rechenzeit reduzieren.

Die Definition beschreibt eine numerische Transformation. Sie garantiert nicht, dass ein Modell exakt einen bestimmten Bruchteil seiner ursprünglichen Größe belegt, schneller ausgeführt wird oder seine Qualität unverändert beibehält. Das Ergebnis hängt davon ab, welche Komponenten quantisiert werden, wie sie kodiert sind und welche Implementierung sie verarbeitet. Die Aussage, ein Modell sei ein „4-Bit-Modell“, ist daher eine unvollständige Information und keine Vorhersage seiner Leistung.

In diesem Artikel betrachten wir zwei Fragen getrennt: Welche Werte werden transformiert, und wie werden sie den verfügbaren Stufen zugeordnet? Die erste Frage bestimmt den Umfang der Quantisierung, die zweite ihre Repräsentation und den möglichen Fehler. Weiterführende Begriffe finden sich im Glossar, etwa unter Quantisierung, Inferenz, lokalen Modellen und LoRA, sowie im Bereich für Vergleiche.

03

Wie die Abbildung funktioniert

Bei einer linearen Quantisierung verknüpft eine Skala die ganzzahligen Stufen mit den Werten im ursprünglichen Wertebereich. In vielen Verfahren kommt außerdem ein Nullpunkt hinzu. Er gibt an, welcher ganzzahlige Code die reale Null repräsentiert. Das kann beispielsweise wichtig sein, wenn die Werte nicht symmetrisch um null verteilt sind. Zum Verfahren gehören häufig Rundung und – wenn ein Wert außerhalb des darstellbaren Bereichs liegt – das Begrenzen auf die äußerste verfügbare Stufe. Bei der Rekonstruktion ermöglichen Skala und Nullpunkt, den Wert näherungsweise in den ursprünglichen Wertebereich zurückzuführen.

Es gibt keine einzige Konvention, die für alle Methoden gilt. Manche Formate verwenden Skalen und Nullpunkte, andere nicht gleichmäßig verteilte Codes oder Stufen. Skala, Nullpunkt und Quantisierungscode hängen daher zusammen, sind aber nicht austauschbar: Sie beschreiben unterschiedliche Bestandteile der Repräsentation. Auch die Auswahl der Parameter und Wertebereiche sowie die Gruppierung der Werte können sich unterscheiden.

Bestandteile einer Quantisierung

Die Begriffe stehen für unterschiedliche Entscheidungen innerhalb eines Quantisierungsschemas.

BestandteilWas er beschreibtWarum er wichtig ist
BitzahlWie viele Bits in einem bestimmten Modellbestandteil einen Wert kodieren.Sie begrenzt die verfügbaren Codes, beschreibt aber nicht alle Kosten der Speicherung.
SkalaDie Zuordnung zwischen Codes und reellen Werten.Sie beeinflusst die Auflösung und den Rekonstruktionsfehler.
NullpunktDer Code, der in bestimmten linearen Verfahren die reale Null darstellt.Er kann die Darstellung unsymmetrischer Wertebereiche ermöglichen.
GranularitätOb Parameter für einen Tensor, einen Kanal oder einen Block gemeinsam verwendet werden.Sie verändert die Anpassungsfähigkeit der Repräsentation und den Umfang der Metadaten.
KalibrierungDas Verfahren und die Daten, mit denen Parameter oder Wertebereiche bestimmt werden.Das Ergebnis kann davon abhängen, wie repräsentativ diese Daten sind.
04

Was die Bitzahl bedeutet – und was nicht

Mit b Bit lassen sich höchstens 2 hoch b unterschiedliche Muster kodieren. Ein 4-Bit-Schema kann daher bis zu 16 Codes pro Wert bereitstellen. Die Anzahl der Codes bestimmt jedoch weder, welche Werte sie repräsentieren, noch die tatsächlich erzielte Präzision oder den Speicherbedarf des gesamten Modells. Auch die Verteilung der Stufen und der Einsatz von Metadaten wie Skalen und Nullpunkten spielen eine Rolle.

Der reale Speicherbedarf kann neben den quantisierten Werten zusätzliche Informationen und Strukturen für das Packen der Daten umfassen. Außerdem benötigt ein Modell im Betrieb Speicher für Komponenten, die möglicherweise nicht auf dieselbe Weise quantisiert sind: etwa Aktivierungen, KV-Cache, Programmpuffer oder andere Bestandteile der Laufzeitumgebung. Auch der Anteil des Modells, der mit höherer Präzision gespeichert bleibt, wirkt sich auf den Gesamtbedarf aus.

Auch die Geschwindigkeit lässt sich nicht allein aus der Bitzahl ableiten. Für eine Beschleunigung müssen Hardware, Kernel und Laufzeitumgebung die jeweilige Repräsentation und die passenden Operationen effizient unterstützen. In manchen Umgebungen können Konvertierungen oder Datenzugriffe zusätzliche Kosten verursachen; in anderen kann die geringere Datenmenge vorteilhaft sein. Ein aussagekräftiger Vergleich ist empirisch und sollte mit der tatsächlich relevanten Implementierung erfolgen.

05

Welche Teile eines Modells quantisiert werden können

Bei der Gewichtsquantisierung werden die erlernten Parameter des Netzes transformiert. Sie ist eine verbreitete Möglichkeit, den Speicherbedarf von Modellen zu verringern, die zur Inferenz geladen werden. Das bedeutet jedoch nicht, dass das gesamte Modell quantisiert ist: Aktivierungen, die während der Berechnung entstehen, können weiterhin in einer anderen Präzision vorliegen.

Bei der Aktivierungsquantisierung werden Zwischenwerte, die durch das Netz laufen, mit weniger Stufen dargestellt. Sie kann mit quantisierten Gewichten kombiniert werden, muss es aber nicht. SmoothQuant untersucht beispielsweise die Post-Training-Quantisierung von Gewichten und Aktivierungen in großen Sprachmodellen. Die dort berichteten Ergebnisse gelten für die konkrete Methode und die veröffentlichten Evaluationen, nicht als Garantie für jedes Modell oder Gerät.

Bei Sprachmodellen mit Textgenerierung speichert der KV-Cache Zwischeninformationen zu bereits verarbeiteten Tokens. Seine Quantisierung unterscheidet sich von der Quantisierung der Gewichte: Sie betrifft einen anderen Bestandteil des Speicherbedarfs und kann andere Auswirkungen auf die Inferenz haben. Die Arbeit KVQuant behandelt speziell die Quantisierung des KV-Caches. Das verdeutlicht, warum genau benannt werden sollte, welche Komponente transformiert wird.

Eine reproduzierbare Beschreibung sollte nicht einfach von einem „quantisierten Modell“ sprechen, ohne den Umfang anzugeben. Mindestens Gewichte, Aktivierungen und KV-Cache sollten unterschieden werden. Außerdem sollte klar sein, ob nicht erwähnte Bestandteile eine höhere Präzision beibehalten.

Komponenten und praktische Fragen

Die Tabelle hilft dabei, den Umfang einer Konfiguration genau zu beschreiben. Sie bedeutet nicht, dass jede Methode alle drei Komponenten quantisiert.

KomponenteWas mit weniger Stufen dargestellt wirdFrage bei der Evaluation
GewichteErlernte Parameter.Wie viel Speicher belegen die Gewichte, und welche Präzision behalten sie?
AktivierungenZwischenwerte, die während der Berechnung entstehen.Welche Operationen und Schichten sind beteiligt, und wie wirkt sich das auf die Aufgabe aus?
KV-CacheGespeicherter Zustand für die Generierung von Sequenzen.Wie verändern sich Speicherbedarf und Verhalten im untersuchten Kontext?
06

Wann quantisiert wird: PTQ und QAT

Die Post-Training-Quantisierung, kurz PTQ, wird nach dem Training des Modells angewendet. Je nach Methode können Kalibrierungsdaten verwendet werden, um Wertebereiche oder andere Quantisierungsparameter zu schätzen. Diese Daten dienen nicht zwangsläufig dazu, sämtliche Gewichte erneut zu trainieren; sie helfen dabei, die Abbildung festzulegen. Auswahl und Repräsentativität der Kalibrierungsdaten können daher das Ergebnis beeinflussen.

Bei der quantisierungsbewussten Schulung, kurz QAT, werden die Auswirkungen der Quantisierung während des Trainings simuliert oder anderweitig berücksichtigt, damit sich das Modell darauf einstellen kann. Die Arbeit von Jacob und Mitautoren stellt ein Quantisierungs- und Trainingsverfahren vor, das auf Inferenz mit Ganzzahlarithmetik ausgerichtet ist. PTQ und QAT unterscheiden sich darin, wann und auf welche Weise quantisiert wird. Daraus folgt nicht, dass eine der beiden Optionen immer überlegen ist: Entscheidend sind das Netz, das Ziel und der verfügbare Prozess.

Auch die Granularität ist wichtig. Ein Schema kann Quantisierungsparameter für einen gesamten Tensor gemeinsam verwenden, Parameter pro Kanal einsetzen oder Werte in Blöcke gruppieren. Eine feinere, lokalere Granularität kann Unterschiede in den Werteverteilungen besser abbilden, bringt aber auch eigene Kosten und Anforderungen mit sich. Zwei Konfigurationen mit derselben nominalen Bitzahl, aber unterschiedlicher Granularität, sollten deshalb nicht als gleichwertig behandelt werden.

Eine quantisierte Konfiguration einordnen

Bevor zwei Ergebnisse verglichen werden, sollten die beschriebenen Komponenten und Bedingungen ermittelt werden. Fehlt eine wichtige Angabe, sollte sie als Unsicherheit festgehalten werden, statt sie aus der Bitzahl abzuleiten.

  1. 01Angeben, ob PTQ oder QAT verwendet wurde und – falls relevant – welche Kalibrierungsdaten zum Einsatz kamen.
  2. 02Präzisieren, ob Gewichte, Aktivierungen, KV-Cache oder andere Bestandteile quantisiert wurden und welche Komponenten ausgenommen waren.
  3. 03Bitzahl, Repräsentationstyp, Granularität und relevante Metadaten dokumentieren.
  4. 04Den Speicherbedarf der Gewichte vom Gesamtspeicherbedarf während der Ausführung unterscheiden.
  5. 05Qualität und Leistung für die betreffende Aufgabe, Hardware und Laufzeitumgebung messen.
07

Drei Anwendungsbeispiele

Die folgenden Beispiele zeigen unterschiedliche Einsatzbereiche der Quantisierung. Sie sind weder Empfehlungen für bestimmte Formate noch Versprechen bestimmter Ergebnisse. Die Wirkung muss jeweils mit dem konkreten Modell, der Implementierung und den realen Einsatzbedingungen überprüft werden.

blocks

08

Verwandte Begriffe, die nicht verwechselt werden sollten

Beim Pruning werden Verbindungen, Gewichte oder Strukturen entfernt oder reduziert, um ein dünner besetztes oder kompakteres Netz zu erhalten. Quantisierung verändert dagegen die numerische Repräsentation der beibehaltenen Werte. Methoden können beide Ansätze kombinieren, doch es handelt sich nicht um dasselbe Verfahren.

Bei der Destillation wird das Verhalten eines Lehrermodells in einem Trainingsprozess auf ein Schülermodell übertragen. Das kann ein kleineres Modell ergeben, beruht aber nicht darauf, Werte auf weniger Stufen abzubilden. Ein destilliertes Netz kann später zusätzlich quantisiert werden: Beides sind miteinander vereinbare, aber unterschiedliche Entscheidungen.

LoRA ist eine Technik zur Feinabstimmung, bei der Low-Rank-Adapter ergänzt werden, um das Verhalten des Modells zu verändern. QLoRA kombiniert das Training solcher Adapter mit einer quantisierten Basis. LoRA ist also kein Quantisierungsformat, und QLoRA bezeichnet nicht beliebige Modelle mit niedriger Präzision.

INT4 steht üblicherweise für eine ganzzahlige 4-Bit-Repräsentation. NF4 ist ein im Rahmen der QLoRA-Arbeit vorgeschlagener 4-Bit-Datentyp zur Darstellung von Gewichtswerten. Die Bezeichnungen sind nicht austauschbar, denn sie beschreiben unterschiedliche Repräsentationen. Außerdem sagt die nominelle Bitbreite allein nichts über Implementierung, Datenpackung oder Gesamtkosten aus.

Eine verringerte Präzision ist schließlich nicht dasselbe wie ein Wechsel von einem Gleitkommaformat zu einem anderen, ohne dass sich der Zweck des Formats ändert. Formate mit reduzierter Präzision können unterschiedliche Wertebereiche und Eigenschaften haben. „Geringere Präzision“ ist eine allgemeine Beschreibung; „Quantisierung“ bezeichnet einen Abbildungsprozess, dessen konkrete Ausgestaltung angegeben werden sollte.

Die Unterschiede in einem Satz

Diese Kategorien können in einem Arbeitsablauf kombiniert werden, beschreiben aber unterschiedliche Vorgänge.

BegriffZentrale Operation
QuantisierungWerte mit weniger Stufen darstellen.
PruningTeile des Netzes entfernen oder reduzieren.
DestillationEin Schülermodell anhand von Signalen eines Lehrermodells trainieren.
LoRAEin Modell mithilfe von Low-Rank-Adaptern feinabstimmen.
QATBeim Training die Auswirkungen der Quantisierung berücksichtigen.
09

Grenzen, häufige Fehler und praktische Kriterien

Ein Quantisierungsfehler entsteht, weil ein ursprünglicher Wert möglicherweise keiner darstellbaren Stufe exakt entspricht. Größe und Verteilung dieser Fehler können die Ausgabe des Netzes beeinflussen, und nicht alle Schichten oder Aufgaben sind gleichermaßen betroffen. Eine geeignete Evaluation sollte das für die Anwendung relevante Verhalten untersuchen – nicht nur eine allgemeine Metrik oder die Formatbezeichnung.

Ein häufiger Fehler ist die Annahme, weniger Bits bedeuteten automatisch eine proportionale Verringerung des Speicherbedarfs. Metadaten, Datenpackung, mit höherer Präzision gespeicherte Modellteile und der Speicherbedarf zur Laufzeit verändern den Gesamtwert. Ebenso falsch ist die Schlussfolgerung, weniger Bits beschleunigten die Inferenz immer: Nutzt die Laufzeitumgebung oder nutzen die Kernel die Repräsentation auf der verfügbaren Hardware nicht effizient, muss sich die Latenz nicht verbessern und kann durch zusätzliche Kosten sogar beeinträchtigt werden.

Auch die Kalibrierung sollte nicht als nebensächliches Detail behandelt werden. Wenn eine Methode repräsentative Daten zur Schätzung von Parametern benötigt, bildet eine Kalibrierung, deren Daten den realen Eingaben kaum ähneln, den vorgesehenen Einsatz möglicherweise nicht angemessen ab. Modellsensitivität, Eingabeverteilung, Kontextlänge und Aufgabe können das Ergebnis verändern. Die Arbeiten zu GPTQ, AWQ, SmoothQuant und KVQuant evaluieren konkrete Methoden und Konfigurationen; ihre veröffentlichten Werte sollten ohne eigene Messungen nicht verallgemeinert werden.

Bei der Dokumentation einer Konfiguration empfiehlt es sich, Methode, quantisierte Komponenten, Präzision und Granularität, gegebenenfalls die Kalibrierungsdaten, gemessenen Speicherbedarf, Qualitätsmetriken, Hardware, Laufzeitumgebung und Testbedingungen festzuhalten. So lassen sich Ergebnisse vergleichen, ohne aus einer Angabe wie „4 Bit“ eine allgemeine Aussage über Qualität oder Geschwindigkeit zu machen.

Praktische Kriterien vor einem Vergleich

Ein sinnvoller Vergleich hält relevante Bedingungen konstant und macht Angaben sichtbar, die die Interpretation verändern könnten.

  1. 01Festlegen, welches Problem und welche Eingaben das Modell bewältigen soll.
  2. 02Angeben, welche Komponenten quantisiert werden und welche eine andere Präzision behalten.
  3. 03Methode, Bitzahl, Granularität, Kalibrierungsschema und Format dokumentieren.
  4. 04Speicherbedarf der Gewichte und maximalen Speicherbedarf während der Ausführung getrennt messen.
  5. 05Qualität, Latenz und Durchsatz mit der Zielhardware und der vorgesehenen Laufzeitumgebung evaluieren.
  6. 06Einschränkungen und fehlende Angaben ausweisen; einen einzelnen Test nicht als universelle Garantie darstellen.
10

Wie es weitergeht

Quantisierung ist ein Werkzeug zur Repräsentation und keine Kategorie, die für sich genommen das vollständige Verhalten eines Systems beschreibt. Beim Lesen eines technischen Datenblatts oder einer Evaluation sollte man zuerst klären, was quantisiert wurde, wie die Werte kodiert sind und in welcher Umgebung die Ergebnisse gemessen wurden.

Als thematischen Einstieg bietet sich das Glossar an, insbesondere die Begriffe Inferenz, lokales Modell, LoRA, Destillation und Evaluation. Im Vergleichsbereich lassen sich Unterschiede zwischen Methoden ordnen, sofern vergleichbare Bedingungen vorliegen. Dieser Artikel empfiehlt kein universelles Format und ersetzt keine anwendungsbezogene Evaluation.

11

Kurze Beispiele

12

Verwandte Begriffe

13

Verwendete Quellen