KI‑Kompass
Kompass

Quantisierung

Modelle kleiner machen, ohne sie kaputt zu machen: int8 und int4, Ausreißerkanäle, die Verfahren im Vergleich und wie man den Verlust misst.

·2 Min. Lesezeit·Von Fachredaktion Technik
DETAILGRAD
3 Abschnitte

Die Idee

Ein Gewicht wird üblicherweise als 16-Bit-Zahl gespeichert. Speichert man es stattdessen als 4-Bit-Ganzzahl mit einem gemeinsamen Umrechnungsfaktor je Gruppe, schrumpft das Modell auf ein Viertel, und es passt auf eine Karte, auf die es vorher nicht passte.

Was das bringt

FormatModell 7 Mrd.Modell 70 Mrd.Typische Güteeinbuße
float1614 GB140 GBAusgangswert
int87 GB70 GBunter 1 %
int43,5 GB35 GB1 bis 3 %
int3 und darunter2,6 GB26 GBdeutlich, aufgabenabhängig

Die Verfahren

VerfahrenPrinzipBraucht Kalibrierdaten
Runden auf nächsten WertEinfach abrundennein
GPTQFehler schichtweise ausgleichenja, wenige hundert Beispiele
AWQWichtige Kanäle schonenja
SmoothQuantSkalen zwischen Gewicht und Aktivierung verschiebenja
Quantisierungsbewusstes TrainingWährend des Trainings simuliertvolles Training
  • Immer mit Daten kalibrieren, die dem Betrieb ähneln, nicht mit beliebigem Text.
  • Nach der Quantisierung gegen einen festen eigenen Bewertungssatz messen, nicht gegen fremde Zahlen.
  • Die Gruppengröße beachten: kleinere Gruppen sind genauer und brauchen mehr Speicher für die Skalen.
  • Ausgabeschicht und Einbettung oft in höherer Genauigkeit belassen; sie sind empfindlich und klein.

Die Rechnung

Gruppenweise asymmetrische Quantisierung

s = (max(w) − min(w)) / (2ⁿ − 1) z = round(−min(w) / s) q = clip( round(w/s) + z , 0 , 2ⁿ−1 ) ŵ = (q − z) · s

Je Gruppe von Gewichten werden ein Skalierungsfaktor und ein Nullpunkt bestimmt, auf die alle Gewichte dieser Gruppe abgebildet werden.

w
ein Gewicht
s
Skalierungsfaktor je Gruppe
z
Nullpunkt je Gruppe
n
Bitbreite

Der Speicheraufschlag der Skalen

Effektive Bits je Gewicht

n_eff = n + b_s / g

Zu den Bits je Gewicht kommt der auf die Gruppe verteilte Aufwand für Skala und Nullpunkt.

n
Bitbreite der Gewichte
g
Gruppengröße
b_s
Bits für Skala und Nullpunkt je Gruppe, meist 32

Bei n = 4 und g = 128 sind das 4 + 32/128 = 4,25 Bit je Gewicht. Bei g = 32 bereits 5,0 Bit, also 18 Prozent mehr Speicher für eine spürbar bessere Genauigkeit. Diese Abwägung ist die eigentliche Entscheidung bei der Wahl eines Quantisierungsformats.

Ausreißer

In großen Sprachmodellen treten in wenigen Dimensionen Aktivierungen auf, die hundertfach größer sind als der Rest. Sie zwingen den Skalierungsfaktor nach oben und machen alle anderen Werte in derselben Gruppe entsprechend gröber.

Drei Gegenstrategien:

  • Getrennte Behandlung. Ausreißerkanäle bleiben in float16, der Rest wird in int8 gerechnet.
  • Verschiebung. Ein Teil der Skala wird von der Aktivierung in das Gewicht verschoben, sodass beide gutmütig quantisierbar werden.
  • Gewichtung nach Bedeutung. Kanäle mit großer Aktivierung werden vor der Quantisierung skaliert, sodass ihr Fehler kleiner ausfällt.

Messen statt annehmen

  1. 01

    Eigenen Bewertungssatz zusammenstellen

    100 bis 300 Aufgaben aus dem tatsächlichen Einsatz, mit erwarteten Ergebnissen.

  2. 02

    Ausgangswert in float16 messen

    Ohne diesen Wert ist jeder Vergleich sinnlos.

  3. 03

    Je Stufe messen

    int8, dann int4, jeweils gegen denselben Satz.

  4. 04

    Nach Aufgabenart aufschlüsseln

    Ein Gesamtwert verdeckt, dass Rechenaufgaben stärker leiden als Formulierungen.

Für ein Hochrisikosystem nach AI Act ist diese Messung nicht optional: Eine Änderung der Zahlendarstellung ist eine Änderung des Systems und gehört mit ihren Auswirkungen in die technische Dokumentation.

Passende Kurse und Quellen

StudieKostenlosEN

Distilling the Knowledge in a Neural Network

Ein großes Modell bringt einem kleinen bei, was es kann. Die Grundlage der kleinen Modelle, die heute im Betrieb laufen.

Für alle, die kleine Modelle im Betrieb einsetzen wollen und die Grundlage dazu suchen.

WerkzeugKostenlosEN

Hugging Face Modell-Hub

Hunderttausende offene Modelle mit Lizenz, Modellkarte und Gewichten. Die erste Adresse, wenn geprüft werden soll, ob ein lokales Modell für eine Aufgabe reicht.

Die Lizenz steht auf der Modellkarte und ist nicht bei jedem offenen Modell kommerziell nutzbar.

Hugging FaceZum Angebot
WerkzeugKostenlosEN

llama.cpp

Ausführung quantisierter Modelle auf gewöhnlicher Hardware, bis hinunter zu einzelnen Karten und Kleinrechnern. Die Referenzimplementierung für den Betrieb ohne Rechenzentrum.

Für den Betrieb ohne Rechenzentrum, bis hinunter zu einzelnen Karten und Kleinrechnern.

War diese Seite hilfreich?
Quantisierung