← Die Green-Zone-Bibliothek

Eine Geschichte über KI · 05

Wie viele Bits braucht eine KI?

Warum es Modelle mit 4, 6, 8 und 16 Bit gibt

Was weniger Bits verändern, was sie bewahren und warum deine Grafikkarte mitreden darf.

Veröffentlicht von AI Model Green Zone

Unterstrichene Begriffe öffnen das Glossar. Mauszeiger oder Tastaturfokus zeigen eine kurze Erklärung.

Du beschließt, ein KI-Modell mit acht Milliarden Parametern herunterzuladen.

Du hast einen Computer, ein paar Aufgaben im Sinn und den optimistischen Glauben, dass Herunterladen eine Tätigkeit mit Anfang und Ende ist.

Dann landest du auf der Modellseite.

Es gibt eine FP16-Version. Eine Acht-Bit-Version. Eine mit sechs Bit. Eine mit fünf. Mehrere mit vier. Und etwas namens Q4_K_M, das nach einem Ersatzteil klingt, das man vor dem Baumarktbesuch fotografieren sollte.

Alle sind Versionen desselben trainierten Modells. Sie enthalten im Wesentlichen denselben Bestand an gelernten Parametern. Ihr Speicherbedarf unterscheidet sich jedoch erheblich.

Dein erster Impuls ist verständlich: die größte nehmen. Da steckt sicher mehr von dem drin, was das Modell nützlich macht.

Deine Grafikkarte mit ihren acht Gigabyte VRAM würde bei dieser Entscheidung gern mitreden.

Der Unterschied zwischen den Versionen entsteht vor allem durch Gewichtsquantisierung: Die gelernten Zahlenwerte des Modells werden mit weniger Bits dargestellt, mithilfe sorgfältig gewählter Näherungen.

Eine geringere Genauigkeit dieser Zahlen kann ihren Speicherbedarf drastisch reduzieren.

Das klingt nach einem Schnäppchen, auf das unmittelbar ein Grund zum Misstrauen folgt.

Was ist verloren gegangen? Versteht das Modell deine Dokumente noch? Hilft es weiterhin beim Programmieren? Weiß ein Vier-Bit-Modell, dass Boston in Massachusetts liegt, oder wurde Geografie gestrichen, um Platz für Grammatik zu schaffen?

Es gibt keine Abteilung, die entscheidet, welche Städte die Komprimierung überleben.

Was sich verändert, ist die Genauigkeit, mit der die gelernten Zahlen erhalten bleiben. Diese Zahlen beeinflussen die Berechnungen. Änderungen können deshalb beeinflussen, wie gut das Modell sein Gelerntes nutzt.

Doch jedes verfügbare Bit zu bewahren hat seinen Preis. Bei deiner tatsächlichen Arbeit kann die zusätzliche Genauigkeit den größeren Grafikspeicherbedarf rechtfertigen — oder auch nicht.

Hinter dem gesamten Downloadmenü steht diese Frage:

Wie viel numerische Genauigkeit des ursprünglichen Modells brauche ich — und was kann ich mit dem eingesparten VRAM anfangen?

Das Modell war schon in der Schule

Bevor wir vier mit sechzehn Bit vergleichen, sollten wir Lernen vom Speichern des Gelernten trennen.

Beim Training passt ein Modell riesige Sammlungen von Zahlenwerten an: die Gewichte. Gemeinsam beeinflussen sie, wie es Muster erkennt, Anweisungen befolgt und Antworten erzeugt.

Wenn du ein gewöhnliches vortrainiertes Modell herunterlädst, hat dieses Training bereits stattgefunden.

Die Vier-Bit-Version war nicht vier Jahre in der Schule und die Sechzehn-Bit-Version sechzehn. Es sind unterschiedliche numerische Darstellungen desselben trainierten Modells.

Die Ausbildung kam zuerst. Quantisierung verändert, wie ihre Ergebnisse aufbewahrt werden.

Stell dir vor, das Training hat dieses Gewicht ergeben:

w=0.3726w=0.3726

Um numerische Genauigkeit zu verstehen, vergleiche diese Darstellungen:

0.37260.370.40.3726 \qquad 0.37 \qquad 0.4

Sie beschreiben ungefähr denselben Wert, bewahren aber unterschiedlich viele Einzelheiten.

Die erste behält alle Ziffern unseres Beispiels. Die zweite rundet auf zwei Nachkommastellen. Die dritte ist eine gröbere Näherung.

Das ist die Alltagsidee hinter numerischer Genauigkeit: Wie nah bleibt die gespeicherte Zahl an dem Wert, den wir erhalten wollten?

