Ollama Performance optimieren
Was dieser Artikel über Ollama-Performance behandelt
- Wie man erkennt, wo Ollama bremst.
- Wie GPU-Nutzung und Treiber geprüft werden.
- Wie Quantisierung und Modellgrösse die Geschwindigkeit beeinflussen.
- Wie Kontextlänge, Batch-Grösse und Parameter optimiert werden.
- Wichtige Tuning-Tipps und Stolpersteine.
Einleitung: Ollama Performance optimieren
Ollama ist einfach zu bedienen, aber die Geschwindigkeit hängt stark von Hardware, Modellgrösse und Konfiguration ab. Wer grössere Modelle oder lange Dokumente verarbeiten will, merkt schnell, dass die Antwortzeiten steigen. Mit einigen gezielten Einstellungen lässt sich Ollama oft deutlich beschleunigen, ohne gleich mehr Hardware kaufen zu müssen.
Dieser Artikel zeigt, wo man bei der Ollama-Performance ansetzt und welche Hebel am effektivsten sind.
Wichtige Begriffe
- Prompt-Eval: Verarbeitung der Eingabe durch das Modell.
- Generation: Erzeugung der Antwort.
- Tokens pro Sekunde: Metrik für die Generierungsgeschwindigkeit.
- Context Window: Maximale Anzahl Tokens im Kontext.
- KV-Cache: Zwischenspeicher für bereits verarbeitete Tokens.
- Batch Size: Anzahl parallel verarbeiteter Tokens.
- Quantisierung: Reduktion der Bitanzahl der Modellgewichte.
- Offload: Verteilung der Berechnung zwischen CPU und GPU.
Ursachen für langsame Performance
- Zu grosses Modell: Passt nicht in den VRAM, läuft teilweise auf der CPU.
- Zu lange Kontexte: Mehr Kontext bedeutet mehr Berechnung.
- CPU statt GPU: Ollama erkennt GPU nicht, weil Treiber fehlen.
- Langsame Speicher: System-RAM zu langsam oder nicht Dual-Channel.
- Falsche Modellgrösse: 70B-Modell statt passender 8B-Variante.
- Zu viele Modelle geladen: VRAM ist fragmentiert.
GPU-Nutzung prüfen
ollama ps
nvidia-smi
Wenn Ollama nicht auf der GPU läuft, prüfe die Treiber. Bei Nvidia muss der proprietäre Treiber installiert sein. Bei AMD hängt es von ROCm ab.
Treiber installieren
Nvidia
sudo apt install -y nvidia-driver-535 nvidia-utils-535
AMD
sudo apt install -y amdgpu-install
sudo amdgpu-install -y --usecase=rocm
Achtung: Ältere AMD-GPUs wie GCN 1.0 werden nicht von ROCm unterstützt.
Modellgrösse wählen
Für die meisten Aufgaben reichen kleinere Modelle:
- Qwen 2.5 7B oder 14B: Gute allgemeine Leistung.
- Llama 3.1 8B: Breite Unterstützung.
- Mistral 7B oder Nemo 12B: Solide Multilingualität.
Grössere Modelle sind besser, aber nur, wenn sie in den VRAM passen. Sonst ist die Performance schlechter als bei kleineren Modellen, die vollständig auf der GPU laufen.
Quantisierung
4-Bit-Quantisierung ist der Standard. Bei geringer VRAM kann man 3-Bit oder 2-Bit testen, mit Qualitätseinbussen. Für Coding und Reasoning ist 5-Bit oft besser.
ollama pull qwen2.5:14b-q4_K_M
ollama pull qwen2.5:14b-q5_K_M
Kontextlänge einstellen
Nicht jedes Modell unterstützt jede Kontextlänge. Zu grosse num_ctx Werte verlangsamen die Verarbeitung. Oft reichen 2048 oder 4096 Tokens.
PARAMETER num_ctx 4096
Im Modelfile:
FROM qwen2.5:14b
PARAMETER num_ctx 4096
Ollama-Umgebungsvariablen
In der Datei /etc/systemd/system/ollama.service.d/override.conf oder im Docker-Setup:
[Service]
Environment="OLLAMA_NUM_PARALLEL=4"
Environment="OLLAMA_MAX_LOADED_MODELS=2"
Environment="OLLAMA_GPU_OVERHEAD=1GB"
Danach:
sudo systemctl daemon-reload
sudo systemctl restart ollama
Parallelität
OLLAMA_NUM_PARALLEL legt fest, wie viele Anfragen gleichzeitig bearbeitet werden. Für Server-Setups sinnvoll, für Einzelnutzer meist 1.
CPU-Inferenz beschleunigen
Wenn keine GPU verfügbar ist:
- Aktuelle CPU mit AVX2 oder AVX512 verwenden.
- Genug RAM bereitstellen.
- Mehrere Threads erlauben:
PARAMETER num_thread 8
Monitoring
Regelmässig prüfen:
ollama ps
free -h
nvidia-smi
Wenn das Modell im Speicher auslagert, wird es langsam.
Typische Stolpersteine
- GPU wird nicht erkannt: Treiber fehlen oder falsche Version.
- Modell wird auf CPU ausgeführt: Zu gross für VRAM.
- Zu hohe Kontextlänge: Verlangsamt und führt zu Fehlern.
- Mehrere Modelle gleichzeitig: Fragmentierter VRAM.
- Alte Ollama-Version: Updates bringen oft Performance-Verbesserungen.
Weiterführende Links und Infos
- BotServ.de GPU für lokale KI kaufen
- BotServ.de GPU-Vergleich
- BotServ.de Quantisierungs-Grundlagen
- BotServ.de Ollama Funktionen
FAQ: Ollama Performance
Wie prüfe ich, ob Ollama meine GPU nutzt?
ollama ps zeigt, ob ein Modell CPU oder GPU nutzt.
Warum ist meine GPU so langsam? Möglicherweise ist das Modell zu gross und läuft teilweise auf der CPU.
Hilft mehr VRAM? Ja, vor allem um grössere Modelle vollständig in die GPU zu laden.
Ist 3-Bit-Quantisierung empfohlen? Nur, wenn 4-Bit nicht in den Speicher passt, da die Qualität leidet.
Sollte ich num_ctx auf Maximum setzen?
Nein, nur so viel wie wirklich benötigt wird.
Quellen und weiterführende Literatur
- Ollama Docs: https://github.com/ollama/ollama/blob/main/docs/
- llama.cpp Performance: https://github.com/ggerganov/llama.cpp/wiki/
- Nvidia CUDA: https://developer.nvidia.com/cuda-zone
Zusammenfassung: Ollama Performance optimieren
Ollama-Performance lässt sich durch passende Modellgrösse, Quantisierung, Treiber, Kontextlänge und Ollama-Parameter deutlich verbessern. Die wichtigste Regel lautet: das Modell sollte vollständig in den GPU-Speicher passen. Grösser ist nicht immer besser, wenn dadurch Berechnungen auf die CPU ausweichen. Wer regelmässig ollama ps, nvidia-smi und die Systemressourcen im Blick behält, findet schnell die grössten Bremsen.


