LLM-Modellgröße, Speicheranforderungen und Quantisierung
Große Sprachmodelle (LLMs) wie GPT-3, LLaMA oder PaLM sind neuronale Netze von enormer Größe. Ihre Größe wird typischerweise durch die Anzahl der Parameter charakterisiert (z. B. 7b, 14b, 72b, was 7 Milliarden, 14 Milliarden, 72 Milliarden Parameter bedeutet). Ein Parameter ist im Wesentlichen ein Gewichts- oder Bias-Wert innerhalb des Netzwerks. Diese Parameter werden während des Trainings gelernt und repräsentieren gemeinsam das „Wissen“ des Modells, das bestimmt, wie es Informationen verarbeitet und Ausgaben generiert. Moderne LLMs besitzen Milliarden, manchmal sogar Hunderte von Milliarden, von Parametern.

Hunderte von Milliarden Parametern führen zu erheblichen Speicheranforderungen:
- Speicherung: Die Parameter des Modells müssen auf einem persistenten Speicher wie einer Festplatte oder SSD gespeichert werden.
- Laden: Um das Modell auszuführen (Inferenz durchzuführen), müssen die Parameter in den Speicher der GPU (oder eines anderen Beschleunigers) geladen werden.
- Berechnung: Während der Modellausführung benötigt die GPU ständigen Zugriff auf diese Parameter, um Berechnungen durchzuführen.
Beispiel:
Nehmen wir an, ein Modell hat 175 Milliarden Parameter und jeder Parameter wird im FP32-Format (32-Bit-Gleitkommazahl) gespeichert.
- Eine FP32-Zahl belegt 4 Byte (32 Bit / 8 Bit pro Byte).
- 175 Milliarden Parameter * 4 Byte/Parameter = 700 Milliarden Byte = 700 GB.
Daher erfordert allein das Speichern der Modellparameter 700 GB Speicherplatz! Das Laden und Ausführen des Modells erfordert mindestens so viel VRAM (Video-RAM) auf der GPU. Aus diesem Grund sind High-End-GPUs mit großen Mengen an VRAM (wie NVIDIA A100, H100) für die Ausführung großer LLMs erforderlich. Wenn jeder Parameter anstelle von 4 Byte nur 1 Byte belegen würde (wie beim INT8-Format), würde der Speicherbedarf in Gigabyte in etwa der Anzahl der Parameter in Milliarden entsprechen. Beispielsweise würde ein 175B-Parametermodell mit INT8 etwa 175 GB VRAM benötigen.
Quantisierung: Reduzierung des Speicherbedarfs
Quantisierung ist eine Technik, die darauf abzielt, die Größe und den Speicherbedarf des Modells zu reduzieren, in der Regel durch Inkaufnahme eines akzeptablen Präzisionsverlusts. Während der Quantisierung werden die Parameter des Modells (Gewichte und manchmal Aktivierungen) in ein numerisches Format geringerer Präzision umgewandelt.
Wie funktioniert Quantisierung?
- Originalformat: Modelle werden typischerweise mit FP32- oder FP16-Formaten (16-Bit-Gleitkommazahl) trainiert.
- Zielformat: Während der Quantisierung werden Parameter in Formate wie INT8 (8-Bit-Ganzzahl), FP8 oder andere Formate geringerer Präzision umgewandelt.
- Mapping: Quantisierung beinhaltet die Erstellung einer Abbildung zwischen dem Wertebereich im Originalformat (z. B. FP32) und dem Wertebereich im Zielformat (z. B. INT8). Diese Abbildung definiert, wie die Originalwerte unter Verwendung des begrenzten Bereichs des Zielformats dargestellt werden, und kann linear oder nicht-linear sein.
- Rundung: Basierend auf der Abbildung werden die Originalwerte auf den nächstgelegenen darstellbaren Wert im Zielformat „gerundet“.
- Informationsverlust: Dieser Rundungsprozess führt unweigerlich zu einem gewissen Informationsverlust, der zu einer Verringerung der Genauigkeit des Modells führen kann. Die Herausforderung bei der Quantisierung besteht darin, diesen Präzisionsverlust zu minimieren.
Beispiel (INT8-Quantisierung):
- FP32: Eine Zahl belegt 4 Byte.
- INT8: Eine Zahl belegt 1 Byte.
Wenn wir ein Modell mit 175 Milliarden Parametern von FP32 auf INT8 quantisieren, schrumpft die Modellgröße von 700 GB auf 175 GB! Dies ist eine erhebliche Einsparung, die es ermöglicht, das Modell auf kleineren, kostengünstigeren GPUs auszuführen (wenn auch oft mit einer leichten Verringerung der Leistung).
Quantisierungsmethoden:
- Post-Training-Quantisierung (PTQ): Die Quantisierung wird durchgeführt, nachdem das Modell vollständig trainiert wurde. Dies ist die einfachste Methode, kann aber zu einem größeren Genauigkeitsverlust führen.
- Quantisierungsbewusstes Training (QAT): Quantisierungsoperationen werden simuliert oder in den Trainingsprozess selbst integriert. Das Modell lernt, den durch die Quantisierung verursachten Präzisionsverlust zu kompensieren. Dies führt in der Regel zu einer besseren Genauigkeit als PTQ, erfordert aber mehr Zeit und Rechenressourcen für das Training.
Zusammenfassung
Quantisierung ist eine essentielle Technik für den effizienten Betrieb großer LLMs. Sie ermöglicht eine signifikante Reduzierung der Modellgröße und des Speicherbedarfs, wodurch diese leistungsstarken Modelle für ein breiteres Spektrum von Nutzern und Hardware zugänglich werden. Quantisierung beinhaltet jedoch einen Kompromiss mit der Genauigkeit, daher ist die Auswahl der geeigneten Quantisierungsmethode und des numerischen Formats für die jeweilige Aufgabe entscheidend. Hardware-Unterstützung (z. B. effiziente INT8-Operationen auf GPUs) ist der Schlüssel für die schnelle und effektive Ausführung quantisierter Modelle. Die Entwicklung numerischer Formate (FP32, FP16, BF16, INT8, FP8) und deren Hardware-Unterstützung ist direkt mit der Quantisierung verbunden und ermöglicht gemeinsam die Erstellung und Bereitstellung immer größerer und komplexerer LLMs.