Weiter zum Inhalt

GGUF-Format: Der komplette Guide zur lokalen LLM-Inferenz

GGUF bündelt Modellgewichte, Tokenizer-Daten und Metadaten in einer einzigen portablen Datei. Erfahre, wie du den passenden Quantisierungsgrad wählst und mit Ollama startest.
Aktualisiert 17. Juni 2026  · 15 Min. lesen

Angenommen, du hast ein Sprachmodell mit 7 Milliarden Parametern gefunden und willst es lokal testen. Jetzt hast du ein Problem: Allein die FP16-Gewichte liegen bei rund 14 GB, und dein Laptop hat nur 16 GB RAM. 

Noch bevor Betriebssystem, Inferenzlaufzeit, Kontext-Cache und temporäre Puffer ins Spiel kommen, bringt das Modell deine Hardware an die Grenze. Genau dieses Problem löst GGUF.

GGUF hat sich zu einem der wichtigsten Formate entwickelt, um Open-Weight-LLMs lokal auszuführen. Statt einer Enterprise-GPU oder einer Cloud-API macht GGUF es praktikabel, quantisierte Modelle auf Laptops, Desktops, Apple-Silicon-Rechnern und sogar einigen Mobil- oder Edge-Geräten zu betreiben.

In diesem Artikel stelle ich das GGUF-Format vor und erkläre, wie es funktioniert, wie Quantisierung die Modellgröße reduziert und wie du den passenden Quantisierungsgrad wählst, und schließlich, wie du mit Ollama und llama.cpp loslegst.

Kurz und knapp

  • GGUF (GGML Unified Format) ist ein binäres Dateiformat, das Modellgewichte, Tokenizer-Daten, Architektur-Metadaten und Quantisierungsinfos in einer einzigen portablen Datei bündelt
  • Es ersetzte 2023 das ältere GGML-Format und ist heute das dominierende Format für die Verteilung quantisierter LLMs auf Hugging Face
  • GGUF wird von llama.cpp, Ollama, LM Studio, GPT4All, KoboldCpp und weiteren lokalen Inferenztools genutzt
  • Quantisierung ist der Schlüssel: Ein 7B-Modell in FP16 ist ~14 GB; eine Q4_K_M-Version liegt bei ~4–5 GB
  • Gängige Quantisierungen reichen von Q2_K (kleinst, niedrigste Qualität) bis Q8_0 (größer, nahe Vollpräzision) — Q4_K_M ist der Standardstartpunkt für die meisten Geräte
  • GGUF läuft auf CPUs, Apple Silicon (Metal), NVIDIA-GPUs (CUDA), AMD-GPUs (ROCm/Vulkan) und mehr
  • Die richtige Quantisierung hängt vom Zusammenspiel aus Speicherbedarf, Ausgabequalität, Inferenzgeschwindigkeit und Kontextlänge ab

KI-Anwendungen entwickeln

Lerne, wie man KI-Anwendungen mit der OpenAI API erstellt.
Start Upskilling For Free

Was ist GGUF?

GGUF, kurz für GGML Unified Format, ist ein binäres Dateiformat, das Modellgewichte, Tokenizer-Daten, Architektur-Metadaten und Quantisierungsinformationen in einer einzigen, portablen Datei für die Inferenz mit GGML-basierten Runtimes bündelt, insbesondere llama.cpp.

GGUF löst ein Bereitstellungsproblem von LLMs. Viele Formate verlangen, mehrere Dateien zusammenzuhalten — Modellgewichte, Tokenizer-Dateien, Konfigurationsdateien und architekturspezifischen Ladecode. GGUF vereinfacht das, indem die Modelldatei sich weitgehend selbst beschreibt.

Eine GGUF-Datei enthält typischerweise:

  • Modell-Tensoren
  • Quantisierte oder unquantisierte Gewichte
  • Tokenizer-Vokabular
  • Tokenizer-Konfiguration
  • Metadaten zur Modellarchitektur
  • Kontext-Längeneinstellungen
  • Embedding-Dimensionen
  • Anzahlen der Attention-Heads
  • RoPE-Konfiguration
  • Namen, Formen und Datentypen der Tensoren

Die Kernidee: Die Datei beschreibt sich selbst. Die Runtime kann Metadaten inspizieren, die Architektur verstehen, den Tokenizer laden und Tensoren zuordnen — ohne auf eine separate config.json oder einen Tokenizer-Ordner angewiesen zu sein.

Das bedeutet nicht, dass jede GGUF-Datei für alle Zeiten mit jeder Runtime kompatibel ist. Die Runtime muss die im File verwendete Architektur und Tensor-Typen unterstützen. GGUF erleichtert diese Kompatibilität aber deutlich, weil die Datei weit mehr strukturierte Informationen mitliefert.

