Mittelstufe 11 Min.llama.cpp

llama.cpp: Was ist das und sollten Sie von Ollama wechseln? ?

Direkte Antwort

llama.cpp ist eine in C/C++ geschriebene Inferenz-Engine, die Modelle im GGUF-Format auf CPUs sowie auf GPUs von NVIDIA, AMD und Intel und auf Apple Silicon ausführt; Ollama, LM Studio und KoboldCpp bauen alle darauf auf. Die direkte Nutzung über llama-server macht ein Modell auf derselben Hardware nicht schneller: Sie erhalten dadurch die Kontrolle über Einstellungen, die die darauf aufbauenden Anwendungen sonst für Sie wählen, etwa die GPU/CPU-Aufteilung, die Kontextgröße und die Quantisierung des KV-Caches.

llama.cpp ist der in C und C++ geschriebene Inferenzmotor, der Modelle im GGUF-Format auf CPUs, auf GPUs von NVIDIA, AMD und Intel sowie auf Macs ausführt. Stand 20. September 2026 basieren die meisten Anwendungen für lokale LLMs auf ihm oder auf seiner Bibliothek ggml: Ollama, LM Studio, KoboldCpp, Jan. Die direkte Nutzung führt nicht zu einer schnelleren Modellausführung. Sie gibt Ihnen die Kontrolle über Einstellungen, die sonst von den darüberliegenden Schichten für Sie festgelegt werden.

Von Mohamed Meguedmi·Aktualisierung 2026-09-28·Getestet auf macOS 14+

#llama.cpp kurz gesagt

Das Projekt wurde im März 2023 von Georgi Gerganov mit einem einfachen Ziel gestartet: Metas LLaMA-Modell auf einem MacBook ohne Python und ohne umfangreiche Abhängigkeiten auszuführen. Es wird unter der MIT-Lizenz veröffentlicht. Drei Jahre später unterstützt das Repository, das inzwischen zur Organisation ggml-org gehört, Hunderte von Architekturen. Das im August 2023 vom Projekt definierte Dateiformat GGUF ist zum De-facto-Standard für die Verteilung quantifizierter Modelle geworden.

Zwei technische Entscheidungen erklären diesen Erfolg. Die erste ist die Quantisierung: llama.cpp kann mit auf 2 bis 8 Bit komprimierten Gewichten arbeiten, sodass ein Modell mit 8 Milliarden Parametern in 5 GB statt 16 GB passt. Die zweite ist die Aufteilung zwischen Prozessor und Grafikkarte: Wenn ein Modell nicht vollständig in den VRAM passt, bleibt ein Teil der Schichten im RAM, während der Rest auf die GPU verlagert wird. Das ist langsamer, als das Modell vollständig auf die GPU zu laden, funktioniert aber, und nur wenige Engines bieten diese Möglichkeit.

#Was enthalten ist

Das Lokale-KI-Paket

Ihr privates, kostenloses ChatGPT auf Ihrem Rechner in einer Stunde – mit LM Studio, Ollama, Open WebUI und Ihren Dokumenten, ganz ohne Cloud.

  • Lebenslanger Online-Zugang
  • PDF + Dateien
  • Erstattung binnen 30 Tagen
llama-cli
Chat über die Befehlszeile. Nützlich, um ein Modell oder eine Einstellung in wenigen Sekunden zu testen.
llama-server
Ein HTTP-Server mit einer OpenAI-kompatiblen API und einer integrierten Weboberfläche auf Port 8080. Das ist die Komponente, die die meisten fortgeschrittenen Nutzer dauerhaft laufen lassen.
llama-bench
Das Messwerkzeug. Es gibt die Lesegeschwindigkeit des Prompts und die Generierungsgeschwindigkeit getrennt an. So lassen sich zwei Einstellungen vergleichen, ohne sich etwas vorzumachen.
llama-quantize
Konvertiert eine GGUF-Datei mit voller Präzision in eine speichersparendere Quantisierung (Q4_K_M, Q5_K_M, Q8_0).

#Was die aufgesetzten Softwareschichten hinzufügen und verbergen

Ollama, LM Studio und KoboldCpp bieten das, was llama.cpp nicht bietet: einen Modellkatalog, Downloads mit einem einzigen Befehl, eine Benutzeroberfläche sowie automatisches Laden und Entladen. Im Gegenzug legen sie Standardwerte fest. Die folgende Tabelle vergleicht keine Leistungswerte, sondern zeigt, wer worüber entscheidet.

