Dieses Repository enthält Scripts und Konfigurationsdateien, um Ollama mit GPU-Unterstützung auf der ICC der HAW Hamburg zu deployen. Zusätzlich wird ein Ollama WebUI als Benutzeroberfläche bereitgestellt sowie Funktionen zur Anpassung der Modelle an spezifische Anwendungsfälle.
- Voraussetzungen
- ICC-Zugang einrichten
- Schnellstart
- Detaillierte Anleitung
- GPU-Ressourcen skalieren
- GPU-Testen und Überwachen
- Architektur
- Troubleshooting
- Wartung
- Lizenz
- HAW Hamburg infw-Account mit Zugang zur ICC
- kubectl installiert
- (Optional) Terraform installiert (Nur für das lokale WebUI-Deployment)
- Eine aktive VPN-Verbindung zum HAW-Netz (wenn außerhalb des HAW-Netzes)
- (Optional) Make installiert für vereinfachte Befehle
- (Optional) IntelliJ IDEA für die erweiterte IDE-Integration
Bevor Sie beginnen können, müssen Sie sich bei der ICC anmelden und Ihre Kubeconfig-Datei einrichten. Dazu stellen wir ein Hilfsskript bereit:
# Öffnet den Browser mit der ICC-Login-Seite und führt Sie durch die Einrichtung
./scripts/icc-login.sh
Dieses Skript führt Sie durch den gesamten Prozess:
- Öffnet die ICC-Login-Seite in Ihrem Standard-Browser
- Führt Sie durch den Anmeldeprozess mit Ihrer infw-Kennung
- Hilft beim Speichern und Einrichten der heruntergeladenen Kubeconfig-Datei
- Testet die Verbindung und zeigt Ihre Namespace-Informationen an
Alternativ können Sie die manuelle Einrichtung durchführen.
# Repository klonen
git clone <repository-url>
cd icc-ollama-deployment
# ICC-Zugang einrichten (falls noch nicht geschehen)
./scripts/icc-login.sh
# Konfiguration anpassen
cp configs/config.example.sh configs/config.sh
vim configs/config.sh # Passen Sie Ihre Namespace-Informationen an
# Ausführungsberechtigungen für Skripte setzen
./scripts/set-permissions.sh
# Deployment ausführen
./deploy.sh
Oder mit Make:
make deploy
Eine ausführliche Schritt-für-Schritt-Anleitung finden Sie in der DOCUMENTATION.md Datei.
Um die Performance zu optimieren oder größere Modelle zu unterstützen, können Sie die Anzahl der GPUs dynamisch anpassen:
# Skalieren auf 2 GPUs für verbesserte Performance
./scripts/scale-gpu.sh --count 2
# Reduzieren auf 1 GPU, wenn nicht alle Ressourcen benötigt werden
./scripts/scale-gpu.sh --count 1
Weitere Details zur GPU-Skalierung finden Sie in der ausführlichen Dokumentation.
Das Projekt enthält verschiedene Skripte zum Testen, Überwachen und Benchmarken der GPU-Funktionalität:
Überprüfen Sie, ob die GPU korrekt eingerichtet ist und von Ollama genutzt wird:
./scripts/test-gpu.sh
# oder
make gpu-test
Überwachen Sie die GPU-Auslastung in Echtzeit:
./scripts/monitor-gpu.sh
# oder
make gpu-monitor
Mit Optionen für kontinuierliche Überwachung:
# 10 Messungen im 5-Sekunden-Intervall
./scripts/monitor-gpu.sh -i 5
Führen Sie Leistungstests für ein spezifisches Modell durch:
./scripts/benchmark-gpu.sh llama3:8b
# oder
make gpu-bench MODEL=llama3:8b
Überprüfen Sie die vollständige GPU-Konfiguration und -Kompatibilität:
./scripts/check-gpu-compatibility.sh
# oder
make gpu-compat
Einen Überblick über die Systemarchitektur und die Komponenten des Projekts finden Sie in der ARCHITECTURE.md Datei.
Bei Problemen mit der GPU-Funktionalität oder Modellanpassung können folgende Schritte helfen:
- Überprüfen Sie die GPU-Kompatibilität:
make gpu-compat
- Testen Sie die GPU-Funktionalität:
make gpu-test
- Überprüfen Sie die Deployment-Konfiguration:
kubectl -n $NAMESPACE get deployment $OLLAMA_DEPLOYMENT_NAME -o yaml
- Prüfen Sie die Logs des Ollama-Pods:
make logs
- Öffnen Sie eine Shell im Pod:
make shell
Weitere Informationen zur Fehlerbehebung finden Sie in der DOCUMENTATION.md.
Die Funktionen für GPU-Tests, Monitoring und Modellanpassung ermöglichen ein kontinuierliches Management Ihrer Ollama-Instanz, um sicherzustellen, dass sie optimal mit den verfügbaren Ressourcen arbeitet und an Ihre spezifischen Anforderungen angepasst ist.