Zum Inhalt springen
Kurzer Hinweis: flozi00 TechHub ist ein Solo-Nebenprojekt neben einem Vollzeitjob — persönliche Lernnotizen, keine offiziellen Aussagen. Kritische Schritte selbst prüfen.

NVFP4 und INT4 visuell erklärt

Verstehe 4-Bit-Quantisierung mit Zahlenstrahlen, Rundung und gemeinsamen Skalen. Sieh, wie sich NVFP4 von einer INT4-Darstellung unterscheidet.

2 Min. Lesezeitflozi00
aibeginnervisual-learningquantizationnvfp4int4guide

Vier Bits bieten 16 mögliche Bitmuster. Welche Zahlen diese Muster darstellen, hängt vom Format ab. Quantisierung speichert Werte mit einer kleineren Auswahl verfügbarer Zahlen, meist ergänzt um Skalierungsinformationen. Liegt ein Wert zwischen zwei verfügbaren Zahlen, muss gerundet werden.1

Stell dir ein Lineal mit nur wenigen Markierungen vor: Das gespeicherte Ergebnis landet auf einer Markierung. Der Abstand zum ursprünglichen Wert ist der Rundungsfehler. Diese Lektion vergleicht zwei unterschiedliche Anordnungen solcher Markierungen.

Sehen · ausprobieren · verstehen

INT4 & NVFP4: gleiche Bitzahl, andere Zahlen

Bewege eine Zahl und sieh, was beim Speichern verloren geht.

KI-gestützte Lernvisualisierung · vereinfachtes Rechenbeispiel

Schritt 1 / 5Vier Bits

Vier Bits ergeben 16 Bitmuster. Entscheidend ist, welchen Zahlenwert jedes Muster beschreibt: eine ganze Zahl bei INT4 oder eine kleine Gleitkommazahl bei FP4.

INT40001

16 ganze Zahlen: −8 bis +7. Mit einer gemeinsamen Skala liegen sie gleichmäßig auseinander.

FP4 · E2M10001

1 Vorzeichenbit, 2 Exponentenbits, 1 Mantissenbit. Ungleiche Abstände; +0 und −0 teilen sich denselben Zahlenwert.

Anschaulicher Vergleich mit gleicher Skala. Bei NVFP4: Blockskala wie gewählt, Tensorskala = 1. Keine Modellkalibrierung.

INT41 × 1 = 1
-808
Absoluter Rundungsfehler: 0,4
NVFP40,5 × 1 × 1 = 0,5
-808
Absoluter Rundungsfehler: 0,1

Raute = Eingabe · Punkt = gespeicherter Wert nach Rückskalierung. Nahe null kann FP4 feinere Schritte bieten; bei 5 ist INT4 mit Skala 1 exakt.

So ist ein NVFP4-Block aufgebautFP32 × 1

Die Tensorskala gilt für alle Blöcke. Hier ist sie zur Veranschaulichung auf 1 gesetzt.

Gemeinsam: eine FP8-E4M3-Blockskala · 1× · 8 bits

16 × 4 + 8 = 72 bits
Das sind 4,5 Bits pro Wert einschließlich Blockskala. Dazu kommen einmal 32 Bits pro Tensor und mögliche Layout- oder Laufzeitkosten.

Genauer: Annahmen, Zahlenwerte und Grenzen

INT4 zeigt vorzeichenbehaftete Ganzzahlen mit symmetrischer Skalierung (Nullpunkt 0): q = round(x / s), begrenzt auf −8…7; rekonstruiert wird q × s. Andere INT4-Verfahren können andere Gruppengrößen und Nullpunkte verwenden und benötigen ebenfalls Metadaten.

FP4-E2M1-Beträge: 0; 0,5; 1; 1,5; 2; 3; 4; 6, jeweils mit Vorzeichen. 16 Bitmuster ergeben 15 unterschiedliche Zahlenwerte. Die Demo rundet in beiden Formaten zur nächsten Zahl; bei genau gleichem Abstand gewinnt das gerade niederwertigste Bit.

