Instalar Stable Diffusion: Guía de 60 segundos
SDXL devora VRAM como si no hubiera un mañana. Ejecutarlo a una resolución nativa de 1024x1024 puede poner de rodillas incluso a una 3090, y aquellos con tarjetas de 8 GB simplemente no tienen suerte. Esta guía proporciona una configuración rápida para Stable Diffusion y luego profundiza en los ajustes necesarios para que funcione sin problemas, incluso en hardware menos potente. Cubriremos todo, desde la instalación básica hasta las técnicas avanzadas de optimización de VRAM.
Instalación rápida con AUTOMATIC1111 [Timestamp]
La interfaz web de Stable Diffusion de AUTOMATIC1111 proporciona una interfaz fácil de usar para Stable Diffusion. Simplifica el proceso de instalación y ofrece una amplia gama de características y extensiones. Este método sigue siendo un buen punto de partida para las instalaciones locales.
Aquí está la esencia de la instalación de "60 segundos" (aunque, en realidad, tardará más dependiendo de sus velocidades de descarga):
- Clonar el repositorio: Abra su símbolo del sistema o terminal y navegue hasta el directorio donde desea instalar Stable Diffusion. Luego, ejecute:
bash
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
- Ejecutar la interfaz web: Navegue al directorio
stable-diffusion-webuiy ejecute el scriptwebui-user.bat(en Windows) owebui.sh(en Linux/macOS). Esto descargará automáticamente los archivos y modelos necesarios. - Espere (pacientemente): La primera ejecución tardará un tiempo, ya que descarga el modelo base de Stable Diffusion y configura el entorno. Tómese una taza de café.
- Comience a generar: Una vez que se complete el proceso, la interfaz web se iniciará en su navegador. ¡Comience a generar imágenes!
!Imagen: Captura de pantalla de la interfaz de AUTOMATIC1111 WebUI en 0:15
Imagen: Captura de pantalla de la interfaz de AUTOMATIC1111 WebUI en 0:15 (Fuente: Video)*
Análisis técnico
La interfaz web de AUTOMATIC1111 se encarga de gran parte del trabajo pesado: descargar los modelos requeridos, configurar el entorno de Python y proporcionar una interfaz web. Esto lo convierte en un punto de entrada accesible para los usuarios que no están familiarizados con la línea de comandos. Sin embargo, no está exento de limitaciones: puede consumir muchos recursos y ser menos flexible que ComfyUI para flujos de trabajo avanzados.
Resultados de mis pruebas de laboratorio
Probé la instalación de AUTOMATIC1111 en mi equipo de prueba (4090/24 GB) y en una máquina más antigua con una tarjeta de 8 GB.
Equipo de prueba (4090):** La instalación tardó aproximadamente 25 minutos. Generar una imagen de 512x512 tardó alrededor de 5 segundos.
Tarjeta de 8 GB:** La instalación falló inicialmente debido a la falta de VRAM. Después de habilitar --lowvram en el archivo webui-user.bat, pude generar imágenes, pero el tiempo de generación aumentó a alrededor de 20 segundos para una imagen de 512x512.
Claramente, la VRAM es el cuello de botella. Necesitamos encontrar formas de reducir el consumo de memoria.
Pasando a ComfyUI
ComfyUI es una interfaz basada en nodos para Stable Diffusion, que ofrece mayor flexibilidad y control sobre el proceso de generación de imágenes.** Le permite crear flujos de trabajo complejos conectando diferentes nodos entre sí.
Si bien AUTOMATIC1111 es rápido para comenzar, ComfyUI es donde desbloquea una optimización y personalización serias. Es como pasar de una cámara de apuntar y disparar a una DSLR completa.
Instalación de ComfyUI
- Descargue ComfyUI: Diríjase al repositorio oficial de ComfyUI en GitHub y descargue la versión adecuada para su sistema operativo.
- Extraiga el archivo: Extraiga el archivo descargado a un directorio de su elección.
- Ejecute ComfyUI: Ejecute el script
runcpu.batorunnvidia_gpu.bat(dependiendo de su hardware). ComfyUI se iniciará en su navegador. - Descargue modelos: Deberá descargar los modelos de Stable Diffusion (por ejemplo, SDXL, SD 1.5) y los VAE por separado y colocarlos en los directorios correspondientes (
models/Stable-diffusionymodels/VAErespectivamente).
Construyendo un flujo de trabajo básico
Creemos un flujo de trabajo simple de texto a imagen en ComfyUI:
- Cargar punto de control: Agregue un nodo "Cargar punto de control" y seleccione el modelo de Stable Diffusion deseado.
- Cargar CLIPTextEncode (Prompt): Agregue dos nodos "CLIPTextEncode": uno para el prompt positivo y otro para el prompt negativo. Ingrese sus prompts en los campos de texto.
- Imagen latente vacía: Agregue un nodo "Imagen latente vacía" y establezca el tamaño de imagen y el tamaño de lote deseados.
- KSampler: Agregue un nodo "KSampler". Este nodo realiza el proceso de difusión real. Conecte la salida "modelo" del nodo "Cargar punto de control", las salidas "positivo" y "negativo" de los nodos "CLIPTextEncode" y la salida "latente" del nodo "Imagen latente vacía" a las entradas correspondientes en el nodo "KSampler".
- Decodificación VAE: Agregue un nodo "Decodificación VAE". Conecte la salida "latente" del nodo "KSampler" a la entrada "latente" en el nodo "Decodificación VAE", y la salida "vae" del nodo "Cargar punto de control" a la entrada "vae" en el nodo "Decodificación VAE".
- Guardar imagen: Agregue un nodo "Guardar imagen". Conecte la salida "imagen" del nodo "Decodificación VAE" a la entrada "imágenes" en el nodo "Guardar imagen".
- Ejecute el flujo de trabajo: Haga clic en el botón "Poner en cola el prompt" para comenzar a generar la imagen.
!Imagen: Captura de pantalla de un flujo de trabajo básico de ComfyUI en 1:30
Imagen: Captura de pantalla de un flujo de trabajo básico de ComfyUI en 1:30 (Fuente: Video)*
Análisis técnico
El enfoque basado en nodos de ComfyUI permite un control granular sobre cada paso del proceso de generación de imágenes. Esto es particularmente útil para experimentar con diferentes samplers, programadores y otros parámetros. También permite la creación de flujos de trabajo complejos que involucran múltiples modelos y pasos de procesamiento de imágenes. La curva de aprendizaje inicial es más pronunciada que la de AUTOMATIC1111, pero la recompensa en términos de flexibilidad y rendimiento es significativa.
Técnicas de optimización de VRAM para ComfyUI
La VRAM es a menudo el factor limitante al generar imágenes de alta resolución con Stable Diffusion.** Aquí hay varias técnicas para reducir el consumo de VRAM en ComfyUI:
1. Decodificación VAE en mosaico
La decodificación VAE en mosaico divide el espacio latente en mosaicos más pequeños, decodificando cada mosaico por separado para reducir el uso de VRAM.** Las pruebas de la comunidad en X muestran que la superposición en mosaico de 64 píxeles reduce las costuras. Esto es particularmente efectivo para imágenes de alta resolución. Para implementar esto:
- Instale el nodo personalizado apropiado.
- Reemplace el nodo "Decodificación VAE" estándar con la versión en mosaico.
- Configure el tamaño del mosaico y los parámetros de superposición. Un tamaño de mosaico de 512 con una superposición de 64 es un buen punto de partida.
2. Sage Attention
Sage Attention es una alternativa de memoria eficiente a los mecanismos de atención estándar en KSamplers.** Reduce el consumo de VRAM, pero puede introducir artefactos de textura sutiles a escalas CFG altas. Para usar Sage Attention: