Weitere Modelle herunterladen und lokal betreiben
Nachdem ihr in Phase 4 bereits Modelle lokal heruntergeladen habt, könnt ihr jetzt zwischen verschiedenen Modellen wechseln, ohne sie neu herunterladen zu müssen. Um ein anderes bereits heruntergeladenes Modell zu verwenden, stoppt ihr den aktuellen Container und startet ihn mit dem gewünschten Modell neu.
Zuerst stoppe ich den aktuellen Container (falls er noch läuft):
Befehl: docker stop vllm-server
Befehl: docker rm vllm-server
Jetzt starte ich den Server mit einem anderen bereits heruntergeladenen Modell. Ich verwende hier das Qwen2.5-Math-1.5B-Instruct Modell, das wir bereits in Phase 4 heruntergeladen haben:
Modell: Qwen2.5-Math-1.5B-Instruct (bereits lokal gespeichert unter ~/models/Qwen2.5-Math-1.5B-Instruct)
Befehl: docker run -d --gpus all --name vllm-server -p 8000:8000 --restart unless-stopped -v ~/models:/data --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 nvcr.io/nvidia/vllm:25.11-py3 vllm serve /data/Qwen2.5-Math-1.5B-Instruct --gpu-memory-utilization 0.6
Wichtig: Ich verwende den lokalen Pfad /data/Qwen2.5-Math-1.5B-Instruct statt des Hugging Face Namens Qwen/Qwen2.5-Math-1.5B-Instruct. So lädt vLLM das Modell direkt aus dem lokalen Verzeichnis und muss es nicht erneut herunterladen.
Falls ihr ein neues Modell herunterladen möchtet, könnt ihr den Download-Befehl aus Phase 4 verwenden.
Mit dem folgenden Befehl könnt ihr jetzt testen ob das Modell geladen wurde und euch antwortet.
Befehl: curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "/data/Qwen2.5-Math-1.5B-Instruct", "messages": [{"role": "user", "content": "Why is the sky red during sunset?"}], "max_tokens": 500}'
Hier ein Beispiel für ein größeres Modell:
Modell: openai/gpt-oss-120b
Download-Befehl: docker run -it --rm --name vllm-gpt-oss-120b -v ~/models:/data --dns 8.8.8.8 --dns 8.8.4.4 --ipc=host nvcr.io/nvidia/vllm:25.11-py3 /bin/bash -c "pip install hf_transfer && export HF_HUB_ENABLE_HF_TRANSFER=1 && python3 -c \"from huggingface_hub import snapshot_download; snapshot_download(repo_id='openai/gpt-oss-120b', local_dir='/data/gpt-oss-120b', max_workers=1, resume_download=True)\""
Nach dem Download könnt ihr dieses Modell dann mit folgendem Befehl starten:
Server-Start-Befehl: docker run -d --gpus all --name vllm-server -p 8000:8000 --restart unless-stopped -v ~/models:/data --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 nvcr.io/nvidia/vllm:25.11-py3 vllm serve /data/gpt-oss-120b --gpu-memory-utilization 0.6
Der Parameter -v ~/models:/data mountet das lokale Verzeichnis ~/models in den Container unter /data, sodass alle heruntergeladenen Modelle auf dem Host-System gespeichert werden. Beim nächsten Container-Start werden die Modelle nicht neu heruntergeladen, sondern direkt aus dem lokalen Verzeichnis verwendet.
Befehl: curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "/data/gpt-oss-120b", "messages": [{"role": "user", "content": "Why is the sky red during sunset?"}], "max_tokens": 500}'
Hinweis: Größere Modelle benötigen mehr GPU-Speicher. Prüft vorher mit nvidia-smi, ob genug VRAM verfügbar ist. Für Modelle mit mehr als 32B Parametern könnt ihr auch Quantisierung verwenden, um den Speicherbedarf zu reduzieren.
Für gated Models (Modelle mit Zugriffsbeschränkungen) müsst ihr euch zuerst beim Hugging Face Hub anmelden und den Zugriff auf das Modell beantragen:
Befehl: docker exec -it vllm-server huggingface-cli login
Ihr werdet nach eurem Hugging Face Token gefragt. Diesen findet ihr in euren Hugging Face Account-Einstellungen unter https://huggingface.co/settings/tokens.
Kann ich Ollama-Modelle verwenden?
Leider nein – Ollama und vLLM verwenden unterschiedliche Modellformate. Ollama speichert Modelle in einem eigenen Format (meist unter ~/.ollama/models), während vLLM Hugging Face Modelle benötigt, die im Hugging Face Format gespeichert werden. Die Modelle sind nicht direkt kompatibel. Wenn ihr jedoch beide Systeme nutzt, könnt ihr den Speicherplatz optimieren, indem ihr den Hugging Face Cache für vLLM in einem separaten Verzeichnis verwaltet und Ollama-Modelle in einem anderen Verzeichnis behaltet.
Troubleshooting: Häufige Probleme und Lösungen
In meiner Zeit mit vLLM auf dem AI TOP ATOM bin ich auf einige typische Probleme gestoßen. Hier sind die häufigsten und wie ich sie gelöst habe:
-
CUDA-Versionsfehler: Die CUDA-Version stimmt nicht überein. Prüft mit
nvcc --version, ob CUDA 13.0 installiert ist. Falls nicht, installiert die richtige Version. Bei manchen Systemen kann es auch zu Problemen mit CUDA 12.9 kommen – in diesem Fall sollte CUDA 13.0 verwendet werden. -
Container-Registry-Authentifizierung schlägt fehl: Falls ihr Probleme beim Download des Container-Images habt, kann es sein, dass eine Authentifizierung bei der NVIDIA NGC Registry erforderlich ist. Prüft eure Netzwerkverbindung oder verwendet die NVIDIA NGC Registry direkt.
-
SM_121a Architektur wird nicht erkannt: Falls ihr vLLM von Source baut, müssen möglicherweise LLVM-Patches angewendet werden. Für die Docker-Variante sollte dieses Problem nicht auftreten.
-
CUDA out of memory: Das Modell ist zu groß für den verfügbaren GPU-Speicher. Verwendet ein kleineres Modell oder aktiviert Quantisierung mit
--quantization awqoder--quantization gptq. -
Modell-Download schlägt fehl: Prüft die Internetverbindung. Falls ihr bereits gecachte Modelle habt, könnt ihr den Cache-Pfad mit
-v ~/.cache/huggingface:/root/.cache/huggingfacemounten. -
Zugriff auf gated Repository nicht möglich: Bestimmte Hugging Face Modelle haben Zugriffsbeschränkungen. Generiert euren Hugging Face Token neu und beantragt Zugriff auf das gated Modell im Browser.
-
Speicherprobleme trotz ausreichendem RAM: Bei der DGX Spark Plattform mit Unified Memory Architecture könnt ihr bei Speicherproblemen den Buffer-Cache manuell leeren:
sudo sh -c 'sync; echo 3 > /proc/sys/vm/drop_caches'
Container verwalten
Um den Status des Containers zu prüfen:
Befehl: docker ps -a | grep vllm-server
Um den Container zu stoppen (ohne ihn zu löschen):
Befehl: docker stop vllm-server
Um den Container zu starten:
Befehl: docker start vllm-server
Um den Container komplett zu entfernen:
Befehl: docker rm vllm-server
Um die Logs des Containers anzuzeigen:
Befehl: docker logs -f vllm-server
Rollback: vLLM wieder entfernen
Falls ihr vLLM komplett vom AI TOP ATOM entfernen möchtet, führt auf dem System folgende Befehle aus:
Zuerst entfernt ihr alle vLLM Container (auch gestoppte):
Befehl: docker rm $(docker ps -aq --filter ancestor=nvcr.io/nvidia/vllm:25.11-py3)
Falls ihr einen Container mit Namen habt, könnt ihr auch direkt:
Befehl: docker stop vllm-server
Befehl: docker rm vllm-server
Entfernt das Container-Image:
Befehl: docker rmi nvcr.io/nvidia/vllm:25.11-py3
Um auch nicht verwendete Docker-Container und Images zu entfernen:
Befehl: docker system prune -f
Wichtiger Hinweis: Diese Befehle entfernen den vLLM Container und das Image. Heruntergeladene Modelle bleiben im Hugging Face Cache erhalten, falls ihr den Cache-Pfad gemountet habt.
Zusammenfassung & Fazit
Die Installation von vLLM auf dem Gigabyte AI TOP ATOM ist dank der Kompatibilität mit den NVIDIA DGX Spark Playbooks erstaunlich unkompliziert. In etwa 30 Minuten habe ich vLLM eingerichtet und kann jetzt Large Language Models mit maximaler Performance ausführen.
Was mich besonders begeistert: Die Performance der Blackwell-GPU wird voll ausgenutzt, und die Docker-basierte Installation macht das Setup deutlich einfacher als eine manuelle Installation. vLLM bietet eine OpenAI-kompatible API, sodass bestehende Anwendungen nahtlos integriert werden können.
Besonders praktisch finde ich auch, dass vLLM mit PagedAttention und Continuous Batching arbeitet, was den Durchsatz maximiert und den Speicherverbrauch minimiert. Das macht es ideal für Production-Einsätze, bei denen mehrere Anfragen gleichzeitig verarbeitet werden müssen.
Für Teams oder Entwickler, die eine hochperformante LLM-Inference-Lösung benötigen, ist das eine perfekte Lösung: Ein zentraler Server mit voller GPU-Power, auf dem Modelle mit optimaler Performance ausgeführt werden können. Die OpenAI-kompatible API ermöglicht es, bestehende Anwendungen ohne Code-Änderungen zu integrieren.
Falls ihr Fragen habt oder auf Probleme stoßt, schaut gerne in die offizielle NVIDIA DGX Spark Dokumentation oder die vLLM Dokumentation. Die Community ist sehr hilfsbereit, und die meisten Probleme lassen sich schnell lösen.
Nächster Schritt: Production-Deployment und Performance-Tuning
Ihr habt jetzt vLLM erfolgreich installiert und einen ersten Test durchgeführt. Die Grundinstallation funktioniert, aber das ist erst der Anfang. Der nächste Schritt ist die Konfiguration für eure spezifischen Anforderungen.
vLLM bietet viele Konfigurationsmöglichkeiten für Production-Einsätze: Batch-Größen anpassen, Speicher-Einstellungen optimieren, Quantisierung für größere Modelle aktivieren oder mehrere Modelle gleichzeitig betreiben. Die Dokumentation zeigt euch, wie ihr diese Einstellungen für eure Workloads optimiert.
Viel Erfolg beim Experimentieren mit vLLM auf eurem Gigabyte AI TOP ATOM. Ich bin gespannt, welche Anwendungen ihr damit entwickelt! Lasst es mich und meine Leser hier in den Kommentaren wissen.
Hier geht es zum 1. Teil der Installations- und Konfigurationsanleitung.






Ein toller Guide der leicht zugänglich und verständlich ist. Perfekt für ein kleines Side-Project geeignet. Aktuell half mir noch mein…
Thank you for this great tutorial, could you share n8n workflow and comfyui workflow please?
Hallo Anton, die Meldung besagt das in meinem Beisiel Methoden verwendet werden die veraltet (deprecated) sind. Also müsstest Du die…
Danke für das Tool! Ich habe erst kürzlich angefangen mich mit der Thematik zu beschäftigen und bin für meine Erwartungen…
Hallo, ich habe ihre Anleitung befolgt und bekomme im letzten Schritt leider immer folgende Meldung im Terminal: bash <(wget -qO-…