AI Toolkit LoRA-Training Guides

CUDA Out of Memory in AI Toolkit beheben

Schnellanleitung zur Behebung von AI Toolkit OOM-Fehlern: Identifizieren Sie, ob der Absturz beim Modell-Laden, Training oder Sampling auftritt, und passen Sie Batch Size, Gradient Checkpointing, Auflösungen, Frames oder Preview-Einstellungen an.

Diffusionsmodelle mit Ostris AI Toolkit trainieren

AI Toolkit CUDA Out of Memory? OOM bei Modell-Laden, Training und Sampling beheben

Wenn Ihr AI-Toolkit-Job mit CUDA out of memory, OOM during training step 3 times in a row oder 0 bytes is free fehlschlägt, starten Sie nicht einfach denselben Job unverändert neu.

In der Praxis kommen die meisten OOM-Fehler im AI Toolkit von einer dieser vier Stellen:

  1. Modell-Laden (bevor das eigentliche Training beginnt)
  2. die ersten Trainingsschritte
  3. Vorschau-Sampling / Baseline-Sample-Generierung
  4. videospezifische Spitzen durch zu viele Frames, zu große Buckets oder beides

Dieser Leitfaden ist der schnelle Weg zur Wiederherstellung: Identifizieren Sie, welchen OOM Sie haben, ändern Sie die richtigen Einstellungen in RunComfy AI Toolkit und kommen Sie schneller zu einem erfolgreichen Retry.


Schnell-Checkliste (hier starten)

  • ✅ In Training die Batch Size reduzieren
  • ✅ In Datasets den größten Resolution-Bucket zuerst deaktivieren
  • ✅ In Sample die Width / Height / Sample Steps reduzieren oder vorübergehend Disable Sampling einschalten
  • Show Advanced anklicken und sicherstellen, dass gradient_checkpointing: true
  • ✅ Bei Videomodellen Num Frames reduzieren, bevor Sie die Learning Rate anfassen
  • ✅ Wenn der Fehler selbst bei sehr konservativer Config auftritt, als mögliches Worker- / GPU-Zustandsproblem behandeln, nicht nur als Config-Problem

1) Sicherstellen, dass es dasselbe Problem ist

Sie sind hier richtig, wenn Ihre Logs Meldungen wie diese enthalten:

CUDA out of memory
torch.OutOfMemoryError
OOM during training step 3 times in a row
Tried to allocate ...
0 bytes is free
CUBLAS_STATUS_ALLOC_FAILED

Typische Situationen:

  • der Job scheitert vor Step 1
  • der Job erreicht Step 2–10 und geht dann wiederholt in OOM
  • Training scheint okay, aber der Absturz passiert beim Generieren von Samples
  • dieselbe Config funktioniert manchmal, manchmal nicht

2) Zuerst: Welche Art von OOM ist es?

A. OOM beim Modell-Laden oder vor Trainingsbeginn

Das bedeutet meist eines der folgenden:

  • das Modell selbst ist zu schwer für das aktuelle Speicherspar-Setup
  • Vorschau / Baseline-Sample-Generierung ist bereits zu teuer
  • der Worker / die GPU ist in einem schlechten Zustand und startet nicht mit sauberem Speicher

Typische Anzeichen:

  • Fehler bevor sinnvolle Trainingsschritte beginnen
  • der Fehler tritt sofort nach dem Modell-Laden oder beim ersten Sample auf
  • Logs zeigen fast keinen freien VRAM oder werfen einen CUBLAS-Allocation-Error

B. OOM in den ersten Trainingsschritten

Das ist der häufigste config-bedingte Fall.

Typische Ursachen:

  • gradient_checkpointing ist aus
  • Batch Size zu hoch
  • der größte Dataset-Bucket ist zu ambitioniert
  • bei Video ist Num Frames der eigentliche Speicher-Spike

C. OOM beim Sampling / Vorschau-Generierung

Das ist eine sehr häufige Falle.

Ihre Training-Config ist vielleicht fast okay, aber die Vorschau ist zu teuer:

  • Sample Width / Height zu groß
  • Sample Steps zu hoch
  • Sample Every zu häufig
  • Vorschau-Video verwendet zu viele Frames

D. OOM nur manchmal

Das ist meist eine grenzwertige Config, kein Mysterium.

Beispiele:

  • der Lauf überlebt kleinere Buckets, stürzt dann beim größten Bucket ab
  • Video-Läufe scheitern nur bei den schwersten Clips
  • der Trainingskern passt, aber die Sample-Generierung bringt es über die Kante

3) Schnellste Fixes in RunComfy AI Toolkit

Fix A — Gradient Checkpointing wieder einschalten

Das ist das Erste, was bei Bildmodell-OOMs zu prüfen ist.

Wo ändern

  1. Fehlgeschlagenen Job öffnen
  2. Show Advanced anklicken
  3. Unter train: sicherstellen:
gradient_checkpointing: true

Im Zweifel: anlassen.


Fix B — Batch Size senken, Gradient Accumulation für Stabilität nutzen

Wo ändern

  • Job-Editor öffnen
  • Im Training-Panel:
    • Batch Size reduzieren
    • Gradient Accumulation beibehalten oder erhöhen, wenn ein etwas größerer effektiver Batch gewünscht ist, ohne den VRAM-Spitzenwert zu erhöhen

Sichere Retry-Regel

  • Bildmodelle: bei OOM zuerst auf Batch Size = 1
  • Videomodelle: Batch Size = 1 als Standard annehmen, es sei denn, die Config hat sich bereits als stabil erwiesen

Behandeln Sie die Learning Rate nicht als ersten Speicherhebel. Das ist sie normalerweise nicht.


