Eigenes LoRA mit ComfyUI trainieren: Daten, Tags und Validierung

"kohya-ss/sd-scripts stellt LoRA-Trainingsskripte und Dokumentation für Stable Diffusion, SDXL, SD3, FLUX.1 und weitere Modellfamilien bereit."
Du hast 20 Bilder eines eigenen Charakters und möchtest daraus ein LoRA trainieren, das ihn in späteren Generierungen wiedererkennt.
Datensatz und Tagging-Tool sind bereit, die Parameter stammen aus einem Screenshot, doch das Ergebnis bricht auseinander: Mit dem Hintergrund ändert sich das Gesicht; „wall“ und „floor“ in den Captions binden den Charakter an denselben Raum; LR 1e-3 führt zu Overfitting; dim/alpha 32/1 ergibt bei alpha=1 und dim=32 nur eine Skala von ungefähr 0,03 beziehungsweise 3 Prozent.
Ein Durchlauf garantiert keinen Erfolg. Der belastbare Weg führt von Daten und Captions über Startparameter und Fit-Diagnose bis zur Validierung in ComfyUI.
Datensatz vorbereiten: Anzahl und Bildauswahl
Der erste Schritt ist nicht das Öffnen eines Trainers, sondern die Prüfung, ob das Material ausreicht und zum Ziel passt.
Das Trainingsziel bestimmt die Datenmenge
Die benötigte Zahl hängt direkt vom Ziel ab.
Charakter-LoRA: 15–30 Bilder sind ein Start. Zehn sehr gute, scharfe und einheitlich aufgelöste Bilder können genügen. Für neue Szenen brauchst du unterschiedliche Hintergründe und Winkel.
Stil-LoRA: Meist sind 50–100 Bilder nötig, weil Pinselduktus, Farbgebung und Komposition mehr Variablen enthalten. Zu wenig Daten liefern nur eine entfernte Ähnlichkeit.
Objekt- oder Kleidungs-LoRA: Ebenfalls 15–30 Bilder, wobei Front, Seite und Detailaufnahmen die Kernmerkmale zeigen sollten.
Tabelle zur Datenqualität
Die Anzahl allein reicht nicht. Schwache Daten lehren Hintergründe, Lichtfehler und Makel zusammen mit dem Motiv.
| Trainingsziel | Startmenge | Auflösung | Hintergrund | Weitere Anforderungen |
|---|---|---|---|---|
| Charakter-LoRA | 15–30 Bilder (10 bei hoher Qualität) | Einheitlich 512×512 oder 1024×1024 | Sauber oder vielfältig, keine ständig gleiche Szene | Verschiedene Winkel, Mimik und Posen |
| Stil-LoRA | 50–100 Bilder | Zum Basismodell passend (SD1.5→512, SDXL→1024) | Nicht zwingend sauber, aber stilistisch konsistent | Gleicher Künstler oder gleiche Serie |
| Objekt-LoRA | 15–30 Bilder | Einheitliche Auflösung | Sauber ist besser, Vielfalt ist möglich | Verschiedene Ansichten und Details |
Priorität haben einheitliche Auflösung, bei Charakteren der Hintergrund und danach Winkel- und Detailvielfalt. Große Auflösungsunterschiede erzeugen nach dem Resize inkonsistente Details.
Auflösung, Hintergrund und Vorverarbeitung
Einheitliche Auflösung: Alle Bilder werden auf die Trainingsgröße skaliert. Quellen zwischen 512 und 2048 Pixeln behalten Details unterschiedlich, deshalb werden sie vorher auf das Ziel zugeschnitten.
Hintergrund: Zeigen 15 von 20 Bildern dasselbe Zimmer, ergänzt der Tagger wiederholt „wall“ und „floor“. Das LoRA kann den Raum mitlernen. Nutze saubere Hintergründe oder korrigiere die Captions.
Ablauf:
- Wähle scharfe Bilder mit ähnlicher Auflösung und klaren Merkmalen.
- Schneide sie mit Photoshop, GIMP oder einem Batch-Skript auf eine Größe zu.
- Entferne riskantes Material, wenn derselbe Hintergrund häufiger als fünfmal vorkommt.
Captions und Triggerwörter: den Datensatz beschriften
Automatisches Tagging ist kein einmaliger Knopfdruck. Hintergrund und Nebeneigenschaften gelangen in die Captions und verändern die Nutzbarkeit des LoRA.
Tagging-Tool auswählen
Häufige Optionen:
| Tool | Merkmale | Geeignet für | ComfyUI-Unterstützung |
|---|---|---|---|
| WD14 Tagger | Danbooru-Tags, verbreitet im Stable-Diffusion-Umfeld | Charaktere und Anime-Stile | Node in Image-Captioning-in-ComfyUI |
| Florence2 | Microsoft-Visionmodell mit natürlichsprachigen Beschreibungen | Realistische Charaktere und Objekte | ComfyUI-Nodes vorhanden |
| BLIP | Bild-Captioning mit natürlicher Sprache | Realistische Stile und Szenen | In ComfyUI nutzbar |
WD14 eignet sich für Charaktere, fügt aber Begriffe wie „simple background“ oder „white wall“ ein. Florence2 schreibt eher Sätze und passt besser zu realistischen Motiven.
Format und Platzierung des Triggers
Nutze ein seltenes Token oder eine eigene Kombination ohne Kollision mit bestehenden Tags:
sks charname, mit einem älteren seltenen Stable-Diffusion-Präfixxyz_character_name, mit eigenem Präfixmy_char_001
Platzierung:
- Schreibe den Trigger an den Anfang jeder
.txt- oder.caption-Datei und danach die Attribute. - Manche Trainer besitzen ein eigenes Triggerfeld; wenn jede Caption den Trigger enthält, ist es nicht nötig.
Der Trigger muss wiederholt vorkommen, damit die Bildgruppe einen stabilen Konzeptnamen erhält. Verwende ihn später auch beim Generieren.
Kernattribute manuell kontrollieren
Prüfe nach dem automatischen Lauf mindestens drei Punkte.
Hintergrundwörter: Häufige „wall“, „floor“ oder „bedroom“ können neue Szenen blockieren. Entferne sie oder ersetze sie durch einen allgemeineren Ausdruck.
Fehlende Trigger: Kontrolliere jede Caption.
Fehlende Merkmale: Ergänze charakteristische Frisur, Farben oder Kleidung, wenn der Tagger sie übersehen hat.
Du musst nicht jedes Wort einzeln lesen. Ermittle Häufigkeiten mit grep oder einer Tabelle und korrigiere Auffälligkeiten gezielt.
Grenzen der Trainingswerkzeuge: was ComfyUI tatsächlich übernimmt
ComfyUI kann Training ausführen, ist aber nicht selbst das Backend.
kohya-ss/sd-scripts ist das Backend
Die Arbeit erledigt kohya-ss/sd-scripts, eine verbreitete Sammlung für LoRA-Training. Kohya GUI und ComfyUI-Nodes kapseln diese Skripte oder verwandte Implementierungen.
FluxTrainer und Lora-Training-in-Comfy sind solche Wrapper:
- FluxTrainer von Kijai bindet modifizierten sd-scripts-Code für FLUX und verwandte Trainingsabläufe in ComfyUI ein.
- Lora-Training-in-Comfy stellt ebenfalls eine ComfyUI-Oberfläche für kohya-basiertes Training unterstützter Modellfamilien bereit.
Defaults sind keine optimalen Universalwerte. Lies die aktuelle README des Nodes und die Upstream-Dokumentation.
Trainingswege im Vergleich
| Weg | Vorteile | Nachteile | Geeignet für |
|---|---|---|---|
| kohya-ss GUI | Vollständige Oberfläche, viele Community-Anleitungen | Separate Installation, komplexe Maske | Nutzer mit voller Parameterkontrolle |
| ComfyUI-Nodes wie FluxTrainer | Training im selben Workflow | Experimentelle Teile, Defaults ohne Optimierungsgarantie | Bestehende ComfyUI-Nutzer |
| kohya-ss per Kommandozeile | Aktuelle Funktionen und vollständige Kontrolle | Höhere Einstiegshürde | Erfahrene Nutzer mit gezieltem Tuning |
Wo aktuelle Parameter stehen
Verlasse dich nicht nur auf Screenshots. Beginne bei der aktuellen kohya-ss/sd-scripts-Dokumentation:
- Trainingsleitfäden erklären Optionen für SD1.5, SDXL und FLUX.1.
- Issues und Discussions liefern Erfahrungswerte zu Spezialthemen wie network alpha.
Lernrate, dim/alpha und Steps hängen von Modell und Datensatz ab. Eine Konfiguration passt nicht überall.
Parameterrezepte als Ausgangspunkt
Die Werte sind reproduzierbare Starts. Entscheidend sind gespeicherte Epochen und sichtbare Fit-Symptome.
Verhältnis von network dim und alpha
network dim oder Rank bestimmt die Kapazität der LoRA-Matrizen. Höhere Werte können mehr Details aufnehmen, erhöhen aber Speicher- und Trainingskosten.
network alpha skaliert die gelernten Gewichte. Liegt alpha unter dim, wird die Wirkung relativ zur eingestellten Lernrate gedämpft.
Vereinfachte Skala: alpha / dim
Beispiele:
- alpha=16, dim=32 → 16/32=0,5
- alpha=32, dim=32 → 1
- alpha=1, dim=32 → 1/32≈0,03
Wer dim=32 und alpha=1 ohne Lernrate und Steps kopiert, kann ein zu schwaches Ergebnis erhalten.
Start:
- alpha=dim ohne Skalierung oder alpha=dim/2 mit moderater Dämpfung testen.
- Bei alpha<dim Lernrate und Steps gemeinsam vergleichen, nicht nur einen Wert ändern.
Lernraten, Steps und Epochen
| Parameter | Charakter-LoRA | Stil-LoRA | Hinweis |
|---|---|---|---|
| U-Net-Lernrate | 4e-4 | 1e-4 | Startwert; nach Symptomen und alpha-Skalierung abstimmen |
| Text-Encoder-Lernrate | 5e-5 oder 1e-5 | 5e-5 oder niedriger | Meist unter der U-Net-Rate |
| Steps | 1000–2000 | 2000–3000 | Aus Epochen ableiten und bei Overfitting früher stoppen |
| Epochen | 10–20 | 20–30 | Kleine Charakterdatensätze können weniger benötigen |
Ein Step ist ein Optimizer-Update, eine Epoche ein Datensatzdurchlauf. Repeats, Batch-Größe, Gradient Accumulation und verteiltes Training verändern die Beziehung; maßgeblich ist die Step-Anzeige des Trainers.
Basismodell wählen
Das Trainingsmodell bestimmt die Kompatibilität.
| Basismodell | Trainingsauflösung | Kompatible Generierungsmodelle | VRAM-Startwert |
|---|---|---|---|
| SD1.5 | 512×512 | SD1.5 und kompatible Ableitungen | Etwa 8 GB mit fp16 und Checkpointing |
| SDXL | 1024×1024 | SDXL und kompatible Ableitungen | Etwa 12 GB mit fp16 und Checkpointing |
| FLUX.1 | 1024×1024 oder höher | Passende FLUX.1-Familie | Ohne Sparoptionen häufig deutlich höher |
FLUX.1-Unterstützung und Speicheroptionen ändern sich. Prüfe die aktuelle Trainer-Dokumentation statt einer festen VRAM-Zahl zu vertrauen.
Starttabelle
| Trainingsziel | dim | alpha | U-Net LR | Text Encoder LR | Start Steps/Epochen | Basismodell |
|---|---|---|---|---|---|---|
| Charakter (SD1.5) | 32 oder 128 | 32 oder 1; bei niedrigem alpha kompensieren | 4e-4 | 5e-5 | 1000–2000 / 10–20 | SD1.5 |
| Charakter (SDXL) | 128 | 1 oder 128 | 4e-4 | 5e-5 | 1500–2500 / 10–20 | SDXL |
| Stil (SD1.5) | 128 oder 256 | 128 oder 1 | 1e-4 | 5e-5 oder niedriger | 2000–3000 / 20–30 | SD1.5 |
Passe diese Startwerte anhand der folgenden Fit-Prüfung an.
Overfitting und Underfitting erkennen und beheben
Falsche Einstellungen können Details übertrainieren oder das Ziel kaum lernen.
Symptome von Overfitting
Aussehen:
- Details verschmelzen, werden unscharf oder verzerrt.
- Neue Hintergründe und Winkel brechen, weil nur Trainingsszenen erkannt werden.
- Rauschen und Wasserzeichen aus den Daten erscheinen erneut.
Trigger:
- Selbst Weight 0,3 wirkt wie die Trainingsdaten und lässt sich kaum steuern.
- Merkmale erscheinen ohne Trigger und sind zu stark verflochten.
Symptome von Underfitting
Aussehen:
- Das Ziel wird nicht getroffen; wichtige Details fehlen.
- Der Trigger reagiert schwach oder gar nicht.
Hintergrundtest:
- Die Zielmerkmale bleiben in jeder Szene schwach; das Hauptkonzept wurde nicht ausreichend gelernt.
Vergleichstabelle
| Symptom | Overfitting | Underfitting | Korrektur |
|---|---|---|---|
| Details | Zerfallen oder kopieren Trainingsbilder | Schwache Ähnlichkeit | Overfit: LR/Steps senken; Underfit: LR/Daten verbessern |
| Hintergrundtest | Bricht beim Szenenwechsel | Ziel bleibt überall schwach | Overfit: Hintergrund-Tags prüfen; Underfit: Trigger prüfen |
| Triggerreaktion | Zu stark und unkontrollierbar | Schwach oder fehlend | Overfit: LR oder sehr hohen dim senken; Underfit: LR, Daten, dim prüfen |
| Weight-Bereich | Bei 0,3 noch Kopie | Erst bei 1,0 leicht ähnlich | Overfit: frühere Epoche; Underfit: vorsichtig weitertrainieren oder Daten verbessern |
Reihenfolge der Korrekturen
Bei Overfitting:
- Lernrate testweise deutlich, etwa um 50 Prozent, senken.
- Steps reduzieren oder eine frühere gespeicherte Epoche wählen.
- Captions auf Hintergründe und Nebenmerkmale prüfen.
- Einen unnötig hohen dim senken.
Bei Underfitting:
- Lernrate kontrolliert erhöhen.
- Daten ergänzen oder verbessern.
- Trigger in jeder Caption bestätigen.
- dim erhöhen, wenn Kapazität fehlt.
VRAM-Bedarf und Low-Memory-Pfade für eine RTX 3060
Wenig VRAM verhindert Training nicht immer, erzwingt aber Kompromisse bei Auflösung, Modell, Tempo und Optimierung.
Ungefähre Mindestwerte
| Basismodell | Basis mit fp16 und Checkpointing | Mit weiteren Sparmaßnahmen | Optionen |
|---|---|---|---|
| SD1.5 | Etwa 8 GB | In engen Setups etwa 6 GB | Kleiner dim, Checkpointing, Optimizer und Precision |
| SDXL | Etwa 12 GB | In manchen Setups etwa 10 GB | Kleiner dim, Checkpointing, Block- und Optimizer-Sparen |
| FLUX.1 | Ohne Sparmaßnahmen oft um 24 GB | Stark optimiert teils nahe 10 GB | Block-Swapping, Checkpointing, kleiner dim, Quantisierung |
Das Beispiel 24 GB auf 10 GB stammt aus einem Training-Guide von 2025. Der reale Verbrauch hängt von Trainer, Modell, Optimizer, Cache, Daten und GPU ab.
Speichertechniken
Fused oder speichereffizientes Backward reduziert je nach Implementierung den Peak.
Gradient Checkpointing berechnet Aktivierungen erneut und tauscht Geschwindigkeit gegen Speicher.
Ein kleiner dim reduziert LoRA-Parameter und meist den VRAM-Bedarf.
Mixed Precision und Quantisierung: fp16 oder bf16 sind üblich; manche Trainer unterstützen FP8 oder quantisierte Komponenten mit eigenen Risiken.
Tabelle für wenig VRAM
| VRAM | Realistisches Ziel | Kompromiss | Empfehlung |
|---|---|---|---|
| 6 GB | SD1.5-Charakter | Kleiner dim, Checkpointing, langsamer | SD1.5 mit kleinem Batch |
| 8 GB | SD1.5-Charakter oder Stil | Kleiner dim und Checkpointing | Reife SD1.5-Sparoptionen |
| 10 GB | Manche SDXL-Charaktersetups | Aggressive Sparoptionen | Nur dokumentierte Low-Memory-Rezepte |
| 12 GB+ | Mehr SDXL, experimentelle FLUX.1-Rezepte | Sparoptionen bleiben teils nötig | Erst SDXL, FLUX.1 als konfigurationsabhängig behandeln |
Bei knappem VRAM ist SD1.5 der sichere Einstieg. Anforderungen sind niedriger und die Sparverfahren ausgereifter.
Das fertige LoRA in ComfyUI validieren
Ein Einzelbild genügt nicht. Prüfe Trigger, Details, Hintergrundtransfer und steuerbaren Weight-Bereich systematisch.
LoRA laden
Lade die .safetensors-Datei mit Load LoRA:
- Node: der integrierte ComfyUI-Node Load LoRA
- Parameter: Datei sowie Model- und Clip-Strength; bei 0,5 beginnen und nach Ergebnis anpassen
Prompt-Vorlage
Der Test-Prompt enthält Trigger und Kernattribute:
- Triggerwort: das gelernte Token wie
sks charnameam Anfang. - Attribute: wichtige Frisur-, Farb- und Kleidungsbegriffe.
- Szene: für den Hintergrundtest etwa „in a forest“ oder „at night“.
Beispiel:
sks charname, blonde hair, blue eyes, white dress, simple background
Hintergrundtest:
sks charname, blonde hair, blue eyes, white dress, in a forest, at sunset
Weight-Bereich testen
Vergleiche bei identischen Bedingungen:
- weight=0.3: leichter, steuerbarer Einfluss.
- weight=0.5: erkennbare Zielmerkmale am Startwert.
- weight=1.0: volle Wirkung ohne Verzerrung oder Kontrollverlust.
Ist 0,3 bereits an Trainingsbilder gebunden, spricht das für Overfitting. Ist 1,0 kaum ähnlich, prüfe Underfitting, Trigger und Kompatibilität.
Abnahmeliste
| Prüfung | Bestanden | Bei Fehler |
|---|---|---|
| Triggerreaktion | Bei 0,5 klar, bei 0,3 steuerbar | Keine Reaktion: Captions/Trigger; zu stark: LR senken oder frühere Epoche |
| Details | Frisur, Farben und Kleidung bleiben klar | Verzerrt: Overfit; schwach: Underfit |
| Hintergrundtransfer | Motiv bleibt bei neuer Szene erkennbar | Hintergrund-Captions und Datenvielfalt prüfen |
| Weight-Steuerung | Merkmale ändern sich von 0,3 bis 1,0 graduell | Trainingsstärke und gespeicherte Epochen neu bewerten |
Nächste Schritte und verwandte Artikel
Zum Laden, Gewichten, Stapeln und Triggern geht es mit LoRA in ComfyUI verwenden: Gewichte, Stacking und konsistente Charaktere weiter.
Warum das Basismodell Kompatibilität und Shape Mismatch bestimmt, erklärt Stable-Diffusion-Modelle wählen: Basismodell und LoRA-Kompatibilität.
Für wiederholbare Tests hilft Stable-Diffusion-Promptvorlagen zum Prüfen eines LoRA.
Alternativen ohne erneutes Training:
- FLUX.1 Kontext kann bei kleinen Datenmengen Charakterkonsistenz ohne LoRA-Training unterstützen.
- InstantID und IPAdapter FaceID steuern Gesichter per Referenzbild statt über ein trainiertes LoRA.
Ein eigenes LoRA trainieren und validieren
Lege Ziel und Basismodell fest, bereite Daten und Captions vor, trainiere mit kontrollierten Ausgangswerten und prüfe Trigger, Details und Hintergrundwechsel in ComfyUI.
⏱️ Estimated time: 4 hr
- 1
Step 1: Trainingsziel und Basismodell wählen
Entscheide zwischen Charakter, Stil und Objekt und wähle SD1.5, SDXL oder FLUX.1; das Trainingsmodell bestimmt die spätere Kompatibilität. - 2
Step 2: Datensatz auswählen und vereinheitlichen
Nutze scharfe Bilder mit erkennbarem Motiv, unterschiedlichen Winkeln und Hintergründen und schneide sie auf eine einheitliche Zielauflösung zu. - 3
Step 3: Captions erzeugen und manuell prüfen
Erzeuge Captions mit einem geeigneten Tool und kontrolliere häufige Hintergrundwörter, Kernattribute und das Triggerwort in jeder Datei. - 4
Step 4: Ausgangsparameter setzen
Wähle dim, alpha, Lernraten und Steps oder Epochen passend zum Ziel; die Tabellen liefern reproduzierbare Starts, keine Universalwerte. - 5
Step 5: Zwischenstände speichern
Speichere Gewichte in festen Abständen, damit sich später der beste generalisierende Stand ohne Overfitting auswählen lässt. - 6
Step 6: Unter festen Bedingungen in ComfyUI testen
Halte Prompt, Seed, Sampler und Größe konstant und vergleiche Weight 0,3, 0,5 und 1,0 sowie mehrere Hintergründe. - 7
Step 7: Nach Symptomen korrigieren
Bei Overfitting senkst du Lernrate oder Steps und prüfst Hintergrund-Tags; bei Underfitting kontrollierst du Trigger, Datenmenge, Lernrate und dim.
FAQ
Wie viele Bilder braucht ein LoRA-Training?
Wie stelle ich network dim und alpha ein?
Welche Lernrate eignet sich für LoRA?
Was hilft bei wenig VRAM?
Kann ich direkt in ComfyUI ein LoRA trainieren?
Wie unterscheiden sich SDXL- und FLUX.1-LoRA-Training?
10 Min. Lesezeit · Veröffentlicht am: 28. Aug. 2026 · Aktualisiert am: 28. Aug. 2026
ComfyUI & Stable Diffusion Praxisleitfaden
Wenn du über die Suche hier gelandet bist, kommst du am schnellsten weiter, indem du zum vorherigen oder nächsten Beitrag dieser Serie springst.
Vorheriger
Gesichtskonsistenz in ComfyUI: InstantID, FaceID oder ReActor?
Vergleiche InstantID, IPAdapter FaceID und ReActor nach Arbeitsphase und Modellaufbau – mit Referenzbild-Check, Pfaden, Tuning, Fehlersuche und Lizenzgrenzen.
Teil 9 von 16
Nächster
Regionale Prompts in ComfyUI: Mehrere Motive mit Set Area, RegionalPrompt und Cutoff trennen
Trenne ComfyUI-Motive mit Set Area, RegionalPrompt und Cutoff. Dazu kommen Koordinaten, Masken-Sampling, strength, ControlNet und Farbvermischung im zweiten Pass.
Teil 11 von 16



Kommentare
Melde dich mit GitHub an, um einen Kommentar zu hinterlassen