AIUnlimited
🌳

KI-Grundlagen

🌱
AI Seeds

Starte bei null

🌿
AI Sprouts

Fundament aufbauen

🌳
AI Branches

In der Praxis anwenden

🏕️
AI Canopy

In die Tiefe gehen

🌲
AI Forest

KI meistern

🔨

KI-Meisterschaft

✏️
AI Sketch

Starte bei null

🪨
AI Chisel

Fundament aufbauen

⚒️
AI Craft

In der Praxis anwenden

💎
AI Polish

In die Tiefe gehen

🏆
AI Masterpiece

KI meistern

📘

KI-Praxis

📖
Open-Source-Modelle verstehen

Grundlagen und Ressourcen für Open-Source-Modelle

🎯
Vom Problem zur Modellaufgabe

Geschäftsprobleme in Modellaufgaben umwandeln

⚡
Ihr erstes Modell ausführen

Sehen Sie Ihre ersten Ergebnisse in 30 Minuten

🔧
Fine-Tuning und Evaluierung

Modelle feinjustieren und Leistung bewerten

🚀
Anwendungssysteme

Bauen Sie reale KI-Anwendungen

🎨
Generative KI

Erkunden Sie Open-Source-AIGC-Modelle

🤖
Agenten

Lernen Sie Agent-Frameworks und MCP-Werkzeuge

📐
Ergänzende Grundlagen

LLM-Grundlagen und Evaluierung

🎓

Claude Akademie

🤖
Claude 101

Learn AI basics with Claude

💻
Claude Code 101

Code with Claude as your pair programmer

🤝
Introduction to Claude Cowork

Collaborate with Claude on complex projects

⚙️
Claude Platform 101

Build apps with the Claude API

Labor

7 Experimente geladen
🧬Neuronales Netz Sandbox🤖KI oder Mensch?🥋Prompt Engineering Dojo🏁Algorithmus-Rennen🧠KI-Quizduell🏗️Systemdesign-Leinwand
🎯ProbeinterviewLabor betreten→
🚀

Karriereentwicklung

🚀
Interview-Startrampe

Starte deine Reise

🌟
Verhaltensinterview-Meisterschaft

Soft Skills meistern

💻
Technische Interviews

Die Coding-Runde bestehen

🤖
AI- & ML-Interviews

ML-Interview meistern

🏆
Angebot & Karriere

Das beste Angebot sichern

Loslegen
AIUnlimited

MIT-Lizenz

沪ICP备18025655号-11

Lernen

  • KI-Grundlagen
  • KI-Praxis
  • Claude Akademie
  • Labor
  • Karriereentwicklung

Community

  • Über uns
  • FAQ

Unterstützung

  • Nutzungsbedingungen
  • Datenschutzerklärung
  • Kontakt
KI & Engineering Programme›⚡ Ihr erstes Modell ausführen›Lektionen›Model Quantization Basics
📦
Ihr erstes Modell ausführen • Anfänger⏱️ 15 Min. Lesezeit

Model Quantization Basics

Modelle benötigen zu viele Ressourcen — Was kann die Quantisierung helfen?

Nach dem Download des Modells kann es beim Ausführen zu einem Speicher- oder Videospeicherfehler kommen. Das ist wahrscheinlich das Letzte, was man beim Testen lokaler Modelle sehen möchte.

Wie bereits eingeführt, muss das Modell seine Gewichtungen beim Ausführen in den Arbeitsspeicher oder Videospeicher laden, und das Generieren von Antworten erfordert ebenfalls zusätzlichen Speicher. Wenn Ihr Gerät das Modell nicht aufnehmen kann, können Sie neben dem Wechsel zu einem kleineren Modell auch prüfen, ob eine quantisierte Version verfügbar ist.

Wie viel Speicher kann die Quantisierung sparen?

Die Gewichtungen eines Modells bestehen aus einer großen Anzahl von Zahlenwerten, und das Speichern jedes Wertes erfordert einen bestimmten Speicherplatz. Die Quantisierung reduziert den Ressourcenverbrauch des Modells durch Verringern der Genauigkeit dieser Zahlenrepresentationen. Zum Beispiel können Gewichtungen, die ursprünglich als 16-Bit-Gleitkommazahlen gespeichert wurden, in vorwiegend 8-Bit- oder 4-Bit-Low-Precision-Representationen umgewandelt werden. Die Anzahl der Parameter ändert sich in der Regel nicht, aber der von jedem Parameter belegte Speicherplatz wird kleiner.

