Quantisierungsmethoden für LLMs: Ein 70B-Modell auf einer einzigen GPU betreiben
Ein Überblick über fünf Quantisierungstechniken, die den Speicherbedarf großer Sprachmodelle reduzieren und das Ausführen von 70-Milliarden-Parameter-Modellen auf einzelnen GPUs ermöglichen.
Quantisierungsmethoden für LLMs: Ein 70B-Modell auf einer einzigen GPU betreiben
Ein 70-Milliarden-Parameter-Modell (70B) im FP16-Format erfordert allein für die Gewichte etwa 140 GB. Im 4-Bit-Format reduziert sich dieser Bedarf auf 35 GB, was problemlos auf eine einzelne GPU passt.
Allerdings funktioniert einfaches Runden der Werte bei großen Modellen nicht. Etwa 0,1 % der versteckten Dimensionen enthalten Werte, die bis zu 20-mal größer sind als andere Werte im Tensor; diese sogenannten Ausreißer brechen das Quantisierungsgrid für alle anderen Parameter.
Jede der folgenden fünf Methoden adressiert das Ausreißerproblem in unterschiedlichen Phasen:
RTN (Round-To-Nearest)
Ignoriert das Problem.
Jedes Gewicht wird einfach auf die nächste Quantisierungsstufe gerundet, ohne Kalibrierungsdaten zu verwenden.
Die günstigste Option, aber bei niedriger Präzision am schwächsten.GPTQ
Korrigiert die Folgen des Rundens.
Quantisiert Schicht für Schicht und Spalte für Spalte. Nach jedem Schritt werden die verbleibenden Gewichte angepasst, um den Fehler zu kompensieren, bevor fortgefahren wird.AWQ (Activation-aware Weight Quantization)
Schützt wichtige Gewichte vor dem Runden.
Identifiziert etwa 1 % der Gewichtskanäle mit dem größten Einfluss und skaliert sie so, dass sie der Quantisierung besser standhalten.
Das finale Modell operiert weiterhin vollständig im Standard-INT4-Format.LLM.int8()
Isoliert Ausreißer während der Inferenz.
Dimensionen mit Ausreißern werden in FP16 ausgeführt, während die restlichen 99,9 % der Parameter im INT8-Format laufen. Die Ergebnisse werden anschließend kombiniert.QAT (Quantization-Aware Training)
Adressiert das Problem bereits im Training.
Das Modell wird unter Berücksichtigung der Quantisierung feinabgestimmt: Das Runden ist in jeden Forward-Pass integriert, sodass sich das Modell an die resultierenden Verluste anpasst, bevor die tatsächliche Quantisierung angewendet wird.
Alle fünf Methoden führen zum gleichen Ergebnis – einem Modell, das mit geringerer Repräsentationspräzision im Vergleich zur original trainierten Version arbeitet. Der Unterschied liegt lediglich darin, wann das Ausreißerproblem angegangen wird.
Die folgende Visualisierung fasst diese Ansätze gut zusammen.
Für eine detaillierte Studie zu LLM-Quantisierungsmethoden empfehlen wir diesen exzellenten Artikel: Read more
Warum das wichtig ist
AnalyseDiese Quantisierungsmethoden senken die Hardware-Hürden für große Modelle erheblich und machen sie auf Standard-GPUs lauffähig. Für Entwickler ist das Verständnis dieser Ansätze entscheidend, um Leistung und Ressourcenverbrauch optimal auszubalancieren.
In der Community diskutieren
Teile deine Fragen und Erkenntnisse mit Entwicklern