Wenn wir dieselben Gewichte mit weniger Bits darstellen, nehmen wir normalerweise gröbere Näherungen in Kauf und sparen dafür Speicher.

Das Dezimalbeispiel dient der Veranschaulichung. Computer verwenden Binärformate; vier Bit bedeuten also nicht vier Nachkommastellen. Formate verteilen ihre Bits unterschiedlich, und echte Quantisierung ist anspruchsvoller als das bloße Abschneiden letzter Ziffern.

Der grundlegende Tausch ist trotzdem real.

Mehr Bits geben uns mehr Spielraum, die trainierten Zahlen getreu zu bewahren. Weniger Bits sparen Speicher, verwerfen aber numerische Einzelheiten.

Da die Fähigkeiten des Modells von diesen Zahlen abhängen, kann der Detailverlust beeinflussen, wie gut es das Gelernte einsetzt.

Manchmal ist der Unterschied kaum zu bemerken. Manchmal ist er wichtig.

Es gilt herauszufinden, welcher Fall auf deine Arbeit zutrifft.

Deine Grafikkarte hat die kleinere Wohnung

Auf deiner SSD ist womöglich Platz für mehrere Modellversionen. Ein Zwei-Terabyte-Laufwerk fasst eine ansehnliche Sammlung.

Deine Grafikkarte ist die weniger großzügige Vermieterin.

Für die folgenden Beispiele nehmen wir an, dass das Modell vollständig auf einer dedizierten GPU laufen soll. Seine Gewichte müssen in den Grafikspeicher, also VRAM, dieser Karte passen. Zusätzlich muss Platz für die Verarbeitung deiner Anfragen bleiben.

Um dieses Speicherbudget geht es hier.

Ein Bit hat zwei mögliche Zustände: null oder eins. Mehrere Bits zusammen ergeben mehr Kombinationen:

24=1626=6428=2562^4=16 \qquad 2^6=64 \qquad 2^8=256

Vier Bits bieten sechzehn mögliche Kombinationen. Sechs bieten vierundsechzig. Acht bieten 256.

Ein Zahlenformat verwendet diese Kombinationen zur Darstellung von Werten. Mehr Darstellungsspielraum kostet mehr tatsächlichen Speicher.

Acht Bits ergeben ein Byte. Sechzehn Bits ergeben zwei Bytes.

Betrachten wir ein vereinfachtes Modell mit genau acht Milliarden Gewichten. Bei sechzehn Bit pro Gewicht benötigen die reinen Gewichtsdaten ungefähr:

8 Milliarden Gewichte×2 Bytes=16 GB8\text{ Milliarden Gewichte}\times2\text{ Bytes} = 16\text{ GB}

Das sind etwa 16 GB Gewichtsdaten, die im VRAM untergebracht werden müssen, bevor Arbeitsspeicher für die Berechnungen hinzukommt.

Eine Grafikkarte mit 8 GB kann diesen Platz nicht liefern. Sie wird nicht flexibler, wenn du ihr die hervorragenden Bewertungen des Modells erklärst.

Bei vier Bit pro Gewicht lautet die idealisierte Rechnung:

8 Milliarden Gewichte×0.5 Byte=4 GB8\text{ Milliarden Gewichte}\times0.5\text{ Byte} = 4\text{ GB}

Praktische Formate ergänzen Hilfsinformationen und können einige Komponenten mit höherer Genauigkeit behalten. Der grundlegende Unterschied bleibt erheblich.

Dieselbe Sammlung gelernter Gewichte kann deutlich weniger VRAM belegen.

Die Gleichungen verwenden dezimale Gigabyte. Software zeigt möglicherweise GiB an, eine etwas größere Einheit. Noch wichtiger: Gemeint sind nur die Gewichtsdaten, nicht der vollständige Speicherbedarf eines laufenden Modells.

Vier Bit bedeutet daher nicht: „Benötigt eine Vier-Gigabyte-Grafikkarte.“

Der nützliche Zusammenhang lautet: Beim selben Modell lassen weniger Bits pro Gewicht normalerweise mehr Grafikspeicher für alles andere übrig.

Alle acht Milliarden Parameter sind noch da. Ihre Wohnpauschale wurde angepasst.

Was vier Bits tatsächlich speichern

Kehren wir zu unserem erfundenen Gewicht zurück:

w=0.3726w=0.3726

Wie kann ein Vier-Bit-Code eine solche Zahl darstellen?

Ein Vier-Bit-Code kann sechzehn Möglichkeiten unterscheiden. In einem absichtlich einfachen Beispiel könnten diese Codes für sechzehn Werte im Abstand von 0.1 stehen:

0,0.1,0.2,…,1.4,1.50,\;0.1,\;0.2,\;\ldots,\;1.4,\;1.5

Unser ursprünglicher Wert fehlt in der Liste. Der nächstgelegene verfügbare Wert ist 0.4.

Das System kann den kompakten Code 4 speichern, zusammen mit der gemeinsamen Information, dass jeder Schritt 0.1 bedeutet:

wq=4×0.1=0.4w_{\mathrm{q}}=4\times0.1=0.4

Diese Schrittweite heißt Skalierungsfaktor.

Die Differenz zwischen ursprünglichem Gewicht und Näherung beträgt:

|0.4−0.3726|=0.0274\left|0.4-0.3726\right|=0.0274

Diese Differenz ist der Quantisierungsfehler.

Das ist ein Lehrbeispiel, nicht das tatsächliche Rezept von Q4_K_M. Echte Gewichte können negativ sein, und praktische Verfahren wählen ihre Darstellungen sorgfältiger.

Viele Verfahren teilen Gewichte in Gruppen auf. Jede verwendet eine passende Skalierung oder andere Informationen zur Interpretation. Derselbe Vier-Bit-Code kann deshalb in unterschiedlichen Gruppen für verschiedene Näherungswerte stehen. Das gesamte Modell ist nicht auf eine einzige universelle Liste von sechzehn Zahlen beschränkt. Der Quantisierungsleitfaden von Hugging Face erläutert diese Zuordnungen.

Denk an ein Lineal, dessen Strichabstände sich an die jeweiligen Messwerte anpassen lassen.

Eine Gruppe eng beieinanderliegender Werte profitiert von kleinen Abständen. Eine Gruppe über einen weiten Bereich braucht eine andere Einteilung.

Die Anzahl der Striche bleibt begrenzt. Du kannst sie klug platzieren, aber durch Begeisterung allein kommen keine hinzu.

Computer bleiben enttäuschend unempfänglich für Begeisterung.

Wie Rundung bis zur Antwort gelangt

Unser ursprüngliches Gewicht war 0.3726. Seine Näherung ist 0.4.

Nehmen wir als eingehenden Zahlenwert 2. Mit dem ursprünglichen Gewicht ergibt sich:

2×0.3726=0.74522\times0.3726=0.7452

Mit der Näherung ergibt sich:

2×0.4=0.82\times0.4=0.8

Die Rechenoperation ist dieselbe. Das Ergebnis hat sich verschoben.

Ein Modell führt gewaltige Mengen an Berechnungen mit seinen Gewichten durch. Die Ergebnisse fließen über seine Schichten hinweg in weitere Berechnungen ein.

Wenn du nach Boston fragst, wird dein Text in Tokens — Wörter oder Wortstücke — zerlegt und in numerische Darstellungen umgewandelt. Diese verändern sich auf ihrem Weg durch das Modell.

Solche veränderlichen Zahlenwerte heißen Aktivierungen. Die gelernten Gewichte bestimmen mit, wie sie umgeformt werden.

Eine häufige Operation lässt sich knapp so schreiben:

Y=XWY=XW

Dabei enthält XX die eingehenden Zahleninformationen, WW die gelernten Gewichte und YY das umgeformte Ergebnis.

Hinter der kleinen Gleichung kann eine enorme Menge von Multiplikationen und Additionen stecken. Während das Modell scheinbar gelassen über Bostons Architektur spricht, rechnet die Hardware mit einer Intensität, die einen menschlichen Buchhalter beunruhigen würde.

Veränderte Gewichte können somit die Berechnungen verändern — und schließlich die Antwort.

Die Wirkung ergibt sich aber nicht einfach aus der Summe aller Rundungsfehler. Manche Unterschiede gleichen sich aus. Manche sind praktisch unbedeutend. Andere betreffen wichtigere Teile der Berechnung.

Gute Quantisierungsverfahren versuchen, trotz der Näherungen nützliches Verhalten zu erhalten.

Forschende berücksichtigen auch, wie Gewichte tatsächlich genutzt werden. AWQ, kurz für Activation-aware Weight Quantization, verwendet Informationen über Aktivierungen, um wichtige Kanäle durch Skalierung zu schützen. Die AWQ-Arbeit beschreibt diesen Ansatz.

Genauigkeit ist nicht überall gleich wichtig.

Offenbar haben selbst in einem neuronalen Netz manche Zahlen bessere Verträge ausgehandelt.

Boston überlebt. Der Tagesplan braucht mehr Aufmerksamkeit.

Angenommen, du fragst mehrere Versionen desselben leistungsfähigen Modells:

Liegt Boston in Massachusetts?

Sie könnten alle richtig antworten.

Boston übersteht die Vier-Bit-Quantisierung. Massachusetts bleibt, wo wir es zurückgelassen haben. Der Charles River wurde nicht nach Ohio verlegt.

Versuche nun eine anspruchsvollere Anfrage:

Ich wohne in der Nähe von Back Bay. Plane einen Tag mit Museum, unabhängiger Buchhandlung, Abendessen mit Meeresfrüchten und zwei freien Stunden am Nachmittag. Ich habe kein Auto, möchte lange Fußwege vermeiden und muss vor meinem Abendzug an der South Station sein.

Das Modell muss mehrere Anforderungen aufeinander abstimmen. Außerdem braucht es verlässliche Informationen über Öffnungszeiten und Verkehrsmittel.

Damit gibt es mehr Gelegenheiten, bei denen Schwächen sichtbar werden.

Eine gute Vier-Bit-Version kann die Aufgabe sehr gut lösen. Eine genauere Version kann die Fähigkeit des ursprünglichen Modells, diese Anforderungen abzustimmen, besser erhalten. Keines der Ergebnisse folgt automatisch aus der Bitzahl.

Ähnliches gilt beim Vergleich von Angeboten mit komplizierten Ausschlüssen, bei Codeänderungen ohne Nebenwirkungen oder bei Problemen mit mehreren voneinander abhängigen Schritten.

Solche Aufgaben liefern Gründe, auf den Erhalt des erlernten Modellverhaltens zu achten.

Numerische Genauigkeit und sachliche Richtigkeit sind jedoch verschiedene Dinge.

Ein Modell kann seine Gewichte sehr genau bewahren und trotzdem die nötigen Informationen für deine Frage nicht besitzen. Mehr Bits liefern keinen aktualisierten Fahrplan, den das Modell nie erhalten hat.

Sechzehn Bits überreden kein geschlossenes Restaurant zum Aufmachen.

Und eine ausführlichere Antwort ist nicht zwangsläufig richtiger. Ein Modell kann sich kurz irren oder eine beeindruckend geordnete Darstellung seines Irrtums liefern.

Selbstsicherheit braucht bedauerlicherweise sehr wenig Speicher.

Warum dann die Sechzehn-Bit-Version behalten?

Wenn eine Vier-Bit-Version richtig antworten kann, warum sollte jemand die größere verwenden?

Weil „funktioniert bei dieser Aufgabe gleich gut“ nicht dasselbe bedeutet wie „bewahrt bei jeder Aufgabe das gesamte Verhalten des ursprünglichen Modells“.

Ein Sechzehn-Bit-Checkpoint dient häufig als hochgenaue Version, aus der kleinere Varianten entstehen. Ihn zu behalten vermeidet die zusätzliche Näherung durch niedrigere Bitbreiten.

Das ist relevant, wenn der Erhalt des ursprünglichen Verhaltens wichtiger ist als ein geringerer Speicherbedarf.

Vielleicht deckt deine Arbeit eine Schwäche der quantisierten Version auf. Vielleicht prüfst du das Modell auf einer breiten Auswahl von Aufgaben. Vielleicht reicht dein VRAM für genaue Gewichte, Kontext und Arbeitsbereich aus, sodass es wenig Anlass für zusätzliche Zahlenverluste gibt.

Höhere Genauigkeit garantiert keine richtige Antwort. Sie beseitigt eine zusätzliche Quelle von Veränderungen.

Die ursprüngliche Version ist auch eine wertvolle Ausgangsbasis: für neue Quantisierungen, Methodenvergleiche oder die Vorbereitung weiteren Trainings.

Sind numerische Einzelheiten einmal verworfen, holt die bloße Rückumwandlung der kleinen Darstellung in ein größeres Format sie nicht zurück.

0.400000 statt 0.4 zu schreiben bringt 0.3726 nicht zurück. Es verpasst der Näherung einen längeren Anzug.

Beim weiteren Training ist eine eigene Unterscheidung nötig. Ein installiertes Sechzehn-Bit-Modell lernt während eines gewöhnlichen Gesprächs nicht automatisch weiter. Training erfordert einen Prozess, der Parameter aktualisiert.

Darstellungen mit höherer Genauigkeit sind dafür nützlich, es gibt jedoch auch Verfahren mit wenigen Bits. QLoRA etwa lässt ein Vier-Bit-Basismodell unverändert und trainiert zusätzliche Komponenten, sogenannte Adapter. Die QLoRA-Arbeit erläutert das Verfahren.

Sechzehn-Bit-Modelle haben also praktische Aufgaben. Sie bewahren eine getreuere Ausgangsbasis und können Verschlechterungen vermeiden, die für bestimmte Arbeiten relevant sind.

Was sie nicht bieten, ist ein automatisches Upgrade von „kennt Boston“ zu „hat über Massachusetts promoviert“.

