Lokales KI-Homelab-System
Projektübersicht
Dieses Projekt ist ein persönliches Homelab, mit dem ich handelsübliche Consumer-Hardware in eine sichere, verwaltbare und nachhaltig betreibbare lokale KI-Infrastruktur umgewandelt habe.
Mein Ziel bestand nicht nur darin, einige KI-Modelle auszuführen. Ich wollte Geräte mit unterschiedlichen Betriebssystemen in einer gemeinsamen Architektur verwalten, GPU-basierte Workloads testen, einen sicheren Fernzugriff ermöglichen und das gesamte System nachvollziehbar, rücksetzbar und langfristig wartbar aufbauen.
Systemarchitektur
Das System besteht aus mehreren Geräten mit klar definierten Rollen:
- MacBook: Zentrales Verwaltungs- und Entwicklungsgerät
- Raspberry Pi 400: Zentrale Steuerungs- und Koordinationsinstanz
- PC1: Sekundärer GPU-Worker und Testsystem
- PC2: Primärer lokaler KI- und GPU-Worker
- Ubuntu-Laptop: Leichtgewichtiger Hilfsknoten
Die sichere Verbindung zwischen den Geräten erfolgt über Tailscale. Am Router werden keine Ports freigegeben; SSH-, RDP- und Webdienste sind nicht direkt aus dem öffentlichen Internet erreichbar.
Mit den von mir entwickelten Befehlen lab und homelab lassen sich Gerätestatus, aktives Betriebssystem, GPU, Docker-Dienste, Netzwerkdienste und Energieverwaltung zentral kontrollieren.
MacBook → Tailscale → Raspberry Pi 400 → PC1 / PC2 / Laptop
Primärer KI-Worker: PC2
Die zentrale lokale KI-Umgebung läuft auf PC2.
Hardware
- Intel Core i5-10600K
- NVIDIA GeForce RTX 3080 mit 10 GB VRAM
- 16 GB RAM
- 1 TB SSD für Ubuntu
- 500 GB NVMe-Laufwerk für Windows
- ASUS PRIME B460-PLUS Mainboard
PC2 läuft mit Ubuntu 24.04 und verwendet Docker, das NVIDIA Container Toolkit und Ollama. Für einen stabilen und nachhaltigen Dauerbetrieb wird die GPU softwareseitig auf 240 W begrenzt. Zusätzlich habe ich Dienste für Lüftersteuerung, Temperaturüberwachung und regelmäßige Telemetrie entwickelt.
Die Dienste laufen nicht dauerhaft. Nicht benötigte KI-Container werden gestoppt, und unnötige Netzwerkports bleiben geschlossen.
Eingesetzte Technologien
Zu den wichtigsten eingesetzten Technologien gehören:
- Linux und macOS
- Docker und Docker Compose
- NVIDIA Container Toolkit
- Ollama und Open WebUI
- Tailscale, SSH und RDP
- Bash und Python
- Git und GitHub
- systemd-Services und -Timer
- Beszel und eigene Telemetrie-Skripte
Evaluation lokaler Modelle
Auf PC2 wurden etwa 30 lokale Modelle für unterschiedliche Einsatzbereiche heruntergeladen und getestet. Dazu gehörten Modelle aus den Familien Gemma, Qwen, DeepSeek, Granite, Llama, Mistral, Phi und DeepCoder sowie Embedding- und Vision-Modelle.
Die Modelle wurden nicht nur anhand ihrer Geschwindigkeit bewertet. Dafür entwickelte ich ein eigenes Python-basiertes Evaluationssystem, das unter anderem folgende Bereiche vergleicht:
- Codegenerierung und Codekorrektur
- JSON und strukturierte Ausgaben
- RAG und quellenbasierte Antworten
- Sprach- und Reasoning-Aufgaben
- Agentenplanung
- Einhaltung von Sicherheitsrichtlinien
- Konsistenz der Antworten
- Latenz und Ressourcenverbrauch
Eine Evaluationskampagne mit 12 Modellen und 40 Aufgaben erzeugte insgesamt 480 Modellausgaben.
Die ersten Ergebnisse zeigten, dass Granite-Modelle bei allgemeiner Stabilität und JSON-Ausgaben besonders gut abschnitten, während Qwen-Coder-Modelle bei Programmieraufgaben überzeugten. Statt ein einzelnes Modell als „bestes Modell“ festzulegen, zeigte sich, dass unterschiedliche Modelle für unterschiedliche Aufgaben geeignet sind.
Systemprobleme und Vorgehensweise bei der Fehleranalyse
Im Projekt ging es nicht nur um KI-Modelle, sondern auch um reale Infrastruktur- und Hardwareprobleme.
Bei PC2 trat beispielsweise selten ein physisches Ausschaltproblem auf. Zur Untersuchung entwickelte ich Werkzeuge zur Protokollierung und Beweissicherung auf den Ebenen systemd, ACPI, PCIe, GPU, Netzwerkadapter und Wake-on-LAN.
Probleme wurden nicht durch zufällige Konfigurationsänderungen bearbeitet. Stattdessen kamen kontrollierte Tests, Experimente mit jeweils nur einer veränderten Variable, Log-Analysen und rücksetzbare Änderungen zum Einsatz.
Das zentrale Arbeitsprinzip des Projekts lautet:
Zuerst beobachten, eine kleine Änderung durchführen, das Ergebnis überprüfen und anschließend dokumentieren.
Ergebnis
Durch dieses Projekt habe ich nicht nur praktische Erfahrung mit lokalen KI-Modellen gesammelt, sondern auch mit dem Entwurf und Betrieb eines vollständigen technischen Systems.
Das Projekt verbindet Kenntnisse in folgenden Bereichen:
- Linux-Systemadministration
- GPU- und Hardwareoptimierung
- Docker-basierte Service-Architektur
- Sichere Netzwerke und Fernzugriff
- Automatisierung mit Python und Bash
- Evaluation von KI-Modellen
- Monitoring und Telemetrie
- Incident Debugging
- Git-basierte Dokumentation und Änderungsverwaltung
Das System lässt sich inzwischen sicher aus der Ferne verwalten. PC1 und PC2 können als GPU-Worker eingesetzt werden. Auf PC2 stehen ein lokaler Modell-Cache, Evaluationswerkzeuge, Telemetrie, Lüftersteuerung und GPU-Leistungsschutz zur Verfügung.
Die nächsten Ziele sind eine verbesserte aufgabenbasierte Modellauswahl, der Aufbau eines RAG-basierten persönlichen Wissenssystems und die Entwicklung sicherer lokaler Agenten, die zunächst ausschließlich mit Lese- und Empfehlungskompetenzen arbeiten.
Projekttyp: Persönliches Homelab / Lokale KI-Infrastruktur
Schwerpunkte: Linux, Docker, NVIDIA GPU, lokale LLMs, Automatisierung, Monitoring, sicherer Fernzugriff