KI-Cluster für lokale KI
Was dieser Artikel über KI-Cluster behandelt
- Wann ein Cluster für KI sinnvoll ist.
- Unterschied zwischen Single-Node und Multi-Node-Inferenz.
- Netzwerk-, Speicher- und Compute-Anforderungen.
- Tools wie vLLM, Ray, llama.cpp-RPC und RunPod-ähnliche Lösungen.
- Tipps für den Aufbau im Homelab.
Einleitung: KI-Cluster für lokale KI
Ein einzelner leistungsstarker PC reicht für viele lokale KI-Anwendungen aus. Wer jedoch grössere Modelle, höhere Verfügbarkeit oder verteilte Inferenz benötigt, kommt irgendwann an den Punkt, mehrere Rechner zu einem Cluster zusammenzuschliessen. Ein KI-Cluster kann Lasten aufteilen, Modelle über mehrere GPUs verteilen oder einfach mehrere kleinere GPUs gemeinsam nutzen.
Dieser Artikel gibt eine Übersicht über KI-Cluster im Homelab und zeigt, worauf beim Aufbau geachtet werden muss.
Wichtige Begriffe
- Cluster: Mehrere Rechner, die zusammenarbeiten.
- Node: Einzelner Rechner im Cluster.
- Single-Node-Inferenz: Modell läuft auf einem Rechner.
- Multi-Node-Inferenz: Modell wird auf mehrere Rechner verteilt.
- Tensor Parallelism: Aufteilung eines Modells über mehrere GPUs.
- Pipeline Parallelism: Aufteilung nach Schichten.
- RPC: Remote Procedure Call, Fernaufruf von Funktionen.
- Load Balancing: Verteilung von Anfragen auf mehrere Nodes.
Wann lohnt sich ein KI-Cluster?
- Ein einzelnes System kann das gewünschte Modell nicht halten.
- Mehrere kleine GPUs sollen zusammengeschaltet werden.
- Hochverfügbarkeit ist gefragt.
- Verschiedene Workloads sollen getrennt laufen.
- Experimente mit verteiltem Training oder Inferenz geplant sind.
- Mehrere Personen sollen gleichzeitig Modelle nutzen.
Hardware-Grundlagen
Rechner pro Node
Jede Node braucht:
- CPU mit AVX2.
- Genug RAM, mindestens so viel wie GPU-VRAM.
- Schnelle Netzwerkanbindung, idealerweise 10 Gbit/s oder mehr.
- GPU mit genug VRAM.
- PCIe-Lanes für GPU und NVMe.
Netzwerk
- 1 Gbit/s reicht für kleine Cluster.
- 10 Gbit/s oder mehr empfohlen für grössere Modelle.
- Latenz ist wichtiger als reine Bandbreite.
- Switch mit genug Ports und Jumbo-Frames optional.
Speicher
- Gemeinsamer Storage erleichtert Modell-Verteilung.
- NFS, Ceph, GlusterFS oder einfach rsync möglich.
- SSDs empfohlen, NVMe für grosse Modelle.
Arten von Clustern
Inferenz-Cluster
Mehrere Nodes bedienen Anfragen. Lastverteilung über Reverse Proxy oder API-Gateway. Jedes Modell kann auf einer eigenen Node laufen.
Modell-Verteilungs-Cluster
Ein grosses Modell wird über mehrere GPUs oder Nodes aufgeteilt. Beispiele:
- Tensor Parallelism: Gewichte werden aufgeteilt.
- Pipeline Parallelism: Modellschichten werden verteilt.
Dafür braucht es spezialisierte Software wie vLLM, TensorRT-LLM oder Ray Serve.
Mixed-Cluster
Manche Nodes übernehmen Inferenz, andere Datenbanken, RAG oder Monitoring. Diese Trennung erhöht Stabilität und Skalierbarkeit.
Tools für KI-Cluster
| Tool | Zweck |
|---|---|
| vLLM | Hochperformante Inferenz mit Multi-GPU-Support. |
| Ray | Verteilte Python-Anwendungen und Serving. |
| llama.cpp RPC | Verteilte Inferenz über das Netzwerk. |
| TGI | Hugging Face Text Generation Inference. |
| Ollama | Einfache lokale Inferenz, primär Single-Node. |
| Kubernetes | Orchestrierung von Container-Workloads. |
| Docker Swarm | Einfachere Container-Orchestrierung. |
llama.cpp RPC
llama.cpp unterstützt RPC, um GPUs in anderen Rechnern zu nutzen:
./rpc-server -p 50052 -m cuda
Auf dem Hauptrechner:
./main -m modell.gguf --rpc 192.168.1.20:50052
So kann die Berechnung auf mehrere Maschinen verteilt werden. Latenz und Bandbreite spielen eine grosse Rolle.
vLLM für Multi-GPU
vLLM kann Modelle über mehrere GPUs in einem Rechner oder über mehrere Nodes verteilen:
python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Llama-3.1-70B \
--tensor-parallel-size 2 \
--pipeline-parallel-size 2
Hier teilen sich zwei GPUs die Gewichte, und zwei weitere Nodes führen Teile des Pipelines aus.
Netzwerktopologien
- Star: Zentrale Node koordiniert alles, einfach, aber SPOF.
- Mesh: Jede Node kommuniziert mit jeder anderen, robust.
- Ring: Daten fliessen durch einen Ring, gut für bestimmte Parallelisierungsstrategien.
Für Homelabs ist meist ein Star- oder Mesh-Setup einfach genug.
Betriebssystem und Orchestrierung
- Proxmox VE: Einfache Virtualisierung und Container auf mehreren Nodes.
- Kubernetes: Mächtig, aber komplex.
- Docker Swarm: Einfacher Einstieg in die Cluster-Orchestrierung.
- Plain Linux mit SSH: Minimaler Aufwand, aber viel Handarbeit.
Strom, Kühlung und Platz
- Mehrere Rechner brauchen viel Strom.
- Kühlung und Raumtemperatur steigen.
- Mehrere Netzteile und UPS sinnvoll.
- Kabelmanagement und Staub vermeiden.
Kosten
Ein Cluster aus gebrauchten Servern oder Workstations kann kostengünstig sein. Neue Hardware mit aktuellen GPUs ist teuer. Häufig lohnt sich ein Mix aus einem Hauptrechner und günstigen Nodes für spezielle Aufgaben.
Typische Stolpersteine
- Zu langsame Netzwerkverbindung: Inferenz wird zur Wartezeit.
- Unterschiedliche GPUs: Lastverteilung schwierig.
- Fehlende gemeinsame Speicherlösung: Modelle müssen mehrfach kopiert werden.
- Zu wenig RAM: Jede Node muss das Modell oder Teile halten können.
- Komplexe Software-Stack: Debugging wird aufwendig.
- Stromversorgung unzureichend: Mehrere GPUs ziehen viel Strom.
- Kühlung unterschätzt: Serverräume werden sehr heiss.
Weiterführende Links und Infos
- BotServ.de KI-Workstation kaufen
- BotServ.de GPU für lokale KI kaufen
- BotServ.de Netzwerk für lokale KI
- BotServ.de Proxmox Netzwerk
- BotServ.de Docker Swarm
- BotServ.de Ollama Performance
FAQ: KI-Cluster
Braucht ein Homelab unbedingt einen Cluster? Nein, für die meisten Anwendungen reicht ein starker PC.
Kann ich Ollama im Cluster betreiben? Ollama ist primär Single-Node. Für verteilte Inferenz braucht es andere Tools wie vLLM oder llama.cpp RPC.
Ist 1 Gbit/s Netzwerk ausreichend? Für kleine Modelle ja, für grosse verteilte Modelle eher nicht.
Kann ich unterschiedliche GPUs kombinieren? Möglich, aber nicht immer einfach. Homogene GPUs sind deutlich besser zu handhaben.
Lohnt sich gebrauchte Server-Hardware? Oft ja, besonders für CPU-Workloads und viel RAM.
Quellen und weiterführende Literatur
- vLLM: https://github.com/vllm-project/vllm
- Ray: https://www.ray.io/
- llama.cpp RPC: https://github.com/ggerganov/llama.cpp/blob/master/examples/rpc/README.md
- Kubernetes: https://kubernetes.io/
Zusammenfassung: KI-Cluster für lokale KI
Ein KI-Cluster ermöglicht grössere Modelle, höhere Verfügbarkeit und getrennte Workloads. Für Homelabs ist er nicht immer nötig, aber eine logische Erweiterung, wenn ein einzelner Rechner an seine Grenzen stösst. Wichtig sind schnelles Netzwerk, genug RAM, gemeinsamer Speicher und passende Software wie vLLM, Ray oder llama.cpp RPC. Wer Strom, Kühlung und Latenz im Blick behält, kann auch im kleinen Rahmen ein leistungsfähiges, verteiltes KI-System aufbauen.