Und warum du vielleicht keine sechzehn Bits brauchst

Die meisten Menschen laden ein lokales Modell herunter, weil sie etwas erledigen wollen.

Sie möchten Notizen ordnen, ein Dokument verstehen, eine E-Mail verfassen, Produkte vergleichen, mit Code arbeiten oder ein Thema erkunden.

Normalerweise wollen sie nicht jede numerische Einzelheit um ihrer selbst willen bewahren.

Erledigt eine gute Vier-, Fünf- oder Sechs-Bit-Version ihre Aufgaben gut, bringt der zusätzliche Speicher einer genaueren Version für diesen Einsatz möglicherweise kaum praktische Verbesserung.

Hier liegt der Unterschied zwischen einem messbaren Unterschied und einem Unterschied, der deine Nutzung verändert.

Beides ist wichtig, beantwortet aber unterschiedliche Fragen.

Angenommen, zwei Versionen liefern gleich nützliche Zusammenfassungen der Dokumente, die du tatsächlich liest. Eine belegt erheblich mehr VRAM. Die andere lässt Platz für längere Dokumente und mehr Gesprächsverlauf.

Die kleinere Darstellung zu wählen kann eine vernünftige technische Entscheidung sein.

Du musst nicht für jede Nachkommastelle eine Präsidentensuite buchen.

Zugleich gibt es keine allgemeine Regel, nach der Vier-Bit-Quantisierung nur zwei Prozent Qualität kostet oder einen festen Prozentsatz der Intelligenz erhält.

Ein veröffentlichter Unterschied gehört zu einem bestimmten Modell, Quantisierungsverfahren, Test und Aufbau. Bei einer anderen Aufgabe kann er kleiner, größer oder praktisch unwichtig sein.

Forschung wie GPTQ hat Drei- und Vier-Bit-Quantisierung mit geringen Verlusten in den veröffentlichten Tests gezeigt, auch bei sehr großen Modellen. Das belegt, dass der Tausch hervorragend funktionieren kann. Es ist keine Garantie für jedes Modell und jede Aufgabe. Die GPTQ-Arbeit beschreibt die Ergebnisse.

Die nützliche Frage ist deshalb persönlich und überprüfbar:

Erledigt diese kleinere Version meine Arbeit weiterhin gut genug — und ist mir der eingesparte VRAM mehr wert als der verbleibende Unterschied?

Bei vielen alltäglichen Aufgaben kann die Antwort Ja lauten.

Bei manchen anspruchsvollen Aufgaben kann höhere Genauigkeit ihren Platz verdienen.

Keine der Entscheidungen verpflichtet dich zum Eintritt in ein Internetlager.

Vier Bits und ein MacBook

Die Idee, die Genauigkeit neuronaler Netze zu reduzieren, gab es lange vor der Popularität lokaler Sprachmodelle.

Verändert hatte sich das Ausmaß der Möglichkeiten.

Als Sprachmodelle auf Milliarden Parameter anwuchsen, konnten weniger Bits pro Gewicht einen unpraktikablen Speicherbedarf in etwas verwandeln, das auf einen persönlichen Computer passte.

Im März 2023 wurde diese Möglichkeit durch Georgi Gerganovs llama.cpp besonders greifbar.

Am 11. März dokumentierte Entwickler Simon Willison, wie er das LLaMA-Modell mit sieben Milliarden Parametern auf seinem M2 MacBook Pro ausführte. Sein Computer hatte 64 GB Speicher; die Modelldatei war nach Vier-Bit-Quantisierung ungefähr 4 GB groß. Sein Bericht aus erster Hand ist weiterhin verfügbar.

Ein trainiertes Sprachmodell beantwortete Fragen lokal auf einem Laptop.

Für Menschen, die bislang von Rechenzentren und gigantischen Trainingsbudgets gehört hatten, veränderte das den Blick. Man konnte mit einem fähigen Modell auf dem eigenen Computer experimentieren, ohne zusätzlich eine Industriekühlung und einen Gebäudetechniker anzuschaffen.

Quantisierung machte das ursprüngliche Training nicht kostenlos. Sie half, das trainierte Ergebnis praktisch nutzbar zu machen.

Die Modelle waren teuer auszubilden und erstaunlich anspruchslos, was den Zustand ihrer Mitschriften betraf.

Und nachdem sehr geringe Genauigkeit sich als nützlich erwiesen hatte, erforschte man weiter, wie weit sich das treiben ließ.

Programmierer gelangen gelegentlich zur Philosophie, indem sie immer wieder eins abziehen.

Q4_K_M und andere Formen des Kleingedruckten

Du kehrst zur Downloadliste zurück.

