GCP LoRA Training Automation 🚀
Vollautomatisches SDXL LoRA-Training auf Google Cloud Platform mit GPU-Unterstützung.
🎯 Features
- Automatische VM-Provisionierung mit 80GB A100 GPU (oder Alternativen)
- Intelligente Bildvorverarbeitung mit Auto-Captioning (BLIP) und Tagging
- Optimiertes SDXL LoRA Training mit Kohya-ss Scripts
- GPU-effiziente Nutzung - nur aktiv bei Bedarf
- MCP-Server kompatibel - direkte Steuerung über Claude
- Individualisierbare Keywords für personalisierte Modelle
📋 Voraussetzungen
Lokal
- Python 3.8+
- Google Cloud SDK (
gcloud) - Google Cloud Projekt mit aktivierter Compute Engine API
- GPU-Quota in GCP (NVIDIA_A100_GPUS oder T4/L4)
GCP-Setup
# gcloud installieren
curl https://sdk.cloud.google.com | bash
# Authentifizieren
gcloud auth login
# Projekt erstellen/setzen
gcloud config set project lora567🚀 Schnellstart
1. Repository klonen
git clone https://github.com/robinzi2001-cell/gcp-lora-training-automation.git
cd gcp-lora-training-automation2. Dependencies installieren
pip install -r requirements.txt3. Workflow
Schritt 1: VM bereitstellen
python 1_provision_vm.pyDies erstellt:
- VM mit A100 GPU (oder Alternative)
- NVIDIA-Treiber + CUDA Toolkit
- Docker + NVIDIA Container Toolkit
- Python-Umgebung mit allen Dependencies
Kosten-Hinweis: A100-VMs kosten ca. $3-4/Stunde!
Schritt 2: Bilder vorbereiten
# Lege deine Rohbilder in ./raw_data/
mkdir raw_data
cp /pfad/zu/deinen/bildern/* raw_data/
# Starte Vorverarbeitung
python 2_preprocess_images.py --keyword ciri567Das Skript:
- Fragt dein individuelles Keyword ab (z.B. "ciri567")
- Benennt Bilder um:
keyword_0001.jpg,keyword_0002.jpg, ... - Generiert automatische Captions mit BLIP
- Analysiert Bildqualität
- Erstellt Metadaten (JSON + TXT)
Output in ./processed_data/:
images/- Verarbeitete Bildertraining_metadata.json- Vollständige Metadatencaptions.txt- Captions für Training*.txt- Individual Captions pro Bild
Schritt 3: Training starten
# Verbinde mit VM
gcloud compute ssh lora-training-vm --zone us-central1-a
# Upload verarbeitete Daten
gcloud compute scp --recurse ./processed_data lora-training-vm:/home/lora_training/ --zone us-central1-a
# Auf VM: Training starten
python 3_train_lora.pyDas Training-Skript:
- Installiert Kohya-ss Training Scripts
- Lädt SDXL Base Model
- Konfiguriert Training mit optimalen Settings
- Startet Training mit TensorBoard-Logging
- Speichert LoRA-Modelle im SafeTensors-Format
⚙️ Konfiguration
Training-Parameter anpassen
Erstelle training_config.json:
{
"training": {
"resolution": 1024,
"batch_size": 1,
"learning_rate": 1e-4,
"max_train_steps": 2000
},
"lora": {
"rank": 32,
"alpha": 32
}
}Dann:
python 3_train_lora.py --config training_config.jsonGPU-Alternativen
Falls A100 nicht verfügbar, bearbeite 1_provision_vm.py:
# Für T4 (16GB) - günstiger
self.machine_type = "n1-standard-8"
self.accelerator = "type=nvidia-tesla-t4,count=1"
# Für L4 (24GB) - balanced
self.machine_type = "g2-standard-8"
self.accelerator = "type=nvidia-l4,count=1"🔧 MCP-Server Integration
Für direkte Steuerung über Claude:
- MCP-Server konfigurieren (auf deinem lokalen System):
{
"mcpServers": {
"gcp-lora": {
"command": "python",
"args": ["mcp_server.py"],
"env": {
"GCP_PROJECT": "lora567",
"GCP_ZONE": "us-central1-a"
}
}
}
}- Verfügbare MCP-Tools:
provision_vm- VM erstellenupload_images- Bilder hochladenstart_training- Training startenget_training_status- Status abfragendownload_lora- Fertiges Modell herunterladenstop_vm- VM stoppen (Kosten sparen!)
📊 Monitoring
TensorBoard (während Training)
# Auf VM
tensorboard --logdir /home/lora_training/logs --bind_all
# Lokal (Port-Forward)
gcloud compute ssh lora-training-vm --zone us-central1-a -- -L 6006:localhost:6006
# Öffne: http://localhost:6006VM-Status
# Status prüfen
gcloud compute instances describe lora-training-vm --zone us-central1-a
# SSH-Zugriff
gcloud compute ssh lora-training-vm --zone us-central1-a💰 Kosten-Management
VM stoppen (wichtig!)
# Stoppen (behält Daten, stoppt Kosten)
gcloud compute instances stop lora-training-vm --zone us-central1-a
# Wieder starten
gcloud compute instances start lora-training-vm --zone us-central1-a
# Komplett löschen
gcloud compute instances delete lora-training-vm --zone us-central1-aKosten-Übersicht
- A100 (40GB): ~$3-4/h
- L4 (24GB): ~$0.70/h
- T4 (16GB): ~$0.35/h
- Disk (200GB): ~$0.04/h
Tipp: Nutze Preemptible VMs für 60-90% Ersparnis:
--preemptible --maintenance-policy=TERMINATE🎨 Output nutzen
Nach Training findest du im /home/lora_training/output/ Verzeichnis:
keyword_lora.safetensors- Finales LoRA-Modellkeyword_lora-000XXX.safetensors- Zwischenschritte
Download
# Einzelne Datei
gcloud compute scp lora-training-vm:/home/lora_training/output/ciri567_lora.safetensors ./ --zone us-central1-a
# Ganzes Verzeichnis
gcloud compute scp --recurse lora-training-vm:/home/lora_training/output ./ --zone us-central1-aVerwendung in ComfyUI/Automatic1111
- Kopiere
.safetensorsnachmodels/lora/ - Im Prompt: `` (0.8 = 80% Stärke)
- Verwende dein Keyword:
ciri567, detailed portrait, ...
🐛 Troubleshooting
GPU nicht erkannt
# Auf VM prüfen
nvidia-smi
# Falls Fehler, Treiber neu installieren
sudo apt-get install --reinstall cuda-driversQuota-Fehler
- Beantrage GPU-Quota: https://console.cloud.google.com/iam-admin/quotas
- Wechsle zu anderer Region (z.B. us-west1-b)
- Nutze kleinere GPU (T4 statt A100)
Out-of-Memory
- Reduziere
batch_sizeauf 1 - Aktiviere
gradient_checkpointing - Nutze
use_8bit_adam: true - Reduziere
resolutionauf 768 oder 512
Training-Fehler
# Logs prüfen
tail -f /home/lora_training/logs/tensorboard.log
# Kohya neu installieren
rm -rf ~/kohya_ss
python 3_train_lora.py📚 Weitere Ressourcen
🤝 Contributing
Pull Requests willkommen! Besonders für:
- Weitere MCP-Server Tools
- Alternative Training-Backends
- Cost-Optimization Features
- Multi-GPU Support
📄 Lizenz
MIT License - siehe LICENSE Datei
⚠️ Wichtige Hinweise
- Kosten: GPU-VMs sind teuer! Immer nach Training stoppen/löschen
- Quotas: GPU-Quotas vorher beantragen (kann 24h dauern)
- Backup: Wichtige Modelle regelmäßig herunterladen
- Bilder: Verwende nur Bilder mit entsprechenden Rechten
- Qualität: Mindestens 20-30 diverse, hochwertige Bilder für gute Results
Erstellt für effizientes SDXL LoRA-Training auf GCP 🎯
Bei Fragen: Issues auf GitHub erstellen
