Cómo Reducir VRAM en ComfyUI: Guía Completa para GPUs de 4-8GB
Si tienes una tarjeta gráfica de 4 a 8GB y te ha saltado el temido error “CUDA out of memory” mientras intentabas generar imágenes con ComfyUI, tranquilo: no eres el único. Muchos usuarios descubren que sus GPUs se quedan cortas al trabajar con modelos grandes como FLUX o Juggernaut XL. La buena noticia es que existen varias técnicas probadas para reducir VRAM en ComfyUI sin abandonar la plataforma ni perder demasiada velocidad en el proceso.
A lo largo de esta guía, exploraremos ocho estrategias diferentes para optimizar el consumo de memoria, desde flags de inicio hasta técnicas de cuantización avanzadas. Tengas una GPU de 4GB, 6GB u 8GB, aquí encontrarás soluciones prácticas y comprobadas para ejecutar ComfyUI con bajo consumo de VRAM.
De un vistazo: Soluciones rápidas
| Técnica | VRAM Ahorrado | Velocidad | Dificultad |
|---|---|---|---|
--lowvram | 30-50% | -20-50% | Muy fácil |
--novram | 60-80% | -500-1000% | Muy fácil |
| GGUF Q4_K_M | 60-70% | -10-20% | Media |
| VAE Tiling | 40-60% (pico) | -5-10% | Fácil |
--fp16-vae | 15-20% | Sin cambios | Muy fácil |
| Reducir resolución | 40-75% | Sin cambios | Muy fácil |
De un vistazo: Soluciones rápidas
Antes de ponerse manos a la obra con optimizaciones, conviene entender adónde va la memoria. ComfyUI carga simultáneamente modelos de difusión, VAE (autoencoder variacional) y modelos de control en la VRAM. Un modelo Stable Diffusion XL sin tocar consume alrededor de 7-8GB. FLUX Dev puede alcanzar los 24GB, lo que hace imposible ejecutarlo en GPUs pequeñas sin aplicar optimizaciones específicas.
El consumo varía bastante dependiendo de varios factores:
- Tamaño del modelo: FLUX Dev (24GB) > SDXL (7GB) > SD 1.5 (4GB)
- Resolución de la imagen: Una imagen de 1024x1024 consume cuatro veces más memoria que una de 512x512
- Número de pasos: Más pasos de difusión equivale a más tiempo ocupando VRAM
- Nodos adicionales: LoRAs, control nets y otros complementos aumentan el uso exponencialmente
💡 Consejo: El consumo de VRAM en ComfyUI depende principalmente del tamaño del modelo y la resolución. Entender estos factores es clave para elegir la estrategia de optimización correcta.
Opción 1: Flag —lowvram (Mejor Relación Velocidad-VRAM)
El flag --lowvram es la solución más equilibrada para la mayoría de usuarios con GPUs de 6-8GB. Descarga partes del modelo a RAM del sistema durante la generación, recuperándolas cuando se necesitan activamente.
Impacto: Reduce VRAM un 30-50%, aumentando el tiempo de generación 20-50%.
Cómo implementarlo
En línea de comandos:
python main.py --lowvram
En Windows (script de inicio):
- Abre
run_nvidia_gpu.bat(o tu equivalente) - Busca la línea con
python main.py - Añade
--lowvramal final - Guarda y ejecuta
Ejemplo práctico: Un modelo SDXL que normalmente consume 7GB se reduce a 3.5-4.5GB con esta opción, permitiendo ejecutarlo cómodamente en GPUs de 6GB.
👉 Conclusión rápida: --lowvram es la opción ideal para usuarios con GPUs de 6-8GB que buscan un equilibrio entre velocidad y ahorro de memoria.
Opción 2: Flag —novram (Máxima Compatibilidad, Mínima Velocidad)
Para casos extremos donde necesitas ejecutar cualquier modelo en tu GPU de 4GB, --novram mueve todo el modelo a RAM del sistema excepto durante los cálculos activos.
Impacto: Reduce VRAM a ~1-2GB, pero la velocidad es muy lenta (5-10x más lento).
python main.py --novram
Úsalo solo si no tienes alternativa. Una imagen de 512x512 podría tardar entre 10 y 30 minutos en completarse.
Opción 3: Cuantización GGUF (Máxima Reducción de VRAM)
La cuantización convierte modelos de precisión completa (FP32) a versiones comprimidas sin perder mucha calidad. El formato GGUF es especialmente efectivo para reducir VRAM en ComfyUI, permitiendo ejecutar modelos grandes en GPUs pequeñas.
⚠️ Importante: GGUF es la única forma práctica de ejecutar FLUX Dev o Wan en GPUs de 4-8GB.
Impacto Real de GGUF
| Modelo Original | Tamaño Original | Q4_K_M (4-bit) | Reducción |
|---|---|---|---|
| FLUX Dev | 24GB | 7GB | 71% |
| Juggernaut XL | 7GB | 4GB | 43% |
| SDXL | 6.9GB | 2.5GB | 64% |
| Wan 2.2 14B | 30GB | 8-10GB | 67-73% |
Cómo usar GGUF en ComfyUI
-
Instala el nodo personalizado ComfyUI-GGUF:
- Ve a
ComfyUI/custom_nodes - Clona:
git clone https://github.com/comfyui-gguf/ComfyUI-GGUF.git - Reinicia ComfyUI
- Ve a
-
Descarga un modelo cuantizado de Hugging Face (busca versiones
ggufoggml) -
En tu workflow, usa el nodo
GGUFModelLoaderen lugar deCheckpointLoader
Comparativa de Niveles de Cuantización
| Nivel | Tamaño | Calidad | Velocidad | Recomendado para |
|---|---|---|---|---|
| Q8_0 | 95% | Idéntica | Normal | Producción crítica |
| Q5_K_M | 60% | Prácticamente idéntica | Normal | Mejor balance |
| Q4_K_M | 50% | Ligera pérdida en detalles | Normal | GPUs 4-8GB |
| Q3 | 35% | Pérdida notable | Rápida | Casos extremos |
👉 Conclusión rápida: GGUF Q4_K_M es la opción ideal para GPUs de 4-8GB. Q5_K_M ofrece mejor calidad si tienes espacio. La diferencia visual es mínima en la mayoría de casos.
Opción 4: VAE Tiling (Esencial para Imágenes Grandes)
El VAE (decodificador variacional) suele ser el cuello de botella de VRAM. Cuando generas imágenes de 1024x1024 o mayores, el pico de memoria durante la decodificación puede causar crashes incluso con otras optimizaciones activas.
VAE Tiling divide la imagen en tiles pequeños, decodifica cada uno por separado y los reensambla. Es especialmente útil para ComfyUI 4GB VRAM y ComfyUI 6GB VRAM.
Implementación en ComfyUI
Método 1: Nodo TileVAE (Recomendado)
- Instala desde ComfyUI Manager o usa el nodo ‘Enable VAE Tiling’ de los nodos avanzados
- Conecta entre el VAE Loader y el VAE Decode
- Configura
tile_sizeen 512 para 8GB o 256 para 4-6GB
Método 2: Flag en arranque
python main.py --tile-vae
Impacto: Reduce el pico de VRAM durante decodificación un 40-60%. Para imágenes de 1024x1024 con 8GB, es prácticamente obligatorio. Solo es necesario para imágenes grandes (>1024px).
👉 Conclusión rápida: VAE Tiling es obligatorio si generas imágenes de 1024x1024 o mayores. Su impacto en velocidad es mínimo pero el ahorro de VRAM es crucial.
Opción 5: Precisión de VAE (—fp16-vae)
Ejecutar el VAE en precisión media (fp16) en lugar de completa (fp32) ahorra memoria sin afectar significativamente la velocidad.
python main.py --fp16-vae
Impacto: Ahorra ~1-1.5GB, sin cambios perceptibles en velocidad.
Nota importante: Algunos modelos no toleran bien fp16 y pueden producir imágenes negras o artefactos. Si esto ocurre, cambia a --fp32-vae.
Opción 6: Attention Slicing (Última Opción)
Divide el cálculo de atención en pasos más pequeños, reduciendo picos de VRAM drásticamente. Es la opción más lenta de todas.
python main.py --attention-split
Impacto: Ahorra 15-25% de VRAM, pero ralentiza la generación 30-50%.
Úsalo solo si otras opciones no funcionan. No es recomendable para flujos de trabajo regulares.
📌 A tener en cuenta: Attention slicing es un último recurso. Antes de usarlo, prueba
--lowvram+ VAE tiling + GGUF.
Opción 7: Reducir Resolución (Cambio Rápido)
La VRAM crece cuadráticamente con la resolución. Reducir de 1024x1024 a 768x768 ahorra aproximadamente un 43% de VRAM sin cambios significativos en calidad visual.
| Resolución | VRAM (SDXL) | Ahorro vs 1024 | Caso de uso |
|---|---|---|---|
| 512x512 | 2GB | 75% | GPUs 4GB |
| 768x768 | 4.5GB | 43% | GPUs 6GB |
| 1024x1024 | 8GB | 0% | GPUs 8GB+ |
| 1536x1536 | 18GB | -125% | No recomendado |
Si generas a 1024x1024 y tienes problemas de CUDA out of memory, intenta 768x768 primero. La diferencia visual es prácticamente imperceptible.
Opción 8: Sequential CPU Offload (Para Video)
Si usas modelos de video como Wan o Hunyuan, el sequential offload es crítico para reducir VRAM. En el nodo ModelLoader, activa la opción sequential_cpu_offload. Esto mueve capas del modelo a CPU secuencialmente, reduciendo VRAM drásticamente.
Impacto: Permite usar modelos de 14B en GPUs de 8GB usando RAM del sistema (14-16GB total).
ComfyUI Desktop: Configuración Gráfica
Si usas ComfyUI Desktop (interfaz gráfica), las opciones están en:
Configuración > Rendimiento > Opciones de VRAM
Aquí encontrarás checkboxes para:
- Reducir VRAM
- Usar fp16 para VAE
- Tile VAE automático
- Attention slicing
Es mucho más sencillo que editar archivos de configuración manualmente.
Estrategia Recomendada por GPU
GPU de 4GB
- Usa modelos cuantizados (GGUF Q4_K_M obligatoriamente)
- Activa
--lowvram - Usa VAE tiling obligatoriamente
- Genera a 512x512 o 768x768 máximo
- Considera
--novramsi GGUF no es suficiente
GPU de 6GB
- Activa
--lowvrampara modelos medianos - Usa VAE tiling para imágenes >768px
- Considera GGUF para modelos grandes (FLUX)
- Genera a 768x768 sin problemas
- Puedes usar 1024x1024 con optimizaciones
GPU de 8GB
- Activa
--lowvramsolo para modelos muy grandes (FLUX) - Usa VAE tiling para 1024x1024
- Puedes usar modelos sin cuantizar
- Genera a 1024x1024 cómodamente
- Considera GGUF para experimentación con múltiples modelos
👉 Conclusión rápida: Cada rango de GPU requiere una estrategia diferente. Comienza con --lowvram y ajusta según tus necesidades específicas.
Preguntas Frecuentes
P: ¿Cuál es la diferencia entre —lowvram y —novram?
A: --lowvram descarga partes del modelo a RAM del sistema durante la generación, recuperándolas cuando se necesitan. Funciona bien con 6-8GB. --novram pone todo el modelo en RAM completamente; la generación puede tardar 10-30 minutos pero funciona incluso con 4GB. Para uso regular --lowvram es el punto de equilibrio.
P: ¿GGUF reduce la calidad de las imágenes?
A: Q8_0: calidad prácticamente idéntica al original FP16. Q5_K_M: diferencia apenas perceptible. Q4_K_M: ligera pérdida en detalles finos, aceptable para la mayoría de usos. Q3 y Q2: pérdida notable. Para producción: Q5_K_M ofrece el mejor balance calidad/VRAM.
P: ¿Cómo activo el Tile VAE en ComfyUI?
A: Instala el nodo TileVAE desde ComfyUI Manager o usa el nodo ‘Enable VAE Tiling’ de los nodos avanzados. Lo conectas entre el VAE Loader y el VAE Decode. Configura tile_size en 512 para 8GB o 256 para 4-6GB. Solo es necesario para imágenes grandes (>1024px).
P: ¿Puedo usar modelos de 24GB con una GPU de 8GB?
A: Con GGUF Q4_K_M, sí. FLUX Dev de 24GB se comprime a ~7GB en Q4_K_M. Wan 2.2 14B de 30GB se comprime a ~8-10GB en Q4_K_M. La calidad es buena pero no idéntica al original. Para video con Wan: activar sequential_cpu_offload en el ModelLoader permite usar el modelo 14B completo en 14-16GB usando RAM del sistema.
P: ¿Puedo combinar —lowvram con VAE tiling?
A: Sí, es recomendable. Se complementan: --lowvram optimiza el modelo, VAE tiling optimiza el decodificador.
P: ¿Por qué mi imagen sale negra con —fp16-vae?
A: Algunos modelos no toleran bien fp16. Cambia a --fp32-vae o usa --fp16-vae solo para el VAE en el nodo, no globalmente.
P: ¿Cuánto ralentiza —lowvram?
A: Típicamente 20-50% más lento. Una generación de 30 segundos tarda 36-45 segundos. La diferencia es aceptable para la mayoría.
P: ¿Debo usar GGUF o —lowvram?
A: GGUF es mejor si tienes modelos muy grandes (FLUX). --lowvram es más rápido y fácil de activar. Prueba primero --lowvram; si es insuficiente, considera GGUF.
Sigue leyendo
Si quieres profundizar en optimización de modelos de difusión, consulta nuestra guía sobre instalación y configuración avanzada de ComfyUI. Para usuarios interesados en generación de video, te recomendamos explorar nuestro artículo sobre cómo usar Wan y Hunyuan en ComfyUI con bajo consumo de VRAM. Finalmente, si buscas mejorar la calidad de tus generaciones manteniendo la eficiencia, descubre nuestras mejores prácticas para usar LoRAs y control nets sin sobrecargar la memoria.
Conclusión
🏆 Nuestra recomendación
No necesitas una GPU de 24GB para trabajar con ComfyUI. Con las optimizaciones correctas, GPUs de 4-8GB pueden ejecutar la mayoría de modelos modernos:
- Si tienes 4GB: Usa GGUF Q4_K_M +
--lowvram+ VAE tiling + resolución 512x512 - Si tienes 6GB: Usa
--lowvram+ VAE tiling + resolución 768x768 (considera GGUF para FLUX) - Si tienes 8GB: Usa
--lowvramsolo para modelos muy grandes + VAE tiling para 1024x1024
Comienza con --lowvram, que es la opción más equilibrada. Si necesitas más espacio, añade VAE tiling. Si aún es insuficiente, considera cuantización GGUF. Cada técnica tiene un balance diferente entre velocidad y memoria; la clave es encontrar el equilibrio que funcione para tu flujo de trabajo específico. Experimenta con estas opciones y ajusta según tus necesidades.
Siguientes pasos en ComfyUI
Primeros pasos
Preguntas frecuentes
- ¿Cuál es la diferencia entre --lowvram y --novram?
- --lowvram descarga partes del modelo a CPU RAM durante la generación, recuperándolas cuando se necesitan. Funciona bien con 6-8GB. --novram pone todo el modelo en CPU RAM completamente; la generación puede tardar 10-30 minutos pero funciona incluso con 4GB. Para uso regular --lowvram es el punto de equilibrio.
- ¿GGUF reduce la calidad de las imágenes?
- Q8_0: calidad prácticamente idéntica al original FP16. Q5_K_M: diferencia apenas perceptible. Q4_K_M: ligera pérdida en detalles finos, aceptable para la mayoría de usos. Q3 y Q2: pérdida notable. Para producción: Q5_K_M ofrece el mejor balance calidad/VRAM.
- ¿Cómo activo el Tile VAE en ComfyUI?
- Instala el nodo TileVAE desde ComfyUI Manager o usa el nodo 'Enable VAE Tiling' de los nodos avanzados. Lo conectas entre el VAE Loader y el VAE Decode. Configura tile_size en 512 para 8GB o 256 para 4-6GB. Solo es necesario para imágenes grandes (>1024px).
- ¿Puedo usar modelos de 24GB con una GPU de 8GB?
- Con GGUF Q4_K_M, sí. FLUX Dev de 24GB se comprime a ~7GB en Q4_K_M. Wan 2.2 14B de 30GB se comprime a ~8-10GB en Q4_K_M. La calidad es buena pero no idéntica al original. Para video con Wan: activar sequential_cpu_offload en el ModelLoader permite usar el modelo 14B completo en 14-16GB usando RAM del sistema.