Vergleich der Einstellmöglichkeiten, nicht der Geschwindigkeit · Stand vom 20.09.2026
Einstellungllama.cpp purOllamaLM StudioKoboldCpp
Größe des KontextesOption -c, freiKonservativer Standardwert, über eine Variable oder ein Modelfile änderbarSchieberegler pro ModellStartoption
Wahl der QuantisierungJede GGUF-DateiKatalog-Tag, Q4 standardmäßigZum Download angebotene ListeJede GGUF-Datei
Auf die GPU ausgelagerte SchichtenOption -ngl, Schicht für SchichtAutomatischSchiebereglerStartoption
Quantisierung des KV-CachesOptionen -ctk und -ctvGlobale UmgebungsvariableErweiterte EinstellungenStartoption
APIllama-server, kompatibel mit OpenAIEchte API + OpenAI-KompatibilitätOpenAI-kompatibler ServerEchte API + OpenAI-Kompatibilität
Updates der EngineAm gleichen Tag bei jedem CommitMit VersatzMit VersatzMit Versatz

Die letzte Zeile ist wichtiger, als es zunächst scheint. Wenn eine neue Modellarchitektur veröffentlicht wird, wird sie zuerst von llama.cpp unterstützt und erst einige Tage oder Wochen später von den darauf aufbauenden Anwendungen. Wenn Sie ein Modell in der Woche seiner Veröffentlichung testen möchten, ist dies oft der einzige Weg.

#Die vier Einstellungen, die alles verändern

-ngl (n-gpu-layers)
Die Anzahl der Modellschichten, die im VRAM abgelegt werden. Der Wert 99 bedeutet „alles, was hineinpasst“. Wenn das Modell mehr Speicher benötigt, als Ihr VRAM bietet, verringern Sie diese Zahl, bis das Laden gelingt: Jede auf der CPU verbleibende Schicht verlangsamt die Generierung, aber ein Modell, das mit 8 Tokens pro Sekunde läuft, ist besser als ein Modell, das nicht startet.
-c (ctx-size)
Das zugewiesene Kontextfenster. Der KV-Cache wächst mit ihm: Bei einem Modell mit 8 Milliarden Parametern benötigt der Wechsel von 8.000 auf 32.000 Tokens mehrere GB zusätzlichen VRAM. Weisen Sie nur so viel zu, wie Sie benötigen, statt das vom Modell angegebene Maximum auszuschöpfen.
-fa (flash-attn)
Aktiviert Flash Attention, das den Speicherbedarf reduziert und die Verarbeitung langer Prompts beschleunigt. Dies ist auch eine Voraussetzung für die Quantisierung des KV-Caches.
--n-cpu-moe
Bei MoE-Modellen werden die Experten einer bestimmten Anzahl von Schichten im RAM gehalten, während der Rest auf der GPU bleibt. Dadurch lässt sich ein MoE-Modell mit 30 oder 120 Milliarden Parametern auf einer Grafikkarte mit 16 GB Speicher mit brauchbarer Geschwindigkeit betreiben.

#Was sich geändert hat: --fit stellt -ngl für Sie ein

Lange war das manuelle Einstellen von -ngl der erste Reflex in jedem llama.cpp-Leitfaden: den Wert auf 99 setzen, um alles auf die GPU zu verlagern, und ihn dann durch Ausprobieren wieder senken, falls das Laden scheiterte. Dieser Schritt ist inzwischen nicht mehr zwingend nötig. Das Projekt hat die standardmäßig aktivierte Option --fit hinzugefügt, die nicht ausdrücklich angegebene Parameter (darunter -ngl) automatisch so anpasst, dass das Modell in den verfügbaren Speicher passt. Bei einer kleineren Grafikkarte erspart das den üblichen Wechsel zwischen einem fehlgeschlagenen Start und einem manuell reduzierten -ngl-Wert.

→
-ngl 99 bleibt gültig
Wenn Sie eine bestimmte Platzierung erzwingen möchten, funktioniert -ngl weiterhin genau wie zuvor; --fit gilt nur für Parameter, die Sie nicht selbst festgelegt haben. Die Verhaltensänderung betrifft den Standardwert, nicht den Befehl.

#Welches Backend für Ihre Karte?

llama.cpp wird für ein bestimmtes Rechenbackend kompiliert oder heruntergeladen. Die richtige Wahl hängt ausschließlich von Ihrer Hardware ab. Die Tabelle zeigt die Hardwarefamilien aus unserer Datenbank mit 90 Konfigurationen.

