AI Toolkit LoRA Training Guides

Solucionar errores CUDA Out of Memory en AI Toolkit

Guía rápida para solucionar fallos OOM en AI Toolkit: identifica si el error ocurre durante la carga del modelo, el entrenamiento o el muestreo, y ajusta batch size, gradient checkpointing, resoluciones, frames o configuración de vista previa.

Train Diffusion Models with Ostris AI Toolkit

AI Toolkit CUDA Out of Memory: solucionar OOM durante carga del modelo, entrenamiento y muestreo

Si tu trabajo de AI Toolkit falla con CUDA out of memory, OOM during training step 3 times in a row o 0 bytes is free, no sigas relanzando el mismo trabajo sin cambios.

En la práctica, la mayoría de los fallos OOM en AI Toolkit vienen de uno de estos cuatro puntos:

  1. carga del modelo (antes de que comience el entrenamiento real)
  2. los primeros pasos de entrenamiento
  3. muestreo de vista previa / generación de sample de referencia
  4. picos específicos de vídeo por demasiados frames, buckets demasiado grandes, o ambos

Esta guía es el camino rápido de recuperación: identifica qué tipo de OOM tienes, cambia los ajustes correctos en RunComfy AI Toolkit y llega a un reintento exitoso más rápido.


Checklist rápido (empieza aquí)

  • ✅ En Training, reduce el Batch Size
  • ✅ En Datasets, desactiva el bucket de resolución más alto primero
  • ✅ En Sample, reduce Width / Height / Sample Steps o activa temporalmente Disable Sampling
  • ✅ Haz clic en Show Advanced y asegúrate de que gradient_checkpointing: true
  • ✅ Para modelos de vídeo, reduce Num Frames antes de tocar el learning rate
  • ✅ Si el error ocurre incluso con una config muy conservadora, trátalo como un posible problema de estado del worker / GPU, no solo de configuración

1) Confirmar que es el mismo problema

Estás en el lugar correcto si tus logs incluyen mensajes como:

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

Situaciones habituales:

  • el trabajo falla antes del paso 1
  • el trabajo llega al paso 2–10 y luego entra en OOM repetidamente
  • el entrenamiento parece ir bien, pero el crash ocurre al generar samples
  • la misma config a veces funciona, a veces no

2) Primero: ¿qué tipo de OOM es?

A. OOM durante la carga del modelo o antes de entrenar

Normalmente significa una de estas cosas:

  • el modelo es demasiado pesado para el setup actual de ahorro de memoria
  • la generación del sample de referencia / vista previa ya es demasiado cara
  • el worker / GPU está en mal estado y no parte de memoria limpia

Señales típicas:

  • fallo antes de que empiecen pasos de entrenamiento significativos
  • el error ocurre justo después de cargar el modelo o durante el primer sample
  • los logs muestran casi nada de VRAM libre o un error CUBLAS de asignación

B. OOM en los primeros pasos de entrenamiento

Es el caso más común causado por configuración.

Causas típicas:

  • gradient_checkpointing está desactivado
  • Batch Size demasiado alto
  • el bucket de dataset más grande es demasiado ambicioso
  • para vídeo, Num Frames es el verdadero pico de memoria

C. OOM durante muestreo / generación de vista previa

Es una trampa muy común.

Tu config de entrenamiento puede ser casi viable, pero la vista previa es demasiado cara:

  • Sample Width / Height demasiado grande
  • Sample Steps demasiado alto
  • Sample Every demasiado frecuente
  • el vídeo de vista previa usa demasiados frames

D. OOM solo a veces

Normalmente es una config límite, no un misterio.

Ejemplos:

  • el entrenamiento sobrevive con buckets pequeños pero falla con el bucket más grande
  • los entrenamientos de vídeo fallan solo con los clips más pesados
  • el entrenamiento cabe, pero la generación de samples lo empuja al límite

3) Fixes más rápidos en RunComfy AI Toolkit

Fix A — Reactivar gradient checkpointing

Es lo primero que comprobar en OOMs de modelos de imagen.

Dónde cambiarlo

  1. Abre el trabajo fallido
  2. Haz clic en Show Advanced
  3. Bajo train:, asegúrate de que:
gradient_checkpointing: true

Si no estás seguro, déjalo activado.


Fix B — Bajar Batch Size, usar Gradient Accumulation para estabilidad

Dónde cambiarlo

  • Abre el editor del trabajo
  • En el panel Training:
    • reduce el Batch Size
    • mantén o sube Gradient Accumulation si quieres un batch efectivo ligeramente mayor sin aumentar el pico de VRAM

Regla de reintento seguro

  • Modelos de imagen: si tienes OOM, baja a Batch Size = 1 primero
  • Modelos de vídeo: asume Batch Size = 1 como tu valor por defecto salvo que la config ya se haya demostrado estable