Fix C — Den höchsten Dataset-Bucket zuerst entfernen

Wo ändern

  • Zum Datasets-Panel gehen
  • Unter Resolutions den höchsten Bucket zuerst deaktivieren

Sichere Rollback-Reihenfolge

  • 1024 / 1536 → zuerst entfernen
  • 512 / 768 beibehalten, während die Stabilität geprüft wird
  • nach Stabilisierung größere Buckets einzeln wieder hinzufügen

Das ist einer der schnellsten Wege, einen grenzwertigen Lauf in einen wiederholbaren zu verwandeln.


Fix D — Vorschau-Sampling günstig machen oder vorübergehend deaktivieren

Wenn der Absturz passiert, bevor Training richtig losgeht, oder jedes Mal beim Sampling, zuerst die Vorschau fixen.

Wo ändern

  • Sample-Panel öffnen

Dann eines oder mehrere davon:

  • Width reduzieren
  • Height reduzieren
  • Sample Steps reduzieren
  • Sample Every erhöhen
  • Disable Sampling für einen Validierungslauf einschalten

Guter erster Retry

Wenn das Ziel „beweisen, dass der Job trainieren kann" ist, ist ein temporärer Lauf ohne Sampling in Ordnung.

Nach Stabilisierung Vorschauen mit kleineren Einstellungen wieder einschalten.


Fix E — Videomodelle: Num Frames vor allem anderen reduzieren

Bei Videomodellen sind Frames normalerweise der größte Speicherhebel.

Wo ändern

  • Datasets-Panel → Num Frames
  • Sample-Panel → Num Frames

Bei Video-OOM: zuerst Frames reduzieren, dann Batch Size, dann Resolution.

Nicht mit Optimizer oder LR anfangen.


Fix F — Den Low-Memory-Pfad des Modells nutzen

Einige Architekturen sind dafür vorgesehen, bei knappem VRAM mit Speicherspar-Einstellungen trainiert zu werden.

Wo ändern

  • Show Advanced anklicken
  • Unter model: suchen:
low_vram: true

Bei manchen Modellen umfasst der korrekte Low-Memory-Pfad auch modellspezifische Quantisierung oder Text-Encoder-Behandlung. Dem entsprechenden Modell-Leitfaden folgen, statt zu raten.


4) Schnelldiagnose nach Fehler-Zeitpunkt

Wann es abstürzt Wahrscheinlichste Ursache Erste Änderung
Vor Step 1 / beim initialen Sample Vorschau zu schwer, Modell-Ladedruck oder unsauberer Worker Sampling deaktivieren oder Vorschau verkleinern
Step 1–10 GC aus, Batch zu hoch, Bucket zu groß GC an, Batch auf 1, größten Bucket entfernen
Nur beim Sampling Vorschau-Einstellungen zu teuer Width/Height/Sample Steps senken oder Sampling deaktivieren
Manchmal ja, manchmal nein Grenzwertige Config Größten Bucket / Frames reduzieren und stabilisieren
Selbst konservative Config scheitert sofort Mögliches GPU- / Worker-Zustandsproblem Auf einem frischen Worker neu erstellen oder Support kontaktieren

5) Config-OOM von Umgebungs- / GPU-Zustandsproblemen unterscheiden

Behandeln Sie es als nicht nur ein Config-Problem, wenn all das zutrifft:

  • Batch Size = 1
  • gradient_checkpointing: true
  • konservative Resolution / Frames
  • der Job scheitert trotzdem bevor Training sinnvoll beginnt
  • Logs zeigen 0 bytes is free oder CUBLAS-Allocation-Fehler

In dieser Situation:

  1. aufhören, denselben Retry zu wiederholen
  2. frischen Job auf einem frischen Worker erstellen, wenn möglich
  3. wenn dieselbe konservative Config früher funktionierte und jetzt sofort scheitert, an Support eskalieren

Das ist wichtig, weil wiederholte Retries sowohl Zeit als auch GPU-Budget verschwenden können.


6) Die sicherste Rollback-Reihenfolge

Für Bildmodelle

  1. gradient_checkpointing: true
  2. Batch Size → 1
  3. größten Resolution-Bucket entfernen
  4. Sample verkleinern oder deaktivieren
  5. low_vram oder den Low-Memory-Pfad des Modells aktivieren

Für Videomodelle

  1. Num Frames reduzieren
  2. Batch Size → 1
  3. größten Resolution-Bucket entfernen
  4. Sample verkleinern oder deaktivieren
  5. low_vram oder modellspezifisches Offloading / Quantisierung aktivieren

7) Nach dem ersten erfolgreichen Retry

Sobald ein stabiler Lauf vorliegt:

  • nur eine schwerere Einstellung auf einmal wieder hinzufügen
  • notieren, was geändert wurde
  • nicht mehrere Hochrisiko-Einstellungen gleichzeitig wieder einführen

Gute Reihenfolge zum Hochskalieren:

  1. dieselben stabilen Speichereinstellungen beibehalten
  2. Steps erhöhen
  3. einen größeren Bucket wieder aktivieren
  4. reichhaltigeres Sampling wieder aktivieren
  5. erst dann größere Batch oder längeres Video testen

Einzeiler-Zusammenfassung

Wenn AI Toolkit OOM wirft, hören Sie mit zufälligem Herumprobieren auf.

gradient_checkpointing einschalten, Batch Size senken, den größten Resolution-Bucket entfernen und Vorschau-Sampling günstiger machen, bevor Sie es erneut versuchen.


Verwandte Leitfäden

Bereit zum Starten des Trainings?