Vier Bits verstehst du jetzt. Leider scheint Q4_K_M noch einige zusätzliche Meinungen zu enthalten.

Die Bezeichnung steht für ein bestimmtes Quantisierungsrezept. Die Vier verweist auf die niedrige Bitbreite der Gewichte, aber praktische Formate benötigen mehr als nur kompakte Codes.

Sie können außerdem Skalierungsfaktoren, weitere Interpretationsinformationen und einige Modellkomponenten mit höherer Genauigkeit speichern.

Deshalb kann ein „Vier-Bit“-Format im Durchschnitt mehr als vier effektive Bits pro Gewicht benötigen.

Zwei Dateien mit Vier-Bit-Etikett können sich in Größe und Verhalten unterscheiden. Das Rezept zählt, nicht nur die große Zahl.

Ein Vier-Bit-Modell ähnelt einer „Fünf-Minuten-Installation“ in genau einem Punkt: Die Zahl ist nützlich, aber mit den Fußnoten sollte man im Gespräch bleiben.

Vielleicht begegnet dir auch GGUF. Das bezeichnet das Dateiformat für Modell und Metadaten. Es ist eine andere Art von Bezeichnung als Q4_K_M, das ein Quantisierungsrezept beschreibt.

Und FP16 sowie BF16 sind beide Sechzehn-Bit-Gleitkommaformate, verteilen ihre Bits aber unterschiedlich auf Zahlenbereich und Genauigkeit.

Du kannst die praktische Wahl verstehen, ohne jede interne Aufteilung auswendig zu lernen.

Wichtig ist: Die Bitzahl allein beschreibt das Format nicht vollständig. Und deine Laufzeitumgebung — die Software, die das Modell ausführt — muss die gewählte Variante unterstützen.

Die Abkürzungen dürfen Bekannte bleiben. Du musst sie nicht in die Familie aufnehmen.

Auch kleinere Gewichte müssen bewegt werden

Jetzt drängt sich eine vernünftige Frage auf: Muss der Computer die kompakt gespeicherten Gewichtscodes vor der Verwendung wieder zu einer riesigen hochgenauen Modellkopie entfalten?

Eine geeignete Implementierung muss keine solche entfaltete Kopie dauerhaft vorhalten.

Optimierte Routinen können kompakte Gewichtsblöcke lesen und ihre Näherungswerte während der Berechnung interpretieren. Teile der Arithmetik können dabei weiterhin eine höhere Genauigkeit verwenden.

Das stellt bei der Quantisierung verlorene Informationen nicht wieder her. 0.4 sehr genau zu multiplizieren verrät nicht, dass das ursprüngliche Gewicht 0.3726 war.

Kompakte Gewichte reduzieren auch die Menge an Gewichtsdaten, die durch das Speichersystem bewegt werden muss.

Diese Bewegung kostet Zeit. Speicherbandbreite beschreibt, wie schnell Daten übertragen werden können. Ist der Datentransport ein wesentlicher Engpass, können kleinere Darstellungen die Wartezeit des Prozessors verkürzen.

Das Dekodieren kompakter Darstellungen kann allerdings zusätzliche Arbeit verursachen. Die Leistung hängt von Hardware, Laufzeitumgebung, Format und Aufgabe ab.

Ein Format, das die Antworterzeugung beschleunigt, kann sich bei der Verarbeitung einer langen Anfrage anders verhalten.

„Vier Bit sind immer schneller“ ist daher keine verlässliche Regel. Ebenso wenig „der kleinste Download liefert die schnellste Antwort“.

Die kleinere Datei wird unter gleichen Bedingungen normalerweise früher fertig heruntergeladen. Es ist beruhigend, wenn wenigstens ein Teil des Gesprächs sich benimmt.

Für die tatsächliche Inferenzgeschwindigkeit bleiben Messungen am vorgesehenen Aufbau wertvoll.

Die Gewichte passen. Jetzt möchte das Modell arbeiten.

Hier wird der eingesparte VRAM besonders nützlich.

Die Gewichte sind nur ein Teil des Speicherbedarfs eines laufenden Modells. Es braucht auch Platz für vorübergehende Berechnungen und Laufzeitpuffer.

Viele Sprachmodelle führen einen KV-Cache, der Zwischeninformationen zu bereits verarbeiteten Tokens speichert. Ihre Wiederverwendung vermeidet, beim nächsten Token einige derselben Berechnungen erneut auszuführen. Hugging Face erklärt die Funktionsweise dieses Caches.

Deine Anweisungen, übermittelten Dokumente, der Gesprächsverlauf und die entstehende Antwort bilden den Kontext des Modells.

