Letzte Woche haben wir uns ja mit dem LM Studio beschäftig, da kamen aber einige Rückfragen auf, weshalb ich hier heute mal noch auf diese Details eingehen möchte.
Wenn man sich die Download-Optionen für ein Modell wie Qwen auf Hugging Face oder im LM Studio ansieht, stolpert man über kryptische Bezeichnungen wie Q4_K_M, Q8_0 oder Q6_K. Spontan denkt man sich: „Wenn Q8 eine höhere Zahl hat, muss es doch besser sein als Q4, oder?“
Ja, technisch gesehen ist Q8 präziser als Q4, aber das bedeutet nicht, dass es die bessere Wahl für dich ist. Diese kryptischen Kürzel sind keine willkürlichen Nummern. Sie erzählen dir eine Geschichte über die Leistung, Größe und Genauigkeit des Modells, noch bevor du es herunterlädst.
Dieser Artikel entschlüsselt dir diese Suffixe ein für alle Mal, damit du die richtige Entscheidung für deine Hardware triffst und nie wieder blind raten musst oder nur nach Schema F „größere Zahl = besser“ wählst.
Was ist Quantisierung? Die einfache Erklärung
Also gut, rein ins Thema. Was bedeuten diese kryptischen Dateinamen? Stell dir vor, du hast ein riesiges, detailliertes Gemälde (das unquantisierte Modell). Jede Farbe ist mit 16 oder 32 Bit dargestellt, was enorm viel Speicherplatz und Rechenleistung beansprucht. Das ist der ursprüngliche Zustand eines LLMs, die sogenannten FP16– oder FP32-Modelle.
Quantisierung ist der Prozess, dieses Gemälde zu komprimieren, indem man die Anzahl der Bits pro Farbe reduziert, zum Beispiel auf 8 oder sogar nur 4. Dadurch wird das Bild kleiner und kann schneller verarbeitet werden, oft mit minimalem Qualitätsverlust.
Jedes Mal, wenn du einen Prompt an ein LLM sendest, verarbeitet es Milliarden von diesen „Farbpixeln“, den sogenannten Weights (Gewichten). Diese Weights sind das Herzstück des Modells. Wenn wir sie komprimieren, brauchen wir viel weniger Speicherplatz und die Berechnungen laufen um ein Vielfaches schneller. Genau das macht es möglich, große LLMs auf ganz normaler Consumer-Hardware, wie deinem Laptop oder PC laufen zu lassen.
Die Anatomie eines Quantisierungs-Kürzels
Ein Name wie Q4_K_M mag kompliziert wirken, aber er ist einfach eine Aneinanderreihung von Informationen:
- Q: Steht für „Quantisiert“.
- Die Zahl (z. B. Q4): Gibt an, wie viele Bits jedes Gewicht jetzt hat. Eine Q4-Version nutzt 4 Bit pro Gewicht. Je höher die Zahl, desto genauer, aber auch größer und langsamer ist das Modell.
- K: Steht für „Grouped Quantization“ (gruppierte Quantisierung). Das ist eine moderne und sehr genaue Methode. Das Modell quantisiert die Gewichte nicht alle auf einmal, sondern in kleinen Gruppen (z. B. 64 Stück). Für jede Gruppe werden individuelle Skalierungsfaktoren berechnet, was zu einer deutlich höheren Genauigkeit führt als bei älteren Methoden.
- 0 oder 1: Diese Zahlen stehen für ältere, weniger präzise Quantisierungs-Methoden. Sie nutzen eine einzige globale Skalierung für das gesamte Modell, was weniger genau ist, aber oft schneller. Wenn du die Wahl hast, ist K fast immer die beste Option.
- S, M, L: Diese Buchstaben geben die Präzision an und kommen oft in Verbindung mit dem K-Suffix vor. Sie bedeuten Small, Medium oder Large. Sie helfen dabei, die Modelle zu unterscheiden, wenn sie die gleiche Bit-Zahl haben. S steht für die schnellste, aber ungenauere Variante, während L für die langsamste, aber genaueste steht. M ist oft ein guter Kompromiss.
Ein Q4_K_M ist also ein „quantisiertes Modell mit 4 Bits pro Gewicht, das die moderne, gruppenbasierte Methode (K) und eine mittlere Präzision (M) verwendet.“
Perplexity und KL Divergence: Wie misst man die Qualität?
Aber wie genau weiß man, ob ein quantisiertes Modell gut genug ist?
Dafür gibt es zwei wichtige Metriken:
Perplexity (PPL)
Perplexity misst, wie gut ein Modell Text vorhersagt. Je niedriger der PPL-Wert, desto „weniger verwirrt“ ist das Modell und desto besser verhält es sich im Vergleich zum Original.
Die Entwickler von llama.cpp listen PPL-Werte für die verschiedenen Quantisierungen auf. Hier sieht man zum Beispiel, dass ein Q8_0-Modell fast die gleiche Performance wie das unquantisierte Original hat, während ein Q2_K bereits deutliche Einbußen zeigt.
KL Divergence (Kullback–Leibler-Divergenz)
KL Divergence ist eine fortgeschrittenere Metrik. Sie misst, wie stark die Wahrscheinlichkeitsverteilung der quantisierten Version von der des Originalmodells abweicht.
Das ist wichtig, weil Perplexity Fehler ausgleichen kann. Ein Modell mag einen guten Durchschnittswert haben, aber bei seltenen oder schwierigen Wörtern total danebenliegen. Die KL Divergence deckt diese „blinden Flecken“ auf. Je niedriger der Wert, desto besser.
Falls euch dass bisher aber noch zu ungenau ist und ihr euch in das Thema unbedingt weiter einlesen wollt empfehle ich euch die folgenden Autoren und Quellen: Paul Ilvez | René Peinl | Michael Jentsch | Maarten Grootendorst
So, nachdem wir schon relativ weit im Thema drin sind, hier noch der Vollständigkeit halber:
Jenseits von PPL+KLD: Weitere Bewertungsmetriken
Perplexity und KL Divergence sind wichtig, aber sie sind nur ein Teil des Bildes, wenn es um die Bewertung von LLMs geht. Für spezifische Aufgaben gibt es andere, maßgeschneiderte Metriken, die eine präzisere Aussage über die Qualität der generierten Texte liefern.
- F1 Score: Dieser Wert ist das harmonische Mittel aus zwei Kennzahlen: Precision (Wie viele der erkannten Elemente waren korrekt?) und Recall (Wie viele der korrekten Elemente wurden überhaupt erkannt?). Der F1 Score wird besonders häufig bei Aufgaben wie der Named-Entity-Recognition (NER) verwendet, bei der es darum geht, spezifische Entitäten wie Namen oder Orte in einem Text zu identifizieren.
- BLEU Score (Bilingual Evaluation Understudy): Dieser Score ist der Standard in der maschinellen Übersetzung. Er misst, wie sehr die maschinell erstellte Übersetzung mit den Referenzübersetzungen übereinstimmt, die von menschlichen Experten erstellt wurden. Je näher der generierte Text an den Referenztexten liegt, desto höher ist der BLEU-Wert.
- ROUGE Score (Recall-Oriented Understudy for Gisting Evaluation): ROUGE ist eine Gruppe von Metriken, die die Überschneidung zwischen dem generierten Text und dem Referenztext bewerten. Sie werden oft bei Zusammenfassungsaufgaben eingesetzt. ROUGE hilft dabei, zu quantifizieren, wie gut das Modell die wichtigsten Informationen aus einem Text herausfiltert und in einer neuen, prägnanten Form wiedergibt.
Und für alle von euch die jetzt immer noch nicht genug haben, lass ich euch den hier noch da. Da driften wir dann aber schon ganz schön weit ab. 😉
Die richtige Wahl treffen
Jetzt, da du die Begriffe kennst, kannst du die Modelle mit Bedacht auswählen.
- Q4_K_M wird von vielen Entwicklern als der beste Kompromiss zwischen Größe, Geschwindigkeit und Genauigkeit empfohlen. Es ist oft eine hervorragende Standardoption.
- Q5_K_M und Q5_K_S bieten noch mehr Präzision bei nur geringfügig größerer Dateigröße.
- Q6_K und Q8_0 sind die „heavyweights“ der Quantisierung. Sie sind fast so gut wie die Originalmodelle, brauchen aber deutlich mehr Speicherplatz und sind langsamer. Nutze sie, wenn du die bestmögliche Genauigkeit benötigst und deine Hardware das hergibt.
TL:DR
Am Ende des Tages ist die beste Methode, einfach verschiedene Varianten auszuprobieren. Dank Tools wie LM Studio oder Webseiten wie Hugginface.co kannst du das ganz einfach tun, ohne dich von den technischen Details abschrecken zu lassen. Mit diesen Infos sollte dir aber zumindest die Vorauswahl leichter fallen.