No trates el learning rate como tu primera palanca de memoria. Normalmente no lo es.


Fix C — Eliminar primero el bucket de dataset más alto

Dónde cambiarlo

  • Ve al panel Datasets
  • En Resolutions, desactiva el bucket más alto primero

Orden de rollback seguro

  • 1024 / 1536 → eliminar primero
  • mantener 512 / 768 mientras verificas estabilidad
  • una vez estable, añadir buckets más grandes uno a uno

Es una de las formas más rápidas de convertir un entrenamiento límite en uno reproducible.


Fix D — Hacer barato el muestreo de vista previa, o desactivarlo temporalmente

Si el crash ocurre antes de que el entrenamiento arranque, o cada vez que se ejecuta el muestreo, arregla primero la vista previa.

Dónde cambiarlo

  • Abre el panel Sample

Luego haz una o más de estas cosas:

  • reduce Width
  • reduce Height
  • reduce Sample Steps
  • aumenta Sample Every
  • activa Disable Sampling para un run de validación

Buen primer reintento

Si tu objetivo es "probar que el trabajo puede entrenar", un run temporal sin muestreo está bien.

Una vez estable, reactiva las vistas previas con ajustes más pequeños.


Fix E — Modelos de vídeo: reducir Num Frames antes que nada

Para modelos de vídeo, los frames suelen ser la mayor palanca de memoria.

Dónde cambiarlo

  • Panel DatasetsNum Frames
  • Panel SampleNum Frames

Si estás entrenando vídeo y ves OOM, reduce frames primero, luego batch size, luego resolución.

No empieces cambiando el optimizer o el LR.


Fix F — Usar la ruta de baja memoria del modelo

Algunas arquitecturas están diseñadas para entrenarse con ajustes de ahorro de memoria cuando la VRAM es justa.

Dónde cambiarlo

  • Haz clic en Show Advanced
  • Bajo model:, busca:
low_vram: true

Para algunos modelos, la ruta correcta también incluye cuantización específica o manejo del text-encoder. Sigue la guía del modelo correspondiente en lugar de adivinar.


4) Diagnóstico rápido por momento del fallo

Cuándo falla Causa más probable Primer cambio
Antes del paso 1 / durante el sample inicial vista previa muy pesada, presión en carga de modelo o worker sucio desactivar muestreo o reducir vista previa
Paso 1–10 GC desactivado, batch muy alto, bucket muy grande activar GC, batch a 1, eliminar bucket más grande
Solo al muestrear ajustes de vista previa demasiado caros bajar Width/Height/Sample Steps o desactivar muestreo
A veces sí, a veces no config límite reducir bucket / frames más grande y estabilizar
Config conservadora falla al instante posible problema de estado GPU / worker recrear en worker limpio o contactar soporte

5) Cómo distinguir OOM de config de problemas de entorno / estado de GPU

Trátalo como no solo un problema de config cuando todo esto sea cierto:

  • Batch Size = 1
  • gradient_checkpointing: true
  • resolución / frames conservadores
  • el trabajo aún falla antes de que el entrenamiento comience de forma significativa
  • los logs muestran 0 bytes is free o fallo de asignación CUBLAS

En esa situación:

  1. dejar de repetir el mismo reintento
  2. crear un nuevo intento en un worker limpio si es posible
  3. si la misma config conservadora funcionaba antes y ahora falla al instante, escalar a soporte

Esto importa porque los reintentos repetidos pueden desperdiciar tanto tiempo como presupuesto de GPU.


6) El orden de rollback más seguro

Para modelos de imagen

  1. gradient_checkpointing: true
  2. Batch Size → 1
  3. eliminar el bucket de resolución más grande
  4. reducir o desactivar Sample
  5. activar low_vram o la ruta de baja memoria del modelo

Para modelos de vídeo

  1. reducir Num Frames
  2. Batch Size → 1
  3. eliminar el bucket de resolución más grande
  4. reducir o desactivar Sample
  5. activar low_vram o offloading / cuantización específica del modelo

7) Después del primer reintento exitoso

Una vez que tengas un run estable:

  • añade de vuelta solo un ajuste más pesado a la vez
  • anota qué cambiaste
  • no reintroduzcas múltiples ajustes de alto riesgo juntos

Buen orden para escalar:

  1. mantener los mismos ajustes de memoria estables
  2. aumentar Steps
  3. reactivar un bucket más grande
  4. reactivar muestreo más rico
  5. solo entonces probar batch más grande o vídeo más largo

Resumen en una línea

Si AI Toolkit da OOM, deja de probar al azar.

Activa gradient_checkpointing, baja el Batch Size, elimina el bucket de resolución más grande y abarata el muestreo de vista previa antes de reintentar.


Guías relacionadas

Ready to start training?