Familien aus der QuelLLM-Hardwaredatenbank (90 GPUs und Chips) · 20/09/2026
Ihr Hardware-SetupEmpfohlenes BackendHinweis
NVIDIA GTX 10 bis RTX 50, Desktop- und Laptop-ModelleCUDADer schnellste und am besten getestete Weg.
AMD Radeon RX 7000 und RX 9000ROCm (HIP) oder VulkanROCm ist schneller, wenn es funktioniert. Vulkan lässt sich problemlos installieren, auch unter Windows.
AMD Radeon RX 6000 und ältere ModelleVulkanJe nach Grafikkarte wird ROCm nur teilweise oder gar nicht unterstützt.
Apple M1 bis M5MetalStandardmäßig in den macOS-Binaries aktiviert. Der gesamte vereinheitlichte Speicher ist nutzbar.
Integrierte GPU von Intel oder AMD, Intel ArcVulkan oder SYCLTatsächlicher Leistungsgewinn gegenüber dem ausschließlichen CPU-Betrieb bei kleinen Modellen.
Keine GPUCPU (AVX2, AVX-512, NEON)Funktioniert überall. Wählen Sie Modelle mit höchstens 8 Milliarden Parametern.

#Unsere Messungen mit llama.cpp

llama.cpp ist die Referenz-Engine unseres Testaufbaus, gerade weil sie auf allen Plattformen identisch läuft. Hier sind die mit Llama 3.1 8B in Q4 gemessenen Generierungsgeschwindigkeiten: Kontext mit 2.048 Tokens, eine einzige Anfrage, Flash Attention aktiviert.

Gemessen · QuelLLM-Teststand, llama.cpp b4280, Messwerte vom 18.04.2026 · vollständige Tabelle auf der Seite Benchmarks
RechnerSpeicherLlama 3.1 8B Q4
RTX 509032 GB172 Tok/s
RTX 409024 GB128 Tok/s
RTX 407012 GB76 tok/s
Mac M3 Max64 GB vereinheitlichter Speicher64 Tok/s
RTX 306012 GB44 Tok/s
Ryzen 7 7700, CPU alleinSystem-RAM7,8 Tok/s

Daraus lassen sich zwei Schlüsse ziehen. Erstens beträgt der Leistungsunterschied zwischen einer RTX 3060 und einem Prozessor allein einen Faktor von fünf bis sechs: Selbst eine Einsteiger-Grafikkarte verändert das Nutzungserlebnis. Zweitens wären diese Zahlen in Ollama oder LM Studio auf denselben Rechnern praktisch gleich, da die zugrunde liegende Rechen-Engine dieselbe ist.

#Bei Ollama bleiben oder zu llama.cpp wechseln

Bleiben Sie bei Ollama oder LM Studio, wenn …Wechseln Sie zu llama.cpp, wenn…
Sie möchten mit einem Modell sprechen, ohne Dokumentation zu lesen.Ihr Modell passt nicht vollständig in den VRAM, und Sie möchten die Aufteilung zwischen GPU und CPU feinjustieren.
Sie wechseln häufig zwischen Modellen und schätzen den integrierten Katalog.Sie möchten eine Architektur testen, die diese Woche veröffentlicht wurde.
Ihre Tools (Open WebUI, Editor-Erweiterungen) erwarten die API von Ollama.Sie richten einen Server für den langfristigen Betrieb ein und möchten jede Option selbst kontrollieren, vom Kontext bis zum KV-Cache.

#In zehn Minuten starten

Zum Ausprobieren müssen Sie nichts kompilieren. Für Windows, macOS und Linux werden mit jeder Version vorkompilierte Binärdateien veröffentlicht, und die Paketmanager erledigen den Rest. Der folgende Befehl lädt ein kleines Modell von Hugging Face herunter und öffnet die Weboberfläche unter http://localhost:8080.

Installieren und anschließend den Server starten
# macOS et Linux (Homebrew)
brew install llama.cpp

# Windows
winget install llama.cpp

# Télécharger un modèle et ouvrir l'interface web
llama-server -hf ggml-org/gemma-3-4b-it-GGUF -ngl 99 -c 8192

Für ein anspruchsvolleres Modell aus dem Katalog laden Sie die GGUF-Datei Ihrer Wahl herunter und geben mit der Option -m den Pfad zu ihr an. Das Kompilieren aus dem Quellcode ist nur dann sinnvoll, wenn Sie ein bestimmtes Backend aktivieren oder die Entwicklung tagesaktuell verfolgen möchten.

#Die häufigsten Ladefehler

Die meisten Probleme mit llama.cpp lassen sich auf drei Ursachen zurückführen: eine Überschreitung der verfügbaren Speicherkapazität, eine mit dem installierten Build inkompatible GGUF-Datei oder eine falsch geschriebene Option. Die in der Kommandozeile angezeigte Fehlermeldung zeigt fast immer, welche der drei Ursachen vorliegt – vorausgesetzt, Sie lesen sie bis zum Ende, statt sie zu schließen und das Programm erneut zu starten.

