Lokale LLMs ausführen: Ollama, llama.cpp, LM Studio und vLLM im Vergleich
Es gibt verschiedene Möglichkeiten, ein LLM lokal auszuführen. Einige Tools sind darauf ausgelegt, den Einstieg zu erleichtern, während andere mehr Kontrolle bieten oder für den gleichzeitigen Zugriff mehrerer Nutzer konzipiert sind. Die richtige Wahl hängt davon ab, ob Sie einen einfachen lokalen Chat, eine anpassbare Inferenz-Engine oder eine Produktions-API benötigen.
Ollama
Ollama ist einer der einfachsten Wege, um lokal mit Modellen zu arbeiten. Installieren Sie die Software, laden Sie ein Modell herunter und starten Sie es über die Kommandozeile. Außerdem stellt Ollama eine lokale API für Anwendungen und andere Tools bereit.
Vorteile:
- Einfache Installation und Modellverwaltung
- Intuitive Kommandozeilen-Workflow
- OpenAI-kompatible API
- Unterstützt GPU-Beschleunigung über NVIDIA, AMD, Apple Silicon und Vulkan-basierte GPUs
- Mit Modelldateien können Sie Modelle und Parameter anpassen
- Unterstützt gleichzeitige Anfragen, sofern genügend Speicher verfügbar ist
Nachteile:
- Weniger tiefgreifende Kontrolle als bei llama.cpp
- Die Modellverwaltung ist auf das Ollama-Ökosystem zugeschnitten
- Weniger geeignet, wenn maximale Durchsatzleistung oder verteilte Inferenz erforderlich ist
Schwierigkeitsgrad: Niedrig. Eine gute Wahl, wenn Sie ein Modell schnell zum Laufen bringen möchten, ohne sich um zahlreiche Inferenzeinstellungen kümmern zu müssen.
llama.cpp
llama.cpp ist eine leichte C/C++-Inferenz-Engine, die darauf ausgelegt ist, Modelle effizient auf einer breiten Palette von Hardware auszuführen. Sie nutzt GGUF-Modelle und bietet detaillierte Steuerungsmöglichkeiten darüber, wie das Modell geladen und ausgeführt wird.
Vorteile:
- Fine-Grained-Kontrolle über Kontext, GPU-Offloading, Batching, Threads, Quantisierung und weitere Inferenzeinstellungen
- Weite Hardware-Unterstützung, einschließlich CUDA, HIP, Metal, Vulkan und SYCL
- Unterstützt viele Quantisierungsebenen von Low-Bit-Formaten bis hin zu 8-Bit
- Kann Modelle über mehrere GPUs aufteilen
- Kann CPU und GPU gemeinsam nutzen, wenn ein Modell größer ist als der verfügbare VRAM
- Enthält
llama-serverfür eine OpenAI-kompatible API
Nachteile:
- Mehr Konfiguration als bei Ollama oder LM Studio
- GGUF-Modelle werden in der Regel separat heruntergeladen und verwaltet
- Viele nützliche Einstellungen erfordern ein Verständnis der Inferenzparameter
Schwierigkeitsgrad: Mittel. Eine gute Wahl, wenn Sie genau kontrollieren möchten, wie ein Modell ausgeführt wird, oder wenn Sie mit Leistung und Quantisierung experimentieren wollen.
LM Studio
LM Studio ist eine Desktop-Anwendung zum Herunterladen, Konfigurieren und Ausführen lokaler LLMs. Sie bietet eine grafische Oberfläche zur Suche nach Modellen und zum Verwalten von Aspekten wie GPU-Offloading und Kontextgröße.
Vorteile:
- Einfache grafische Oberfläche
- Sucht und lädt Modelle über Hugging Face herunter
- Zeigt Modell- und Ressourceninformationen vor dem Laden an
- OpenAI-kompatible API-Server
- Kann Modelle headlessly über seinen
llmster-Server ausführen - Unterstützt GGUF über llama.cpp und MLX-Modelle auf Apple Silicon
Nachteile:
- Weniger tiefgreifende Kontrolle als bei direkter Nutzung von llama.cpp
- Die Desktop-Anwendung eignet sich weniger gut für bestimmte Server-Deployment-Szenarien
- Ist nicht primär für den Großbetrieb mit mehreren Benutzern ausgelegt
Schwierigkeitsgrad: Niedrig. Eine gute Wahl, wenn Sie lokale Modelle ausprobieren möchten, ohne viel Zeit in der Kommandozeile zu verbringen.
vLLM
vLLM ist für das Bereitstellen von LLMs für Anwendungen und mehrere Nutzer konzipiert. Sein Hauptvorteil liegt in der effizienten Bereitstellung bei hoher Parallelität, unter Verwendung von Techniken wie PagedAttention, kontinuierlichem Batching, Prefix-Caching und verteilter Inferenz.
Vorteile:
- Hoher Durchsatz für mehrere gleichzeitige Anfragen
- Kontinuierliches Batching und effizientes KV-Cache-Management
- OpenAI-kompatible API-Server
- Arbeitet direkt mit vielen Hugging Face-Modellen
- Unterstützt Quantisierung, einschließlich FP8, INT4, GPTQ, AWQ, GGUF und anderer
- Unterstützt Tensor-, Pipeline-, Experten- und andere Formen der Parallelisierung
- Für Produktions-Inferenz und Bereitstellung konzipiert
Nachteile:
- Komplexere Einrichtung und Konfiguration
- Hauptsächlich für Linux-Umgebungen ausgelegt
- In der Regel unnötig für eine einzelne Person, die ein Modell interaktiv ausführt
- Hardware- und Modellkompatibilität müssen vor dem Deployment geprüft werden
Schwierigkeitsgrad: Hoch. Am besten geeignet für Personen, die einen Inferenz-Dienst bereitstellen, anstatt einfach nur ein Modell auf einem Personalcomputer auszuführen.
Welche Option sollten Sie wählen?
- Möchten Sie ein Modell einfach ausführen: Ollama oder LM Studio. Wählen Sie Ollama für die Kommandozeile und eine einfache API oder LM Studio für eine grafische Oberfläche.
- Möchten Sie die Inferenz steuern: llama.cpp. Es bietet Ihnen direkte Kontrolle über Modellladen, Quantisierung, Kontext, GPU-Offloading und andere Einstellungen.
- Brauchen Sie eine lokale API: Ollama, llama.cpp oder LM Studio. Alle drei bieten OpenAI-kompatible APIs.
- Müssen viele Nutzer bedienen: vLLM. Seine Funktionen für kontinuierliches Batching und verteilte Inferenz sind genau für diesen Anwendungsfall konzipiert.
- Möchten Sie verschiedene Quantisierungen testen: llama.cpp oder LM Studio.
Auf DaDesktop ausführen
Falls Sie lokal nicht über ausreichende GPU-Hardware verfügen, können Sie diese Tools auf einem DaDesktop-Cloud-Desktop ausführen. Wählen Sie eine GPU mit genügend VRAM für das gewünschte Modell, starten Sie den Desktop und installieren Sie die von Ihnen bevorzugte Inferenzsoftware.
Ollama und LM Studio sind nützlich, wenn Sie eine einfache lokale Umgebung wünschen. llama.cpp bietet Ihnen mehr Kontrolle über die Hardware und die Inferenzeinstellungen. vLLM ist eine Option, wenn Sie ein Modell als API mit höherem Durchsatz bereitstellen müssen.
Verfügbare GPUs anzeigen, um VRAM und weitere Spezifikationen zu vergleichen.