Am Beispiel eines Modells mit 7 Milliarden Parameter und nur der Betrachtung der Gewichtungen selbst ohne Quantisierungsaufwand erhalten wir die folgenden groben Schätzungen:

Gewichtungsrepräsentation

Theoretische Gewichtungsgröße

16 Bit

Ungefähr 14 GB

8 Bit

Ungefähr 7 GB

4 Bit

Ungefähr 3,5 GB

Die GB-Werte hier werden in dezimalen Einheiten berechnet. Tatsächliche quantisierte Dateien speichern auch Informationen wie Skalierungsfaktoren und können gemischte Genauigkeiten verwenden, daher kann die tatsächliche Größe von der Schätzung abweichen.

Für gewöhnliche Nutzer ist der direkteste Vorteil der Quantisierung, dass Modelldateien kleiner werden, Speicherplatz für Download und Speicherung sparen und beim Ausführen weniger Arbeitsspeicher oder Videospeicher für Gewichtungen benötigen. Wenn Hardware und Inferenzframeworks dies unterstützen, kann die Quantisierung auch die Inferenzgeschwindigkeit verbessern.

Die Verkleinerung der Datei auf ein Viertel ihrer ursprünglichen Größe bedeutet jedoch nicht, dass sich die Antwortgeschwindigkeit um das Vierfache erhöht.

Die Verringerung der Genauigkeit kann auch die Antwortqualität beeinflussen, abhängig vom Modell, der Quantisierungsmethode und der Aufgabe. Bei der Wahl einer quantisierten Version sollten Sie neben der Bestätigung, dass sie lauffähig ist, auch mit eigenen Fragen testen, ob die Antworten noch zuverlässig sind.

Welche Ansätze gibt es für die Modellquantisierung?

Für Modelle, die bereits heruntergeladen oder feinabgestimmt wurden, ist der gängige Ansatz die , die Gewichtungen und andere numerische Werte nach Abschluss des Modelltrainings in niedrigere Genauigkeitsrepresentationen umwandelt. Einige Methoden erfordern einen kleinen Satz repräsentativer Daten, um den Quantisierungsprozess zu kalibrieren und den Fehler zu minimieren.

Lektion 5 von 50% abgeschlossen
←Cloud Notebooks: CPU and GPU

Diskussion

Anmelden an der Diskussion teilnehmen

Nach-Training-Quantisierung (PTQ)

Eine andere Kategorie ist die Quantisierungsbewusstes Training (QAT), die die Auswirkungen der Quantisierung während des Trainings simuliert, sodass sich das Modell im Voraus an Low-Precision-Representationen anpassen kann.

Dieses Kapitel behandelt zuerst GGUF-quantisierte Modelle, die im lokalen Deployment häufig verwendet werden, und hilft Ihnen, Dateien zu verstehen, Versionen zu unterscheiden und Entscheidungen zu treffen. Details zu anderen Quantisierungsmethoden werden später ergänzt.

Was befindet sich in einer GGUF-Datei?

Beim Ausführen von Modellen mit Ollama sehen Sie häufig Namen wie GGUF, Q4, Q8 usw. Diese Namen beziehen sich hauptsächlich auf das Speicherformat und die Quantisierungsmethode des Modells und sind ein wichtiger Grund, warum große Modelle auf Personal Computern ausgeführt werden können.

