Stable Diffusion XL (SDXL) es un modelo de aprendizaje profundo de texto a imagen lanzado por Stability AI en julio de 2023. Es una versión mejorada del modelo original de Stable Diffusion, diseñada para generar imágenes de mayor resolución con más detalle y precisión compositiva. SDXL forma parte del auge más amplio de la IA generativa y representa un avance significativo en los modelos de difusión, haciendo accesible la síntesis de imágenes de alta calidad a un público más amplio.
El modelo se utiliza principalmente para generar imágenes detalladas condicionadas por descripciones de texto, pero también admite tareas como Inpainting, outpainting y traducción de imagen a imagen guiada por un prompt de texto. A diferencia de sistemas propietarios anteriores como DALL-E y Midjourney, que solo eran accesibles a través de servicios en la nube, el código y los pesos de SDXL se publicaron públicamente, lo que permite ejecutarlo en hardware de consumo con GPUs modestas. Esta apertura marcó una diferencia con respecto a los modelos de texto a imagen anteriores y contribuyó a la rápida adopción de las tecnologías de Stable Diffusion.
Desarrollo
SDXL fue desarrollado por Stability AI en colaboración con investigadores del Grupo CompVis de la LMU de Múnich y Runway, con apoyo computacional de Stability AI y datos de entrenamiento de organizaciones sin fines de lucro. El proyecto se basó en la arquitectura de modelo de difusión latente (LDM), inventada en 2021 por investigadores de la LMU de Múnich y la Universidad de Heidelberg, entre ellos Robin Rombach, Andreas Blattmann, Patrick Esser y Dominik Lorenz. Estos investigadores se unieron posteriormente a Stability AI para desarrollar versiones posteriores de Stable Diffusion.
La licencia técnica del modelo fue publicada por el grupo CompVis, y el desarrollo fue liderado por Patrick Esser de Runway y Robin Rombach de CompVis. Stability AI también acreditó a EleutherAI y LAION, una organización alemana sin fines de lucro que recopiló el conjunto de datos de entrenamiento, como partidarios. El lanzamiento de SDXL siguió al éxito del Stable Diffusion original en 2022 y tuvo como objetivo abordar las limitaciones en resolución y detalle.
Tecnología
Arquitectura
SDXL utiliza una variante de los modelos de difusión llamada modelos de difusión latente (LDM), desarrollada en 2021. Los modelos de difusión, introducidos en 2015, se entrenan para eliminar aplicaciones sucesivas de ruido gaussiano de las imágenes de entrenamiento, funcionando como una secuencia de autoencoders de denoising. El nombre "difusión" proviene de la difusión termodinámica, ya que los modelos se inspiraron en la termodinámica.
SDXL consta de tres partes principales: un autoencoder variacional (VAE), una U-Net y un codificador de texto opcional. El codificador VAE comprime una imagen del espacio de píxeles a un espacio latente de menor dimensión, capturando el significado semántico de la imagen. Se aplica ruido gaussiano de forma iterativa a la representación latente comprimida durante la difusión directa. El bloque U-Net, compuesto por una red troncal ResNet, elimina el ruido de la salida para obtener una representación latente. Finalmente, el decodificador VAE genera la imagen final convirtiendo la representación de nuevo al espacio de píxeles.
El paso de denoising puede estar condicionado por texto, una imagen u otra modalidad. Los datos de condicionamiento codificados se exponen a la U-Net de denoising a través de un mecanismo de atención cruzada. Para el condicionamiento por texto, SDXL utiliza dos codificadores de texto en lugar de uno, lo que mejora la capacidad del modelo para comprender prompts complejos. El mayor contexto de atención cruzada y el entrenamiento con múltiples relaciones de aspecto permiten a SDXL generar imágenes en varias resoluciones, no solo en el formato cuadrado de versiones anteriores.
Con 860 millones de parámetros en la U-Net y 123 millones en el codificador de texto, SDXL es relativamente ligero en comparación con otros modelos de su época, lo que permite ejecutarlo en GPUs de consumo con tan solo 2,4 GB de VRAM. Una versión optimizada puede incluso ejecutarse solo con CPU usando OpenVINO.
SD XL Refiner
Junto con SDXL, Stability AI lanzó el SD XL Refiner, que tiene la misma arquitectura pero fue entrenado específicamente para añadir detalles finos a imágenes preexistentes mediante traducción de imagen a imagen condicionada por texto. Este modelo refinador permite a los usuarios mejorar imágenes generadas de forma iterativa.
Datos de entrenamiento
SDXL fue entrenado con pares de imágenes y pies de foto de LAION-5B, un conjunto de datos disponible públicamente derivado de datos de Common Crawl extraídos de la web. El conjunto de datos contiene 5 mil millones de pares de imagen-texto, filtrados por idioma, resolución, probabilidad de marca de agua y puntuación estética. El entrenamiento utilizó tres subconjuntos: laion2B-en, laion-high-resolution y laion-aesthetics v2 5+. El último subconjunto incluye 600 millones de imágenes con puntuaciones estéticas predichas de al menos 5 sobre 10, excluyendo imágenes de baja resolución y aquellas con marcas de agua.
Un análisis de terceros de los datos de entrenamiento reveló que aproximadamente el 47% de un subconjunto más pequeño de 12 millones de imágenes provenía de 100 dominios diferentes, siendo Pinterest responsable del 8,5%, seguido de WordPress, Blogspot, Flickr, DeviantArt y Wikimedia Commons. Una investigación de Bayerischer Rundfunk encontró que los conjuntos de datos de LAION contenían grandes cantidades de datos privados y sensibles, lo que planteó preocupaciones sobre la privacidad.
Procedimientos de entrenamiento
El modelo fue entrenado inicialmente en laion2B-en y laion-high-resolution, con rondas finales en LAION-Aesthetics v2 5+. El entrenamiento eliminó el 10% del condicionamiento de texto para mejorar la guía de difusión sin clasificador. SDXL fue entrenado usando 256 GPUs Nvidia A100 en Amazon Web Services durante un total de 150.000 horas de GPU, con un costo de $600.000.
Limitaciones
Como otros modelos de difusión, SDXL tiene limitaciones, incluidos problemas de degradación en ciertos escenarios. Puede tener dificultades con detalles finos, como manos o texto, y puede producir artefactos. Los datos de entrenamiento del modelo también introducen sesgos y posibles problemas de privacidad, como se señaló en las investigaciones. En el momento de su lanzamiento, SDXL se consideraba una mejora significativa con respecto a versiones anteriores, pero aún requería una ingeniería de prompts cuidadosa para obtener resultados óptimos.
Impacto
El lanzamiento de SDXL contribuyó al auge de la IA al democratizar la generación de texto a imagen de alta calidad. Su disponibilidad abierta permitió a desarrolladores y artistas integrarlo en diversas aplicaciones, desde la creación artística hasta el diseño. La arquitectura del modelo influyó en desarrollos posteriores en difusión latente y modelos basados en transformers, incluido el posterior SD 3.0, que reemplazó la U-Net por un transformer de flujo rectificado.
SDXL también provocó debates sobre derechos de autor, ética y el impacto social de la IA generativa, ya que permitió la creación generalizada de imágenes realistas. Sus datos de entrenamiento, obtenidos de la web, plantearon preguntas sobre el consentimiento y el uso de datos, lo que llevó a debates continuos en la comunidad de IA.
Véase también
- Lanzamiento público de Stable Diffusion
- Artículo sobre modelos de difusión
- CLIP
- Autoencoder variacional
- U-Net
- ResNet
- Mecanismo de atención
- LAION
- EleutherAI
- Runway
- Robin Rombach
- Stability AI