Die Meldung lesen, bevor eine Einstellung geändert wird
Meldung oder SymptomWahrscheinliche UrsacheZum Ausprobieren
cudaMalloc failed: out of memoryDas Modell mit dem angeforderten Kontext überschreitet die verfügbare VRAM-c reduzieren, --fit den Wert von -ngl anpassen lassen oder eine weniger speicherintensive Quantisierung wählen
unknown model architectureDie GGUF-Datei verwendet eine neuere Architektur als die installierte BinärdateiAuf die neueste veröffentlichte Version aktualisieren; neue Architekturen werden zuerst in llama.cpp unterstützt
Sehr langsames Generieren trotz neuerer GPUNicht alle Schichten wurden auf die GPU übertragen, häufig mangels freien VRAMsDie Ausgabe beim Laden prüfen (Zeile „offloaded“), andere Anwendungen schließen, die die Grafikkarte belegen
error: invalid argumentEine umbenannte oder falsch geschriebene Option im BefehlMit der Ausgabe von llama-server --help vergleichen, die die aktuellen Kurz- und Langformen der Aliase auflistet

Es lohnt sich, die beim Serverstart angezeigte Ladezeile einmal vollständig zu lesen: Sie nennt die Anzahl der tatsächlich auf die GPU ausgelagerten Schichten, die effektive Kontextgröße und den verwendeten KV-Cache-Typ. Das geht oft schneller, als wahllos Optionen hinzuzufügen, bis es funktioniert. Behalten Sie auch die installierte Version im Blick: llama.cpp veröffentlicht sehr häufig Nightly-Versionen, und ein Fix für Ihre Karte oder Ihr Modell ist manchmal schon erschienen, aber noch nicht in dem Homebrew- oder winget-Paket enthalten, das Sie in der Vorwoche installiert haben.

#FAQ

Ist llama.cpp schneller als Ollama?+
Bei identischen Einstellungen nicht: Ollama nutzt dieselbe Rechen-Engine, daher ist die Generierungsgeschwindigkeit sehr ähnlich. Der Unterschied liegt in den Einstellungen. Mit llama.cpp können Sie die Anzahl der Schichten auf der GPU, die Kontextgröße und die Quantisierung des Caches genau festlegen. Dadurch passt manchmal ein Modell vollständig in den VRAM, das Ollama teilweise auf der CPU ausgeführt hätte.
Muss man wissen, wie man kompiliert, um llama.cpp zu verwenden?+
Nein. Mit jeder Version werden vorkompilierte Binärdateien für Windows, macOS und Linux veröffentlicht, und das Paket ist über Homebrew (macOS, Linux) und winget (Windows) verfügbar: Ein Installationsbefehl genügt, ohne dass Sie einen Compiler verwenden müssen. Das Kompilieren aus dem Quellcode wird erst dann sinnvoll, wenn Sie ein bestimmtes Backend aktivieren möchten, das in der offiziellen Binärdatei fehlt, einen lokalen Patch anwenden oder täglich dem Entwicklungszweig folgen möchten, statt eine veröffentlichte Version zu verwenden.
Kann llama.cpp ohne Grafikkarte verwendet werden?+
Ja, das ist sogar sein ursprünglicher Einsatzzweck: Das Projekt wurde dafür konzipiert, ein Modell auf einem einfachen Prozessor auszuführen, ohne GPU oder Python. Auf einem aktuellen Prozessor erreicht ein 8B-Modell in Q4 auf unserem Testsystem etwa 8 Tokens pro Sekunde. Das ist zwar langsam, lässt sich zum Chatten oder Zusammenfassen aber noch gut mitlesen. Bei mehr als 14 Milliarden Parametern wird die Wartezeit ohne Hardwarebeschleunigung mühsam.
Welche Unterschiede gibt es zwischen llama.cpp und vLLM?+
llama.cpp richtet sich an persönliche Rechner unabhängig von der Hardware, mit quantisierten Modellen im GGUF-Format. vLLM richtet sich an GPU-Server, die viele Anfragen parallel bedienen, mit Hugging-Face-Modellgewichten. Ersteres maximiert, was auf Ihrem Rechner läuft, Letzteres den Durchsatz einer gemeinsam genutzten GPU.
Und auf dem Mac: llama.cpp oder MLX?+
Beide nutzen die Apple-GPU über den gemeinsamen Speicher. MLX, die von Apple für seine eigenen Chips entwickelte Bibliothek, hat bei neueren Modellen oft einen Geschwindigkeitsvorteil; llama.cpp punktet dagegen mit einem riesigen Angebot an bereits quantisierten GGUF-Dateien und feineren Einstellungen für Kontext und KV-Cache. In der Praxis lassen viele Mac-Nutzer beide installiert und wählen je nachdem, welches Format für das gewünschte Modell verfügbar ist.

Hat Ihnen dieser Guide geholfen?

Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.