
LLM Fine-Tuning für Einsteiger 2026 – LoRA & QLoRA
LLM Fine-Tuning für Einsteiger 2026: LoRA & QLoRA Schritt für Schritt erklärt – Hardware, Kosten, Code-Beispiele und fertige Trainings-Setups.
Bildgenerierung ist 2026 kein Spielzeug mehr, sondern fester Bestandteil von Produkt-Pipelines: Marketing-Teams rendern Varianten, Spiele-Studios erzeugen Concept Art, Shops generieren Produktfotos. Wer dafür auf fertige Web-Dienste setzt, zahlt pro Credit, stößt auf Rate Limits und gibt jeden Prompt aus der Hand. Ein eigener GPU-Server beendet dieses Abhängigkeitsverhältnis.
Der wirtschaftliche Hebel ist erheblich. Ein kommerzieller Bildgenerator kostet häufig 0,02 bis 0,08 US-Dollar pro Bild. Bei 5.000 Bildern im Monat sind das 100 bis 400 Dollar – für eine Leistung, die auf eigener Hardware marginale Stromkosten verursacht. Ab wenigen hundert Bildern pro Tag amortisiert sich dedizierte Hardware fast immer.
Hinzu kommt die technische Kontrolle: eigene LoRAs, ControlNet-Stacks, eigene Checkpoints, eigene Upscaler und ein lokaler API-Endpunkt, den du direkt in deine Anwendung einbinden kannst. Keine Modell-Zensur, keine Wasserzeichen, keine ToS-Änderungen von heute auf morgen.
Dieser Guide führt dich von der GPU-Auswahl über Treiber- und CUDA-Setup bis zu ComfyUI im Docker-Container, API-Betrieb, Monitoring und Kostenoptimierung. Alle Befehle beziehen sich auf Ubuntu 24.04 LTS und NVIDIA-Treiber 570.
Der limitierende Faktor ist und bleibt der VRAM. Die Rechenleistung bestimmt, wie schnell ein Bild fertig ist – der VRAM bestimmt, ob es überhaupt fertig wird. Läuft ein Modell nicht vollständig in den Speicher, weicht PyTorch auf Shared Memory aus und die Inferenz wird zehn- bis zwanzigmal langsamer.
| Komponente | Minimum | Empfohlen | High-End |
|---|---|---|---|
| GPU-VRAM | 8 GB | 16–24 GB | 48 GB+ |
| System-RAM | 16 GB | 32–64 GB | 128 GB |
| CPU | 4 Kerne | 8–12 Kerne | 16+ Kerne |
| Storage | 100 GB SATA-SSD | 1 TB NVMe | 4 TB NVMe RAID |
| Netzwerk | 100 Mbit/s | 1 Gbit/s | 10 Gbit/s |
Zur Orientierung bei den Modellgrößen: SDXL benötigt rund 6,9 GB im FP16-Checkpoint, SD 3.5 Large etwa 16 GB, Flux.1 dev rund 23,8 GB. In FP8-Quantisierung schrumpft Flux.1 dev auf etwa 12 GB – damit läuft es bereits auf einer 16-GB-Karte.
Für SDXL in 1024×1024 mit ControlNet und zwei aktiven LoRAs solltest du 16 GB VRAM einplanen, komfortabel sind 24 GB. Wer Flux.1 dev oder SD 3.5 Large in voller Präzision fahren will, braucht 24 GB als Untergrenze und ist mit 48 GB deutlich entspannter.
Der Markt teilt sich in Consumer-Karten mit hohem Preis-Leistungs-Verhältnis und Datacenter-Karten mit ECC-Speicher, Blower-Kühlung und 24/7-Freigabe. Für den Einstieg sind Consumer-Karten klar überlegen.
| GPU | VRAM | Preis (ca.) | Einsatz |
|---|---|---|---|
| RTX 5080 | 16 GB GDDR7 | 1.100–1.300 € | SDXL, Flux FP8 |
| RTX 4090 | 24 GB GDDR6X | 1.800–2.200 € | Allrounder |
| RTX 5090 | 32 GB GDDR7 | 2.300–2.800 € | Flux FP16, Video |
| RTX 6000 Ada | 48 GB | 7.000–8.000 € | Multi-Modell parallel |
| L40S | 48 GB | 8.000–9.500 € | Rack-Einbau, 24/7 |
| A100 | 80 GB | 14.000–18.000 € | Training, LoRA-Finetuning |
| H100 | 80 GB HBM3 | 25.000–30.000 € | Enterprise, NVLink |
Für 90 Prozent aller Selfhosting-Szenarien ist eine RTX 5090 mit 32 GB die vernünftigste Wahl: Sie stemmt Flux.1 dev in FP16, vier parallele ComfyUI-Workflows und kleinere LoRA-Trainings. Die RTX 4090 bleibt als Gebrauchtkarte der Preis-Leistungs-Sieger.
Consumer-Karten unterstützen kein NVLink mehr. Multi-GPU bedeutet deshalb, dass jede Karte eigene Workflows abarbeitet – nicht, dass ein Modell über zwei Karten verteilt wird. Für Modell-Parallelität brauchst du Datacenter-Hardware mit NVLink oder PCIe-Bridges.
Drei Betriebsmodelle stehen zur Wahl, und die Rechnung fällt je nach Auslastung völlig unterschiedlich aus. Ein Eigenbau-System mit RTX 5090 kostet komplett etwa 3.500 bis 4.000 Euro. Dazu kommen bei 600 Watt Systemlast im Dauerbetrieb rund 5.256 kWh pro Jahr – bei 0,30 €/kWh sind das etwa 1.577 Euro Stromkosten.
Gemietete Dedicated-GPU-Server starten bei rund 180 bis 250 Euro monatlich für Karten der 20-GB-Klasse (etwa Hetzner GEX44 mit RTX 4000 SFF Ada). Cloud-GPU-Instanzen liegen bei RunPod für eine RTX 4090 bei etwa 0,34 bis 0,44 USD pro Stunde, eine A100 80 GB kostet 1,19 bis 1,89 USD/h, eine H100 rund 2,49 bis 3,29 USD/h.
| Modell | Kosten/Monat | Break-even |
|---|---|---|
| Eigenbau RTX 5090 | ~130 € Strom + 4.000 € Invest | 14–18 Monate |
| Dedicated Server 20 GB | 180–250 € | sofort, kein Capex |
| Cloud RTX 4090 (24/7) | 250–320 USD | sofort, flexibel |
| Cloud H100 (24/7) | 1.800–2.400 USD | nur bei Spitzenlast |
Die Faustregel: Bei dauerhafter Volllast gewinnt der Eigenbau nach etwa anderthalb Jahren. Bei schwankender Last oder kurzen Projekten ist die Cloud günstiger, weil du nur die tatsächliche Nutzungsdauer zahlst. Dedicated Server sind der Kompromiss für alle, die keinen Capex wollen, aber planbare Kosten brauchen.
Ubuntu 24.04 LTS mit Kernel 6.8 oder neuer ist 2026 die sicherste Basis. Für Produktionssysteme nimmst du den Server-Treiberzweig, der auf Stabilität statt auf Gaming-Features optimiert ist.
sudo apt update && sudo apt install -y build-essential dkms linux-headers-$(uname -r)
sudo apt install -y nvidia-driver-570-server-open
sudo reboot
nvidia-smi
Die Ausgabe von nvidia-smi muss Treiberversion 570.x und CUDA-Version 12.8 anzeigen. Bei Secure Boot musst du den DKMS-Schlüssel im MOK-Manager enrollen, sonst lädt das Kernelmodul nicht.
Zwei Feinheiten sparen später Nerven: Aktiviere den Persistence Mode, damit die GPU nicht zwischen Jobs in den Idle-Zustand fällt, und setze ein Power Limit. Eine RTX 5090 mit nvidia-smi -pl 400 verliert etwa 5 Prozent Leistung, spart aber rund 30 Prozent Strom.
sudo nvidia-smi -pm 1
sudo nvidia-smi -pl 400
Bei der Wahl der Oberfläche hat sich ComfyUI für Server-Deployments durchgesetzt. Der node-basierte Aufbau ist sperriger als Automatic1111, dafür ist die Pipeline vollständig als JSON serialisierbar – ideal für API-Betrieb und Versionierung. SD.Next und Forge sind gute Alternativen, wenn du eine klassischere UI brauchst.
sudo apt install -y python3.12-venv git
git clone https://github.com/comfyanonymous/ComfyUI.git /opt/comfyui
cd /opt/comfyui
python3 -m venv venv && source venv/bin/activate
pip install --upgrade pip
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
Für den Dauerbetrieb legst du einen systemd-Service an, der ComfyUI mit --listen 0.0.0.0 --port 8188 startet. Achte darauf, dass der Dienst nach einem Absturz automatisch neu startet (Restart=always) und dass die Logs via journald rotieren.
Modelle gehören nicht ins Git-Verzeichnis. Setze stattdessen einen eigenen Pfad über extra_model_paths.yaml und lege Checkpoints, LoRAs, VAE und ControlNet auf ein separates Volume – das erleichtert Backups und Containerisierung erheblich.
Docker macht dein Setup reproduzierbar und trennt Laufzeitumgebung von Modellen. Voraussetzung ist das NVIDIA Container Toolkit, das die GPU in Container durchreicht.
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Ein minimales docker-compose.yml für ComfyUI sieht so aus:
services:
comfyui:
image: comfyui/comfyui:latest-cuda
runtime: nvidia
ports: ["127.0.0.1:8188:8188"]
volumes:
- /srv/models:/opt/comfyui/models
- /srv/output:/opt/comfyui/output
environment:
- NVIDIA_VISIBLE_DEVICES=0
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
restart: unless-stopped
Beachte, dass der Port nur auf 127.0.0.1 gebunden ist. ComfyUI hat keine eingebaute Authentifizierung – ein offener Port 8188 im Internet ist eine Einladung. Der Zugriff läuft später über einen Reverse Proxy mit Auth.
Der Speicherbedarf wächst schneller, als man denkt. Ein SDXL-Checkpoint belegt 6,9 GB, Flux.1 dev 23,8 GB, ein LoRA zwischen 50 und 400 MB. Mit 50 Modellen und 100 LoRAs landest du schnell bei 400 bis 600 GB.
pip install -U "huggingface_hub[cli]"
hf auth login
hf download black-forest-labs/FLUX.1-dev \
--local-dir /srv/models/checkpoints/flux1-dev
Für größere Setups empfiehlt sich ein zentrales Modell-Volume, das per NFS oder SMB auf mehrere GPU-Worker gemountet wird. So liegen die Gewichte einmal auf NVMe und alle Instanzen greifen darauf zu. Alternativ betreibst du MinIO als S3-kompatiblen Objektspeicher und lädst Modelle beim Container-Start herunter.
Versioniere Modelle mit Hash-Prüfsummen. Wenn ein Workflow plötzlich andere Ergebnisse liefert, willst du wissen, ob ein Checkpoint ausgetauscht wurde – nicht raten.
Die Standardinstallation lässt erheblich Leistung liegen. Die wichtigsten Hebel sind Attention-Backends, Kompilierung und Quantisierung.
Realistische Benchmark-Werte für SDXL bei 1024×1024 und 30 Steps: eine RTX 4090 liefert mit Standard-PyTorch etwa 4,5 Sekunden pro Bild, mit SageAttention und torch.compile rund 2,8 Sekunden, mit TensorRT etwa 2,2 Sekunden. Eine RTX 5090 liegt jeweils etwa 25 bis 35 Prozent darunter.
Für Flux.1 dev bei 1024×1024 und 20 Steps braucht eine RTX 4090 in FP8 etwa 12 Sekunden, eine RTX 5090 rund 8 Sekunden. In FP16 verdoppelt sich der VRAM-Bedarf, die Zeit sinkt nur um etwa 10 Prozent – FP8 ist hier fast immer die bessere Wahl.
Bei VRAM-Knappheit helfen --lowvram und VAE-Tiling. Beides kostet Geschwindigkeit, verhindert aber den Absturz mitten im Batch.
ComfyUI bringt eine HTTP-API mit. Du exportierst deinen Workflow als API-JSON und schickst ihn per POST an /prompt. Den Fortschritt verfolgst du über den WebSocket-Endpunkt /ws.
curl -X POST http://127.0.0.1:8188/prompt \
-H "Content-Type: application/json" \
-d '{"prompt": { ... }, "client_id": "worker-01"}'
Für Produktionsbetrieb kapselst du das in einen FastAPI-Wrapper, der eine Job-Queue verwaltet, Ergebnisse in MinIO ablegt und einen sauberen REST-Endpunkt anbietet. So bleibt deine Anwendung unabhängig von ComfyUI-Interna.
Davor setzt du nginx als Reverse Proxy mit TLS, Bearer-Token-Authentifizierung und Rate Limiting. Ein Cloudflare Tunnel ist die schnellste Variante, wenn du keine öffentliche IP exponieren willst.
location /api/ {
proxy_pass http://127.0.0.1:8188/;
proxy_set_header Authorization $http_authorization;
proxy_read_timeout 300s;
}
Für GPU-Metriken nutzt du den DCGM-Exporter, für Systemmetriken den Node-Exporter, beides eingesammelt von Prometheus und visualisiert in Grafana. Die wichtigsten Alarme: GPU-Auslastung unter 10 Prozent über 30 Minuten (Job hängt), VRAM über 95 Prozent (OOM-Gefahr), Temperatur über 85 Grad.
nvidia-smi dmon -s pucvmet -d 5
Sicherheit ist bei KI-Servern oft der blinde Fleck. Mindestmaßnahmen: SSH nur mit Key und ohne Root-Login, UFW mit Default-Deny, fail2ban auf Port 22, kein direkter Zugriff auf ComfyUI oder Jupyter. Wenn du mehrere Nutzer hast, trenne sie über Container mit eigenen Volumes.
Updates fährst du kontrolliert: Treiber und CUDA nur nach vorherigem Snapshot, Modellversionen gepinnt, Container-Images mit festen Tags statt latest. Ein ungeplantes PyTorch-Update kann dir sonst die komplette Pipeline zerlegen.
Ab etwa 500 Bildern pro Tag lohnt sich der eigene Server fast immer. Skalierung funktioniert am einfachsten horizontal: mehrere GPU-Worker, ein gemeinsamer Queue-Service, ein zentrales Modell-Volume. Jeder Worker zieht Jobs, rendert und schreibt das Ergebnis in den Objektspeicher.
Für Lastspitzen kombinierst du eigenen Server mit Cloud-Bursting. Ein Autoscaler startet bei Queue-Länge über 50 zusätzliche Spot-Instanzen und beendet sie, wenn die Warteschlange leer ist. Spot-Preise liegen 50 bis 70 Prozent unter On-Demand, das Risiko ist bei zustandslosen Workern überschaubar.
Weitere Sparhebel: Batch-Generierung statt Einzelanfragen (gleicher Prompt mit variierenden Seeds in einem Lauf), niedrigere Steps mit anschließendem Upscaler, und ein Warm-Model-Cache, der die am häufigsten genutzten Checkpoints im VRAM hält statt sie bei jedem Job neu zu laden.
Für SDXL in 1024×1024 reichen 8 GB, komfortabel sind 16 GB. Mit ControlNet und mehreren LoRAs solltest du 24 GB einplanen. Flux.1 dev läuft in FP8 ab 12 GB, in FP16 ab 24 GB. Für parallele Workflows oder LoRA-Training sind 48 GB die realistische Untergrenze.
Bei dauerhafter Auslastung amortisiert sich ein Eigenbau mit RTX 5090 nach etwa 14 bis 18 Monaten. Bei schwankender Last oder Projektarbeit ist die Cloud günstiger, weil du nur die tatsächliche Laufzeit zahlst. Dedicated-GPU-Server ab etwa 180 Euro monatlich sind der Mittelweg ohne Investitionskosten.
Ubuntu 24.04 LTS mit Kernel 6.8+ und NVIDIA-Treiber 570 ist 2026 die beste Wahl. Debian 12 funktioniert ebenfalls, hat aber ältere Pakete. Von Windows Server raten wir für Produktionsbetrieb ab – Treiber- und Container-Support sind schlechter, und der Overhead ist messbar höher.
ComfyUI hat keine eingebaute Authentifizierung. Binde den Port niemals direkt auf 0.0.0.0, sondern nur auf 127.0.0.1 und setze nginx mit TLS und Bearer-Token davor. Ergänzend: UFW mit Default-Deny, SSH nur per Key, fail2ban und ein Cloudflare Tunnel, wenn du keine öffentliche IP exponieren willst.
Die RTX 5090 mit 32 GB GDDR7 für etwa 2.300 bis 2.800 Euro ist der beste Allrounder – sie stemmt Flux.1 dev in FP16 und mehrere parallele Workflows. Wer sparen will, findet die RTX 4090 mit 24 GB gebraucht ab etwa 1.800 Euro und damit das beste Verhältnis aus Leistung und Preis.