Ein längerer Kontext erfordert häufig mehr Cache-Speicher. Der genaue Zusammenhang hängt von Architektur und Laufzeitumgebung ab. Manche Bauweisen begrenzen oder verändern dieses Wachstum.

Die Gewichte selbst wachsen nicht, weil du ein weiteres Kapitel einfügst. Der Mehrbedarf entsteht durch die Verarbeitung des längeren Kontexts.

Noch eine leicht übersehene Unterscheidung: Vier-Bit-Gewichte bedeuten nicht automatisch einen Vier-Bit-KV-Cache. Gewichtsgenauigkeit und Cache-Genauigkeit sind getrennte Entscheidungen.

Für eine einfache GPU-Speicherplanung können wir so denken:

benötigter VRAM≈Gewichte+KV-Cache+Arbeitszuschlag\text{benötigter VRAM} \approx \text{Gewichte} + \text{KV-Cache} + \text{Arbeitszuschlag}

Der Arbeitszuschlag umfasst beispielsweise Rechenpuffer und Platz für andere GPU-Nutzungen.

Setzen wir Zahlen ein.

Die llama.cpp-Dokumentation nennt für Llama 3.1 8B eine Q4_K_M-Datei mit ungefähr 4.58 GiB und eine Q8_0-Datei mit etwa 7.95 GiB. Diese veröffentlichten Gewichtsdateigrößen sind ein Ausgangspunkt für eine Schätzung, keine Messungen des vollständigen VRAM-Verbrauchs im Betrieb. Quelle: Quantisierungsvergleich von llama.cpp.

Nehmen wir für unsere Beispielplanung diese Werte als Gewichtsbelegung und zusätzlich 1 GiB für den Gesprächscache sowie ein weiteres GiB für Arbeitsbereich und andere Nutzungen.

Mit der kleineren Gewichtsdarstellung:

4.58+1+1=6.58 GiB4.58+1+1=6.58\text{ GiB}

Mit der größeren:

7.95+1+1=9.95 GiB7.95+1+1=9.95\text{ GiB}

Bei einer Grafikkarte mit einem VRAM-Budget von 8 GiB sind das sehr unterschiedliche Situationen.

Die Ein-Gigabyte-Zuschläge sind Annahmen für dieses Beispiel. Der wirkliche Bedarf hängt von Laufzeitumgebung und Arbeitslast ab.

Jetzt wird aber sichtbar, weshalb die vollständige Rechnung zählt.

Die größere Gewichtsdarstellung passt allein fast hinein. Die geplante Arbeit nicht.

Die kleinere Darstellung lässt Platz zum Arbeiten.

Deshalb ist die getreueste Darstellung nicht automatisch die nützlichste Konfiguration für einen bestimmten Computer.

Ein Modell, das fast den gesamten VRAM beansprucht, ähnelt einem prächtigen Sofa, das fast das ganze Wohnzimmer füllt. Das Sofa passt. Abendessen gibt es jetzt im Stehen.

Quantisierung kann Platz für den Rest des Abends schaffen.

Kann der System-RAM helfen?

Ja, wenn Laufzeitumgebung und Modell diese Aufteilung unterstützen.

Ein Modell kann auf der CPU mit System-RAM laufen. Es kann auf einer GPU mit VRAM laufen. Oder die Laufzeitumgebung teilt die Arbeit auf: Ein Teil verwendet System-RAM, ein anderer die GPU. Projekte wie llama.cpp unterstützen CPU-Ausführung und gemischten CPU–GPU-Betrieb.

Bei Systemen mit gemeinsamem Speicher teilen sich Prozessor und Grafikhardware einen Speicherpool. Das verändert die Verteilung erneut.

So können Modelle nutzbar werden, die nicht vollständig in den VRAM einer dedizierten Grafikkarte passen. Die Leistung hängt von der Aufteilung ab.

Allerdings werden 8 GB dedizierter VRAM plus 32 GB System-RAM nicht zu 40 GB gleich schnellem GPU-Speicher.

Die Laufzeitumgebung muss Daten und Berechnungen passend verteilen. Datentransport und die Ausführung eines Teils auf der CPU können die Geschwindigkeit beeinflussen.

Dein Betriebssystem und andere Anwendungen brauchen ebenfalls RAM. Sie haben keinem Auszug zugestimmt, nur weil du dich neuerdings für künstliche Intelligenz interessierst.

Ebenso wandert nicht automatisch die gesamte Datenbank eines Agenten in den VRAM. Die Datenbank arbeitet in ihrer eigenen Umgebung; abgerufene und ans Modell übermittelte Passagen werden Teil des Kontexts.

Die GPU-Rechnungen oben setzen voraus, dass alle Modellgewichte auf der Grafikkarte liegen. Eine andere Verteilung ergibt einen anderen Speicherplan.