Im August 2023 führte Georgi Gerganov das GGUF-Format ein. Zu den Hauptvorteilen gehören Eindatei-Deployment, Erweiterbarkeit, Speicher-Mapping-Unterstützung, vollständige Informationen und Benutzerfreundlichkeit. Eine GGUF-Datei umfasst einen Dateikopf, Metadaten-Schlüssel-Wert-Paare und Tensor-Informationen. Diese Komponenten definieren zusammen die Struktur und das Verhalten des Modells. Wie unten gezeigt, ist GGUF ein Modelldateiformat für die Inferenz großer Modelle, das derzeit von lokalen Inferenzwerkzeugen wie llama.cpp und Ollama weit verbreitet verwendet wird. Ollama kapselt die Verarbeitung des GGUF-Formats, die Modellquantisierung und den Modellladeprozess, sodass Benutzer die Modellformate nicht selbst umwandeln müssen — sie können vorkuantisierte Modelle direkt herunterladen und ausführen. Eine GGUF-Datei enthält nicht nur Modellparameter, sondern auch grundlegende Modellinformationen, Modellarchitektur und Tensor-Daten. GGUF organisiert diese Informationen durch ein einheitliches Dateiformat, sodass Inferenzwerkzeuge wie llama.cpp sie direkt lesen und laden können. Seine grundlegende Struktur ist in der folgenden Abbildung dargestellt.

ModelScope unterstützt auch die Anzeige strukturierter GGUF-Dateien, wie unten gezeigt. Wenn Inferenzwerkzeuge GGUF-Dateien laden, können sie diese Informationen direkt lesen und das Modell laden, ohne separate Modellkonfigurationsdateien vorbereiten zu müssen.

GGUF selbst ist nur ein Modelldateiformat und reduziert nicht direkt die RAM- oder VRAM-Nutzung des Modells. Was den Ressourcenverbrauch des Modells tatsächlich reduziert, ist die Quantisierung.

Wie liest man Namen wie Q4 und Q8?

In llama.cpp und GGUF-Modellen repräsentieren Q4, Q5, Q8, Q4_K_M verschiedene Quantisierungsnamen. Hier steht Q für Quantisierung, und die folgende Nummer gibt die hauptsächlich verwendete Quantisierungsbreite in Bits an. Zum Beispiel bedeutet Q4 vorwiegend 4-Bit-Quantisierung und Q8 vorwiegend 8-Bit-Quantisierung.

Beachten Sie, dass Q4 nicht bedeutet, dass alle Parameter im Modell einheitlich 4-Bit-Representation verwenden. Am Beispiel des häufigen Q4_K_M gehört es zum K-quant-Quantisierungstyp in llama.cpp. Das Q4 im Namen bedeutet vorwiegend 4-Bit-Quantisierung, K zeigt die Verwendung des K-quant-Quantisierungsschemas an, und M bezeichnet die Medium-Konfiguration innerhalb dieses Schemas. In der Praxis können verschiedene Tensoren im Modell unterschiedliche Quantisierungsgenauigkeiten verwenden, anstatt dass alle Parameter einheitlich 4-Bit-Representation verwenden, wie in der folgenden Abbildung gezeigt.

Welche Version sollte ich für dasselbe Modell herunterladen?

Bei der Wahl eines GGUF-Modells sollten Sie zuerst bestätigen, dass Ihr Inferenzwerkzeug das Modell unterstützt, und dann die spezifische Quantisierungsversion betrachten. Eine niedrigere Quantisierungsgenauigkeit reduziert in der Regel die RAM- und VRAM-Nutzung, was es einfacher macht, das Modell auf gewöhnlichen Geräten auszuführen, aber möglicherweise einen Teil der Modellleistung opfert. Eine höhere Quantisierungsgenauigkeit bewahrt in der Regel mehr der ursprünglichen Modellfähigkeiten, erfordert aber auch mehr Hardware-Ressourcen.

Wenn eine Version bereits nahe an den RAM- oder VRAM-Grenzen Ihres Geräts liegt, sollten Sie in Betracht ziehen, zu einer kleineren Version zu wechseln, um Spielraum für Kontext und Laufzeitvorgänge zu lassen. Wenn die Ressourcen ausreichen, können Sie mit denselben Fragen die Antworten verschiedener Versionen vergleichen, wobei Sie besonders auf Ihre Ziel Aufgaben wie Informationsextraktion, Codegenerierung oder strukturierte Ausgabe achten sollten.

Bestätigen Sie zuerst einen stabilen Betrieb, dann überprüfen Sie die Antwortqualität. Auf diese Weise wird die gewählte quantisierte Version besser zu Ihrem Gerät und Anwendungsfall passen.