Gezeigt ist das verbreitete NVFP4-Layout mit 16 Werten pro Block. Einige Trainingsrezepte nutzen zweidimensionale Skalierung. Einzelne Rundungsfehler sind keine Messung der Modellqualität. Durchsatz hängt zusätzlich von Hardware und Kernels ab; Gewichtskompression bestimmt nicht automatisch die KV-Cache-Präzision.

Originalquellen: NVIDIA NVFP4 · TensorRT quantization · Transformer Engine

Du bestimmst das Tempo. Pausiere jederzeit oder wähle einen Schritt aus.

INT4: gleichmäßige Ganzzahlschritte

Vorzeichenbehaftetes INT4 kann die ganzen Zahlen von −8 bis 7 darstellen. Im hier verwendeten symmetrischen Beispiel werden diese Zahlen mit einer positiven Skala multipliziert. Bei einer Skala von 0,5 ergibt die Ganzzahl 3 den rekonstruierten Wert 1,5. Die Abstände bleiben gleichmäßig.1

INT4 allein beschreibt noch kein vollständiges Quantisierungsverfahren. Implementierungen wählen Skalen, Gruppengrößen und manchmal Nullpunkte, die den Ganzzahlbereich verschieben. Das Diagramm verwendet ein ausdrücklich vereinfachtes symmetrisches Beispiel; es steht nicht für jede INT4-Modelldatei.

NVFP4: Gleitkommaschritte mit gemeinsamen Skalen

NVFP4 nutzt einen vier Bit großen E2M1-Wert: ein Vorzeichenbit, zwei Exponentenbits und ein Nachkommabit. Ohne Skalierung sind die Beträge 0, 0,5, 1, 1,5, 2, 3, 4 und 6 darstellbar. Negative Werte entstehen über das Vorzeichenbit. Es gibt 16 Muster, aber 15 verschiedene Zahlenwerte, weil positive und negative Null denselben Zahlenwert darstellen.23

Die Markierungen liegen nahe null dichter beieinander und bei größeren Beträgen weiter auseinander. Zum üblichen NVFP4-Aufbau gehören außerdem eine FP8-Skala für jeweils 16 Werte und eine FP32-Skala für den Tensor, also das Zahlenfeld mit diesen Blöcken. Zur Rekonstruktion wird der kleine E2M1-Wert mit beiden Skalen multipliziert.2

Beobachte zuerst die Rundung, dann die Skala

Verfolge den Eingabewert bis zum rekonstruierten Wert auf beiden Zahlenstrahlen. Der angezeigte Fehler ist eine Differenz zwischen zwei Zahlen, keine Vorhersage der Antwortqualität eines Modells. Je nach Eingabe und Skalen liegt eine INT4- oder eine FP4-Markierung näher.

Die Skalierung streckt oder staucht den Zahlenstrahl. Ein E2M1-Wert von 1,5 ergibt beispielsweise mit Blockskala 2 und Tensorskala 0,5 wieder 1,5. Diese bewusst einfachen Werte zeigen die Multiplikation; sie sind weder eine Kalibrierungsanleitung noch ein Benchmark.

Was die Angabe „4-Bit“ auslässt

Auch gemeinsame Skalen brauchen Speicher. Beim gezeigten NVFP4-Aufbau belegen 16 Werte mit je vier Bit plus eine acht Bit große Blockskala zusammen 72 Bit: 4,5 Bit pro Wert, noch ohne Tensorskala und Layout-Zusätze. Das ist eine Rechnung für diesen Aufbau, keine Speicherprognose für ein ganzes Modell. Auch INT4-Verfahren speichern Metadaten.21

Keines der Formate garantiert bessere Modellqualität oder schnellere Ausführung. Kalibrierung, Modell, unterstützte Rechenroutinen und Hardware spielen mit hinein. Die Quantisierung der Modellgewichte ändert außerdem nicht automatisch das Speicherformat des KV-Caches.

Vertiefe das Thema im Quantisierungsleitfaden, wiederhole die KV-Cache-Lektion oder kehre zum visuellen Lernpfad zurück.

Quellen

Footnotes

  1. NVIDIA TensorRT, Quantization schemes. ↩ ↩2 ↩3

  2. NVIDIA, Introducing NVFP4 for Efficient and Accurate Low-Precision Inference. ↩ ↩2 ↩3

  3. Open Compute Project, Microscaling Formats specification, FP4 encoding. ↩