Zurück zum Downloadknopf

Inzwischen sollte die Dateiliste weniger wie eine Aufnahmeprüfung aussehen.

Die Sechzehn-Bit-Version erhält eine hochgenaue Darstellung der trainierten Gewichte. Acht-Bit-Quantisierung nähert sie gewöhnlich weniger aggressiv an als niedrigere Bitbreiten. Fünf- und Sechs-Bit-Formate bieten Zwischenlösungen. Vier-Bit-Formate können ein leistungsfähiges Modell mit deutlich weniger VRAM praktisch nutzbar machen.

Bei all diesen Möglichkeiten bleibt die Frage dieselbe: Von wie viel numerischer Treue profitiert deine Aufgabe?

Für kurze Klassifikationsaufgaben können ein überschaubarer Kontext und eine gute Version mit wenigen Bits reichen. Bei einem Programmierassistenten, der mehrere Dateien untersucht, oder einem Agenten mit Anweisungen und Aufgabenverlauf kann der Arbeitsspeicherbedarf einen erheblichen Anteil ausmachen.

Manche Aufgaben zeigen einen nützlichen Vorteil höherer Genauigkeit. Andere liefern mit weniger ebenso zufriedenstellende Ergebnisse.

Ein Modell, das bei einer kurzen Begrüßung hineinpasst, kann am eigentlich vorgesehenen Dokument scheitern. Ein hochgenaues Modell ohne Platz für dieses Dokument hat seine Zahlen wunderbar bewahrt und trotzdem den Auftrag verfehlt.

Deshalb sollte dein Test deiner Arbeit ähneln.

Willst du Druckaufträge vergleichen, gib ihm typische Aufträge mit bekannten Antworten. Willst du Hilfe beim Programmieren, verwende Code, den du beurteilen kannst. Möchtest du einen Boston-Tagesplan, prüfe die Weglängen und ob die Öffnungszeiten aus einer verlässlichen Quelle stammen.

Boston erfolgreich in Massachusetts zu verorten ist ein vielversprechender Anfang. Es qualifiziert das Modell nicht zur Organisation deines gesamten Wochenendes.

Halte beim Vergleich von Quantisierungen das zugrunde liegende Modell und die Aufgabe möglichst gleich. So lässt sich die Wirkung der veränderten Darstellung leichter beurteilen.

Das ist auch der Zweck der Speicherplanung in Green Zone: zu sehen, wie gewählte Gewichte, Kontext, Speicherverteilung und verfügbare Kapazität zusammenpassen könnten.

Eine Schätzung hilft dir, eine plausible Konfiguration auszuwählen. Tests mit typischen Aufgaben zeigen, ob sie für dich nützlich ist.

Vielleicht stellst du fest, dass vier Bits genügend Fähigkeiten für alles bewahren, was du brauchst. Vielleicht bevorzugst du fünf oder sechs. Oder deine Aufgaben profitieren von höherer Genauigkeit und dein VRAM reicht bequem dafür.

Es gibt keinen Preis dafür, jedes verfügbare Byte allein für die Gewichte zu verwenden.

Und keine Pflicht, Genauigkeit aufzugeben, wenn sie einen nützlichen Vorteil bringt.

Das Modell hat bereits gelernt. Du entscheidest, wie getreu du dieses Lernen bewahren und ihm gleichzeitig genug Platz zum Arbeiten auf deinem Computer lassen möchtest.

Du kehrst zur Downloadseite zurück. Die Bezeichnungen sind unverändert, aber jetzt kannst du sie lesen.

Du wählst eine Version, die zu deiner Laufzeitumgebung, deinem verfügbaren Arbeitsspeicher und deiner tatsächlichen Aufgabe passt.

Boston liegt weiterhin in Massachusetts. Dein Computer hat Platz zum Arbeiten. Endlich kannst du den Vergleichsthread schließen.

Gerade hat jemand eine ausführliche Argumentation zur Zwei-Bit-Quantisierung veröffentlicht.

Du musst sie nicht öffnen.

Quellen & weitere Lektüre

Teilen & Nachdruck

Veröffentlicht von AI Model Green Zone.

Du darfst diesen Artikel nur vollständig und unverändert nachdrucken. Nenne dabei AI Model Green Zone als Quelle und füge einen gut sichtbaren, aktiven Link zum Originalartikel auf unserer Website hinzu.

Für Übersetzungen, gekürzte Fassungen und Bearbeitungen ist eine gesonderte Genehmigung erforderlich.

Diese Bedingungen schränken gesetzlich erlaubte Nutzungen nicht ein.

Der öffentliche Artikellink wird verfügbar, sobald die öffentliche Website-Adresse eingerichtet ist.