Vier prägende Eigenschaften von GGUF sind:

  1. Bereitstellung als Einzeldatei
  2. Memory-Mapping für effizientes Laden
  3. Erweiterbare, typisierte Key-Value-Metadaten
  4. Unterstützung vieler Quantisierungstypen — von aggressiv niedriger Bitbreite bis Vollpräzision

GGUF wurde 2023 im Ökosystem rund um llama.cpp und GGML eingeführt. Heute ist es das dominierende Format für quantisierte lokale LLMs auf Hugging Face.

GGUF vs. GGML

Das GGML-Format (Georgi Gerganov Machine Learning) war der Vorgänger von GGUF. Es war wichtig, weil es frühe lokale Inferenz überhaupt möglich machte. Mit dem Wachstum über die ursprünglichen LLaMA-Modelle hinaus stieß es jedoch auf praktische Grenzen.

Typische GGML-Schmerzpunkte:

  • Weniger flexible Metadatenbehandlung
  • Mehr architekturspezifische Ladeannahmen
  • Tokenizer- und Konfigurationshandhabung weniger in sich geschlossen
  • Erschwerte Erweiterbarkeit bei neuen Modellfamilien

GGUF adressierte diese Einschränkungen mit einem stärker strukturierten Format. Es führte typisierte Metadaten, bessere Tokenizer-Embeddings und ein klareres Dateilayout ein. Damit konnten llama.cpp und Co. mehr Architekturen unterstützen, ohne den Ladeprozess ständig neu zu bauen.

Für Nutzende zählt vor allem: GGUF ist der moderne Standard. Wenn du heute Modelle herunterlädst, solltest du fast immer GGUF statt älterer GGML-Dateien wählen.

GGUF vs. GPTQ und AWQ

Bei der Recherche zu Dateiformaten stößt du auf GGUF, GPTQ (Generative Post-Training Quantization) und AWQ (Activation-Aware Weight Quantization. Diese werden oft zusammen diskutiert, weil alle effizientere LLM-Inferenz ermöglichen. Es sind jedoch unterschiedliche Kategorien.

GGUF ist in erster Linie ein Dateiformat und Bereitstellungscontainer. Es unterstützt viele Quantisierungstypen und ist eng mit llama.cpp-artiger lokaler Inferenz verknüpft.

GPTQ und AWQ sind Quantisierungsmethoden und Ökosysteme für GPU-optimierte Inferenz, besonders auf NVIDIA-Hardware über Frameworks wie Transformers, ExLlama, AutoGPTQ und vLLM-kompatible Workflows.

Feature

GGUF

GPTQ

AWQ

Primäres Ziel

Portable lokale Inferenz

GPU-Inferenz

GPU-Inferenz

Übliche Hardware

CPU, Apple Silicon, NVIDIA, AMD, Vulkan, mobil

NVIDIA-GPUs

NVIDIA-GPUs

CPU-Unterstützung

Stark

Begrenzt

Begrenzt

Portabilität

Sehr hoch

Mittel

Mittel

Typisches Ökosystem

llama.cpp, Ollama, LM Studio, GPT4All

Transformers, ExLlama, AutoGPTQ

Transformers, TensorRT-LLM-Workflows

GPU-Durchsatz

Gut, besonders mit Offload

Oft sehr stark

Oft sehr stark

Bester Use Case

Lokale und gemischte Hardware-Inferenz

High-Throughput GPU-Serving

High-Throughput GPU-Serving

Wenn maximale Kompatibilität über Laptops, Desktops, Apple Silicon und Mischhardware dein Ziel ist, ist GGUF meist die sicherere Wahl.

Für maximalen Durchsatz auf dedizierten NVIDIA-Inferenzservern sind GPTQ, AWQ, FP8 oder andere GPU-optimierte Serving-Formate oft passender.

Warum GGUF?

GGUF wurde populär, weil es praktische Deployments vereinfacht. Auch ich finde es extrem angenehm, lokal ohne Setup-Chaos zu deployen.

Früher war lokale LLM-Nutzung zersplittert: verstreute Tools, große unkomprimierte Gewichte, inkompatible Formate und komplizierte Einrichtung. GGUF hilft heute, einen Großteil dieses Workflows zu standardisieren.

Statt an viele Dateien und Ladeskripte zu denken, konzentrierst du dich auf das passende Modell, den Quantisierungsgrad und die Inferenz.

Modelle lokal ausführen

GGUF ermöglicht es dir, LLMs auf deinem eigenen Rechner laufen zu lassen. Das bedeutet:

  • Keine API-Kosten pro Token
  • Keine Abhängigkeit von gehosteten Inferenzanbietern
  • Keine Prompts an eine externe API senden
  • Offline-Inferenz ist nach dem Download des Modells möglich

Das ist besonders für datenschutzkritische Workflows wichtig. Entwickelnde möchten proprietären Code, interne Dokumente, Kundendaten oder vertrauliche Prompts oft nicht an externe APIs schicken.

Lokale Inferenz ist nicht automatisch sicher. Du musst weiterhin deinen Rechner, Logs, Anwendungen und Zugriffe sauber managen. Aber GGUF macht private, lokale Deployments deutlich zugänglicher.

Für praktische Übungen siehe unsere Tutorials zu SGLang mit Mistral Medium 3.5, DeepSeek V4 Flash lokal ausführen, das effiziente Bonsai 1-bit Modell auf einem alten Laptop und MiniMax M2 lokal als Coding-Assistent.

Hardware-Flexibilität

GGUF ist wertvoll, weil es auf vielen Hardware-Konfigurationen funktioniert.

Je nach Runtime und Backend können GGUF-Modelle laufen auf:

  • Reinen CPU-Maschinen
  • NVIDIA-GPUs über CUDA
  • Apple Silicon über Metal
  • AMD-GPUs über HIP oder Vulkan
  • Intel-GPUs über SYCL oder Vulkan
  • Einigen ARM- und mobilen Umgebungen

Diese Flexibilität ist ein Hauptgrund für den Einfluss von llama.cpp. Es wurde nicht nur für High-End-Server-GPUs entworfen, sondern um lokale Inferenz auf breiter Hardware zu ermöglichen.

Beispielsweise nutzt ein Mac Metal-Beschleunigung, während ein Linux-Desktop CUDA oder Vulkan verwendet. Auf CPU-only lassen sich kleinere quantisierte Modelle dennoch betreiben — mit geringerer Generierungsgeschwindigkeit.

Breite Ökosystem-Unterstützung

Viele lokale Inferenztools unterstützen GGUF. Beispiele:

  • llama.cpp für Kommandozeile und Server-Inferenz
  • Ollama für CLI-first Modellverwaltung und API-Zugriff
  • LM Studio als Desktop-GUI
  • GPT4All für datenschutzfokussiertes lokales Chatten
  • KoboldCpp für lokales Roleplay und Textgenerierung
  • Jan und Open WebUI als lokale KI-Oberflächen

Das ist wichtig, weil du nicht an eine Oberfläche gebunden bist. Dasselbe Format funktioniert in unterschiedlichen Workflows.

Ein Developer kann ein Modell mit llama.cpp benchmarken, in LM Studio chatten, über Ollama serven und via Open WebUI im Browser anbinden.

Verteilung über Hugging Face

Hugging Face ist zu einem zentralen Verteilungskanal für GGUF-Modelle geworden.

Quelle: Hugging Face

Viele populäre Open-Weight-Modelle erhalten kurz nach Release community-hochgeladene GGUF-Varianten. Diese Repos enthalten oft mehrere Quantisierungsoptionen, sodass Nutzende ein passendes Modell für ihre Hardware wählen können.

Häufige Upload-Varianten sind:

  • Q4_K_M
  • Q5_K_M
  • Q6_K
  • Q8_0
  • IQ4_XS
  • IQ3_M
  • IQ2_XXS

Das macht manuelle Konvertierung meist überflüssig. Für die beliebtesten Modelle hat die Community bereits GGUF-Dateien in gängigen Quantisierungen bereitgestellt.

Fein steuerbare Größen-Qualitäts-Kontrolle

GGUF gibt dir eine feine Kontrolle über den Trade-off zwischen Größe und Qualität. Du kannst wählen:

  • Kleinere Quantisierungen für wenig Speicher
  • Mittlere Quantisierungen für den ausgewogenen Alltag
  • Höhere Bitbreiten für Coding, Reasoning oder strukturierte Ausgaben
  • Volle oder nahezu volle Präzision, wenn Speicher kein Engpass ist

Diese Flexibilität ist einer der größten Vorteile. Statt eines starren Ziels lässt sich dieselbe Modellfamilie an viele Hardwarestufen anpassen.

Wie funktioniert GGUF?

Eine GGUF-Datei ist in drei Hauptteile gegliedert:

  1. Header
  2. Metadaten und Tensor-Informationen
  3. Tensor-Daten

Die genaue Struktur ist in der GGUF-Spezifikation definiert. Wichtig ist: Metadaten und Tensor-Infos stehen vor den rohen Tensor-Daten, damit die Runtime weiß, was sie lädt.

Der Header

Der Header kennzeichnet die Datei als GGUF und sagt der Runtime, wie sie den Rest parsen soll. Er enthält:

  • Magic Number für GGUF
  • Formatversion
  • Anzahl der Tensoren
  • Anzahl der Metadaten-Paare

Moderne GGUF-Dateien nutzen häufig Version 3.

Inferenz-Engines prüfen zuerst die Magic Number. Beginnt die Datei nicht mit der erwarteten GGUF-Kennung, lehnt die Runtime sie ab, bevor Speicher allokiert wird.

Das ist simpel, aber wichtig für Sicherheit und Zuverlässigkeit. So wird verhindert, dass eine Runtime versehentlich eine fremde Binärdatei als Modell behandelt.

Metadaten als Key-Value-Paare

GGUF-Metadaten sind ein typisierter Key-Value-Store. Diese Metadaten beschreiben z. B.:

  • Allgemeine Modellinfos
  • Architekturfamilie
  • Kontextlänge
  • Embedding-Größe
  • Anzahl der Layer
  • Anzahl der Attention-Heads
  • RoPE-Parameter
  • Tokenizer-Vokabular
  • Spezielle Tokens
  • Quantisierungsinformationen

Schlüssel sind meist per Namespace gegliedert. Beispiele:

  • general.architecture
  • general.alignment
  • llama.context_length
  • tokenizer.ggml.tokens

Namespacing ist wichtig, damit GGUF viele Architekturen unterstützt, ohne das gesamte Format zu ändern. LLaMA-Modelle können llama.*-Keys nutzen, andere Familien ihre eigenen.

Darum passte sich GGUF gut an Modelle jenseits der ursprünglichen LLaMA-Familie an, etwa Qwen, Mistral, Gemma, DeepSeek, Phi und andere.

Tensor-Informationen und Tensor-Daten

Nach den Metadaten folgen Tensor-Informationen und die Tensor-Daten.

Tensor-Informationen beschreiben:

  • Tensorname
  • Form
  • Datentyp
  • Offset in den Tensor-Datenbereich

Der Tensor-Datenbereich enthält die eigentlichen Modellgewichte. Diese können in Vollpräzision oder in einem der von GGUF unterstützten quantisierten Tensor-Typen gespeichert sein.

GGUF nutzt einen Ausrichtungswert in den Metadaten, üblicherweise general.alignment. Viele Dateien verwenden 32-Byte-Ausrichtung, korrekt ist aber: Die Ausrichtung wird über Metadaten gesteuert und nicht hart codiert.

Ausrichtung ist wichtig, damit Runtimes Tensor-Blöcke effizient adressieren können.

Memory-Mapping

Ein praktischer Vorteil von GGUF ist Memory-Mapping, oft mmap genannt.

Damit kann das Betriebssystem die Modelldatei in den virtuellen Speicher einblenden, statt sie komplett vorab in den RAM zu kopieren.

Das kann den Modellstart spürbar beschleunigen, besonders auf SSDs. Außerdem kann das OS Daten bei Bedarf hinein- und herauspagen.

Memory-Mapping ist jedoch kein Wundermittel. Das Modell braucht weiterhin genügend Speicherbandbreite und verfügbaren RAM bzw. VRAM. Wenn dein System ständig von der Platte nachlädt, wird die Inferenz langsam.

So solltest du mmap sehen:

  • Verbessert die Ladeeffizienz
  • Reduziert unnötige Kopiervorgänge
  • Überlässt Paging dem Betriebssystem
  • Eliminiert die Speicheranforderungen der Inferenz nicht

GGUF-Quantisierungstypen verstehen

Quantisierung komprimiert Modellgewichte in Darstellungen mit geringerer Präzision.

Statt jedes Gewicht als 16-Bit-Fließkommawert zu speichern, nutzt ein quantisiertes Modell Näherungswerte mit weniger Bits. Das reduziert Dateigröße, RAM-/VRAM-Bedarf und die Last auf der Speicherbandbreite.

Die zentrale Erkenntnis: Viele Gewichte benötigen zur Inferenz keine volle Fließkommapräzision. Sorgfältig quantisierte Modelle behalten viel vom ursprünglichen Verhalten bei deutlich kleinerer Größe.

Benennung der GGUF-Quantisierungen

GGUF-Quantisierungsnamen folgen meist diesem Muster:

  • Q steht für quantized
  • Die Zahl deutet die ungefähren Bits pro Gewicht an
  • K verweist auf die k-quant-Familie
  • S, M und L stehen üblicherweise für Small, Medium und Large

Beispiele:

  • Q4_K_M
  • Q5_K_M
  • Q6_K
  • Q8_0

Der Name ist ein hilfreicher Anhaltspunkt, aber keine exakte Aussage zur Gesamtgröße. Die Dateigröße hängt auch von Tensor-Mix, Architektur, Metadaten, Tokenizer-Größe und eventuell höherpräzisen Tensoren ab.

Gängige GGUF-Quantisierungstypen

Quantisierung

Ungefähres Verhalten

Ungefähre 7B-Dateigröße

Qualitätsnotiz

Q2_K

Sehr niedrige Bitbreite

Etwa 2,5–3 GB

Klein, aber Qualitätsverlust oft deutlich

Q3_K_M

Niedrigbit, ausgewogen

Etwa 3,5–4 GB

Für leichtes Chatten nutzbar, nicht ideal fürs Reasoning

Q4_K_M

Ausgewogene 4-Bit-Quantisierung

Etwa 4–5 GB

Starker Standard für die meisten lokalen Setups

Q5_K_M

Höherwertige 5-Bit-Quantisierung

Etwa 5,5–6,5 GB

Besser für Coding, Reasoning und strukturierte Aufgaben

Q6_K

Hochwertige Quantisierung

Etwa 7–8 GB

Oft nah am Verhalten höherer Präzision

Q8_0

8-Bit-Quantisierung

Etwa 8–9 GB

Hohe Qualität, aber deutlich größer als Q4/Q5

Diese Zahlen sind Näherungen für dichte 7B-Modelle. Neuere Architekturen, Mixture-of-Experts-Modelle, größere Tokenizer und andere Tensor-Layouts können die tatsächliche Größe verändern.

In der Praxis hat sich Q4_K_M als beliebter Standard etabliert — gutes Verhältnis aus Größe und Qualität. Für Chat, Zusammenfassung, Umformulierung und explorative lokale KI-Arbeit oft ausreichend.

Q5_K_M und Q6_K sind häufig bessere Optionen für anspruchsvollere Workloads wie Coding oder mehrstufiges Befolgen von Anweisungen.

Der Grund ist simpel: Diese Aufgaben reagieren empfindlicher auf kleine Qualitätsverluste.

K-Quants vs. I-Quants

K-Quants sind die weit verbreitete Quantisierungsfamilie hinter Formaten wie Q4_K_M, Q5_K_M und Q6_K.

Sie nutzen gruppierte Quantisierung mit Skalierungsinformationen, um Modellverhalten bei reduziertem Speicherbedarf zu erhalten. Sie sind beliebt, weil sie zuverlässig, breit unterstützt und in Community-GGUF-Releases leicht zu finden sind.

I-Quants, oft als IQ-Formate notiert, sind neuere Typen wie:

  • IQ4_XS
  • IQ3_M
  • IQ2_XXS
  • IQ1_S

I-Quants zielen auf bessere Qualität bei sehr kleinen Größen. Sie nutzen etwa importance-aware Quantisierung und nichtlineare Codebooks. Manche Workflows verwenden eine Importance-Matrix (imatrix), um wichtigere Gewichte besser zu erhalten.

K quants vs I quants

Der Trade-off ist die Komplexität. I-Quants können insbesondere bei sehr niedrigen Bitraten hervorragende Ergebnisse liefern, erfordern aber oft sorgfältigere Workflows und Runtimes.

Für die meisten Einsteiger bleiben K-Quants der einfachste Start.

Den passenden Quantisierungsgrad für deine Hardware wählen

Die folgende Tabelle bietet praxisnahe Startpunkte. Verstehe sie als Daumenregeln, nicht als Garantien. Kontextlänge, OS-Overhead, GPU-Offloading, KV-Cache-Größe und die konkrete Architektur beeinflussen den Speicherbedarf.

Hardware-Stufe

7B/8B-Modelle

13B/14B-Modelle

30B/34B-Modelle

70B-Klasse

8 GB RAM/VRAM

Q4_K_M oder kleiner

Q2_K/Q3_K laufen evtl. langsam

Unpraktisch

Unpraktisch

16 GB RAM/VRAM

Q5_K_M oder Q6_K

Q4_K_M

Unpraktisch oder stark eingeschränkt

Unpraktisch

24 GB RAM/VRAM

Q8_0 oder Q6_K

Q5_K_M/Q6_K

Q3_K/Q4_K mit Einschränkungen

Für die meisten unpraktisch

32 GB RAM/VRAM

Q8_0

Q6_K/Q8_0

Q4_K_M/Q5_K_M

Q2_K/Q3_K nur zu Testzwecken

48 GB+ RAM/VRAM

Q8_0 oder FP16/BF16, falls unterstützt

Q8_0

Q5_K_M/Q6_K

Q4_K_M mit Einschränkungen möglich

64 GB+ RAM/VRAM

Hohe Präzision

Hohe Präzision

Q6_K/Q8_0

Q4_K_M/Q5_K_M praktikabler

Allgemeine Faustregeln:

  • Nutze Q4_K_M als sichere Voreinstellung für die meisten lokalen Inferenzfälle.
  • Nimm Q5_K_M, wenn Qualität wichtiger ist als jedes Gigabyte zu sparen.
  • Greife zu Q6_K oder Q8_0, wenn genug Speicher vorhanden ist und du höhere Treue willst.
  • Meide Q2_K für ernsthafte Arbeit — nur für Extremtests bei knappen Ressourcen.
  • Lass Puffer für den KV-Cache, besonders bei langen Kontextfenstern.

Der KV-Cache wird leicht vergessen. Ein Modell kann bei kurzer Kontextlänge in den RAM passen, bricht aber bei deutlich längerer Kontextlänge ein, weil der Cache mit der Sequenz wächst.

Das GGUF-Ökosystem

Die Verbreitung von GGUF wird ebenso vom Tooling wie vom Format selbst getrieben.

Ein Format wird erst nützlich, wenn Nutzende Modelle einfach herunterladen, ausführen, inspizieren, konvertieren und serven können. GGUF profitiert von einem starken Ökosystem aus CLI-Tools, Desktop-Apps, APIs und Hosted-Repositories.

1. llama.cpp

llama.cpp ist die ursprüngliche und wichtigste GGUF-Runtime. Ein leichtgewichtiges C/C++-Inferenz-Engine von Georgi Gerganov, gepflegt von der GGML-Community. Das Ziel: effiziente LLM-Inferenz mit minimalem Setup auf vielen Plattformen.

Moderne llama.cpp-Versionen unterstützen u. a. folgende Backends:

  • CPU
  • CUDA für NVIDIA-GPUs
  • Metal für Apple-Geräte
  • Vulkan
  • HIP für AMD-GPUs via ROCm
  • SYCL für Intel-GPUs
  • OpenCL in ausgewählten Umgebungen
  • Weitere spezialisierte Backends wie CANN, OpenVINO und WebGPU je nach Plattform

Außerdem sind Tools für Konvertierung, Quantisierung, Serving, Benchmarking und CLI-Inferenz enthalten. Übliche Tools sind:

  • convert_hf_to_gguf.py
  • llama-quantize
  • llama-cli
  • llama-server
  • llama-bench

Die Befehle für einen einfachen CPU-CMake-Build sind:

cmake -B build
cmake --build build --config Release

Für manche Konfigurationen müssen in den ersten Befehl Flags ergänzt werden:

  • Apple Metal auf macOS deaktivieren (standardmäßig aktiv): -DGGML_METAL=OFF
  • Vulkan-Build: -DGGML_VULKAN=1
  • CUDA-Build für NVIDIA-GPUs: -DGGML_CUDA=ON

Beachte, dass aktuelle Builds GGML_*-CMake-Optionen wie GGML_CUDA, GGML_VULKAN und GGML_HIP verwenden.

2. Ollama

Ollama ist einer der einfachsten Wege, lokale Modelle auszuführen. Es bietet:

  • Eine schlanke CLI
  • Modell-Download und -Verwaltung
  • Eine lokale REST-API
  • Offizielle Python- und JavaScript-Bibliotheken
  • Integration mit vielen lokalen KI-Frontends

Ollama speichert und verwaltet Modelle für dich, daher arbeitest du in der Regel nicht direkt mit .gguf-Dateien. Ollama basiert jedoch auf llama.cpp-kompatibler lokaler Inferenz und kann GGUF-Dateien über einen Modelfile-Workflow importieren.

Ollama stellt lokal eine API bereit unter:

http://localhost:11434/api

Zwei häufig genutzte Endpunkte sind:

  • /api/generate für Prompt-Vervollständigung
  • /api/chat für Chat-Nachrichten

Für Einsteiger ist Ollama oft der schnellste Weg von null zur lokalen Inferenz.

3. LM Studio

LM studio

Quelle: LM Studio

LM Studio ist eine Desktop-App zum Entdecken, Herunterladen und Chatten mit lokalen Modellen — ideal, wenn du lieber mit GUI statt CLI arbeitest.

4. GPT4All

gpt4all

Quelle: GPT4All

GPT4All ist eine weitere plattformübergreifende lokale KI-App für private, lokale Chatbots. Sie unterstützt GGUF-Modelle und bietet eine einsteigerfreundliche Umgebung für lokale Inferenz.

Diese Tools machen GGUF für Nicht-Spezialistinnen und -Spezialisten zugänglich. Niemand muss CMake, Tensor-Layouts oder Quantisierungsinterna verstehen, nur um ein lokales Modell auszuprobieren.

So startest du mit GGUF-Modellen

Zwei praktische Wege für den Einstieg:

  1. Nutze Ollama für das einfachste Erlebnis.
  2. Nutze llama.cpp direkt für mehr Kontrolle.

Ein Modell mit Ollama ausführen

Der simpelste Workflow: Modell herunterladen und eine interaktive Session starten:

ollama pull llama3.3
ollama run llama3.3

Um das Modell per Python über die REST-API aufzurufen:

import requests

payload = {
    "model": "llama3.3",
    "prompt": "Give me three practical use cases for GGUF.",
    "stream": False
}

response = requests.post(
    "http://localhost:11434/api/generate",
    json=payload
)

print(response.json()["response"])

Für Chat-Anwendungen nutze /api/chat:

import requests

payload = {
    "model": "llama3.3",
    "messages": [
        {"role": "user", "content": "What is GGUF used for?"}
    ],
    "stream": False
}

response = requests.post(
    "http://localhost:11434/api/chat",
    json=payload
)

print(response.json()["message"]["content"])

Das Feld stream: false ist für einfache Skripte wichtig. Ohne diese Option liefert Ollama einen JSON-Stream statt einer einzelnen finalen JSON-Antwort.

Du kannst auch die offizielle Python-Bibliothek von Ollama verwenden:

from ollama import chat

response = chat(
    model="llama3.3",
    messages=[
        {"role": "user", "content": "Explain GGUF quantization simply."}
    ]
)

print(response.message.content)

Eine GGUF-Datei mit llama.cpp ausführen

Wenn du bereits eine .gguf-Datei hast, kannst du sie nach dem Build direkt mit llama.cpp ausführen.

Beispiel:

./build/bin/llama-cli \
  -m models/model.Q4_K_M.gguf \
  -p "Explain the difference between GGUF and GPTQ." \
  -n 256

Wenn GPU-Unterstützung aktiv ist, kannst du Layer auf die GPU auslagern:

./build/bin/llama-cli \
  -m models/model.Q4_K_M.gguf \
  -p "Summarize GGUF in five bullet points." \
  -n 256 \
  -ngl 99

Der Schalter -ngl steuert die Anzahl der auf die GPU ausgelagerten Layer. Ein hoher Wert wie 99 lagert üblicherweise so viel wie möglich aus — vorausgesetzt, das Modell passt in den VRAM.

Für API-Serving nutze llama-server:

./build/bin/llama-server \
  -m models/model.Q4_K_M.gguf \
  -ngl 99 \
  --host 127.0.0.1 \
  --port 8080

Damit erhältst du ein lokales Server-Interface zur Einbindung von llama.cpp in Anwendungen.

Ein Hugging-Face-Modell nach GGUF konvertieren

Die meisten brauchen keine manuelle Konvertierung, da Community-GGUFs weit verbreitet sind.

Manuell ist sinnvoll, wenn:

  • Du dein eigenes Modell feinabgestimmt hast
  • Noch keine GGUF-Version existiert
  • Du den Quantisierungsprozess selbst steuern willst
  • Du einen spezifischen Quantisierungstyp brauchst

Ein typischer Ablauf:

  1. Hugging-Face-Modell herunterladen.
  2. In GGUF konvertieren.
  3. Die GGUF-Datei quantisieren.

Beispiel:

huggingface-cli download mistralai/Mistral-7B-Instruct-v0.3 \
  --local-dir mistral-7b

Dann nach GGUF konvertieren:

python convert_hf_to_gguf.py mistral-7b \
  --outfile mistral-f16.gguf \
  --outtype f16

Dann quantisieren:

./build/bin/llama-quantize \
  mistral-f16.gguf \
  mistral-q4_k_m.gguf \
  Q4_K_M

In aktuellen llama.cpp-Workflows sind convert_hf_to_gguf.py und llama-quantize die relevanten Tools. Ältere Tutorials können veraltete Skripte oder Binärnamen nennen.

Vorteile und Grenzen des GGUF-Formats

GGUF ist für praktische lokale Inferenz optimiert. Es ist kein Allheilmittel und ersetzt nicht jedes Format oder jeden Serving-Stack.

Vorteile

Grenzen

Bereitstellung als Einzeldatei

Nicht fürs Training von Grund auf gedacht

Starkes lokales Inferenz-Ökosystem

Sehr niedrige Bitbreite kann Qualität beeinträchtigen

Funktioniert über viele Hardware-Backends

Große Modelle brauchen weiterhin viel Speicher

Unterstützt Memory-Mapping

GPU-Durchsatz teils niedriger als in spezialisierten GPU-Serving-Stacks

Viele Quantisierungsoptionen

Runtime muss Architektur und Tensor-Typen unterstützen

Einfache Verteilung über Hugging Face

Lange Kontexte erhöhen den Speicherbedarf durch den KV-Cache

Für CPU-first, Apple Silicon, Mischhardware und datenschutzfokussierte Inferenz ist GGUF oft eine ausgezeichnete Wahl.

Für High-Throughput-Deployments auf NVIDIA-Servern können andere Formate und Engines je nach Modell, Batchgröße, Quantisierung und Serving-Framework schneller sein.

Fazit

GGUF macht lokale LLM-Inferenz praktikabel, indem es alles Nötige (Gewichte, Tokenizer, Metadaten, Quantisierungsinfos) in einer portablen Datei bündelt. Die wahre Stärke ist das Ökosystem: llama.cpp, Ollama, LM Studio und Hugging Face haben GGUF zum Standard für lokale KI-Deployments gemacht.

Für die meisten ist der Weg simpel: Ollama installieren, ein Modell ziehen und starten. Q4_K_M ist eine solide Basis; wechsle zu Q5_K_M oder Q6_K, wenn du besseres Reasoning oder Coding brauchst und genügend Speicher hast.

Wenn du tiefer in LLM-Deployment, Modelloptimierung und lokale Inferenz einsteigen willst, wirf einen Blick auf den Associate AI Engineer for Data Scientists oder den Associate AI Engineer for Developers Karrierepfad.

GGUF-Format: FAQs

Wofür steht GGUF?

GGUF steht für GGML Unified Format. Es ist ein binäres Dateiformat, das für die lokale Speicherung und Ausführung großer Sprachmodelle entwickelt wurde. GGUF bündelt Tensoren, Tokenizer-Daten, Metadaten und Architekturinformationen in einer einzigen portablen Datei und vereinfacht so die lokale Bereitstellung gegenüber älteren Multi-File-Workflows deutlich.

Ist GGUF besser als GPTQ oder AWQ?

GGUF ist nicht in jedem Szenario „besser“ als GPTQ oder AWQ. GGUF ist auf Portabilität und breite Hardwarekompatibilität optimiert, insbesondere für CPU, Apple Silicon und Mischhardware via Tools wie llama.cpp und Ollama. GPTQ und AWQ sind typischerweise stärker für High-Throughput-Inferenz auf NVIDIA-GPUs in Serverumgebungen optimiert.

Welche GGUF-Quantisierung sollten Einsteiger nutzen?

Für die meisten ist Q4_K_M der sicherste Startpunkt. Es bietet ein gutes Gleichgewicht aus Modellqualität, RAM-Bedarf und Inferenzgeschwindigkeit. Wer mehr Speicher hat und besseres Reasoning oder Coding benötigt, wählt oft Q5_K_M oder Q6_K, während niedrigere Bitbreiten wie Q2_K eher für Experimente taugen.

Laufen GGUF-Modelle ohne GPU?

Ja. Eine der größten Stärken von GGUF ist die starke CPU-Unterstützung. Tools wie llama.cpp können GGUF-Modelle vollständig auf CPUs ausführen, auch wenn die Inferenz meist langsamer ist als mit GPU-Beschleunigung. Kleinere quantisierte Modelle wie 7B- oder 8B-Q4_K_M-Varianten sind auf modernen Consumer-CPUs oft praktikabel.

Muss ich Modelle manuell in GGUF konvertieren?

In der Regel nicht. Die meisten populären Open-Weight-Modelle haben bereits community-hochgeladene GGUF-Versionen auf Hugging Face. Manuelle Konvertierung ist vor allem sinnvoll, wenn du dein eigenes Modell feinabgestimmt hast, einen bestimmten Quantisierungstyp brauchst oder den Konvertierungs- und Quantisierungsprozess mit llama.cpp gezielt steuern möchtest.


Austin Chia's photo
Author
Austin Chia
LinkedIn

Ich bin Austin, ein Blogger und Tech-Autor mit jahrelanger Erfahrung als Datenwissenschaftler und Datenanalyst im Gesundheitswesen. Ich habe meine Reise in die Welt der Technik mit einem Hintergrund in Biologie begonnen und helfe jetzt anderen mit meinem Technik-Blog, den gleichen Weg einzuschlagen. Meine Leidenschaft für Technologie hat dazu geführt, dass ich für Dutzende von SaaS-Unternehmen schreibe, um andere zu inspirieren und meine Erfahrungen zu teilen.

Themen

Top-Kurse zu KI

Lernpfad

Grundlagen der KI

10 Std.
Lerne die Grundlagen der KI kennen, finde heraus, wie du KI effektiv bei der Arbeit nutzen kannst, und tauche in Modelle wie chatGPT ein, um dich in der dynamischen KI-Landschaft zurechtzufinden.
Details anzeigenRight Arrow
Kurs starten
Mehr anzeigenRight Arrow