Stable Diffusion

From Wikipedia, the free encyclopedia

Tipo de programa generación de texto a imagen
Autor LMU Munich y Runway
Modelo de desarrollo Código abierto
Stable Diffusion
Información general
Tipo de programa generación de texto a imagen
Autor LMU Munich y Runway
Desarrollador https://github.com/CompVis/stable-diffusion
Modelo de desarrollo Código abierto
Lanzamiento inicial 22 de agosto de 2022
Licencia Licencia Creative ML OpenRAIL-M
Idiomas Inglés
Información técnica
Programado en Python
Versiones
Última versión estable SDXL 1.026 de julio de 2023
Enlaces

Stable Diffusion es un modelo de aprendizaje automático desarrollado por Runway y LMU Múnich[1] para generar imágenes digitales de alta calidad a partir de descripciones en lenguaje natural o estímulos (prompts, en inglés). El modelo se puede usar para diferentes tareas, como la generación de traducciones de imagen a imagen guiadas por mensajes de texto y la mejora de imágenes.

A diferencia de modelos de la competencia como DALL-E, Stable Diffusion es de código abierto[2] y no limita artificialmente las imágenes que produce.[3] Los críticos han expresado su preocupación por la ética de la IA, afirmando que el modelo se puede utilizar para crear deepfakes.[4] Puede ejecutarse en el hardware del usuario equipado con una tarjeta gráfica (GPU), es completamente gratis, se puede acceder a él en línea y fue elogiado por PC World como «la próxima aplicación revolucionaria para su PC».[5] Desde su lanzamiento inicial, más de 200.000 personas han descargado el código.[6] El modelo original fue liberado a través de la colaboración de las comunidades CompVis LMU, Runway, y Stability AI, con el apoyo de EleutherAI y LAION.

Stable Diffusion utiliza una variante del modelo de difusión (DM), denominada modelo de difusión latente (LDM).[7] Introducidos en 2015, los modelos de difusión se entrenan con el objetivo de eliminar aplicaciones sucesivas de ruido gaussiano en las imágenes de entrenamiento, que pueden considerarse una secuencia de autocodificadores de eliminación de ruido. Stable Diffusion consta de tres partes: el autocodificador variacional (VAE), U-Net y un codificador de texto opcional.[8] El codificador VAE comprime la imagen desde el espacio de píxeles a un espacio latente de dimensiones más pequeñas, capturando un significado semántico más fundamental de la imagen.[9] El ruido gaussiano se aplica iterativamente a la representación latente comprimida durante la difusión directa[8] El bloque U-Net, compuesto por una columna vertebral ResNet, elimina el ruido de la salida de la difusión directa hacia atrás para obtener la representación latente. Por último, el descodificador VAE genera la imagen final convirtiendo la representación de nuevo al espacio de píxeles[8] El paso de eliminación de ruido puede condicionarse de forma flexible a una cadena de texto, una imagen y otras modalidades. Los datos de condicionamiento codificados se exponen a las U-Nets de eliminación de ruido mediante un mecanismo de atención cruzada.[8] Para condicionar el texto, se utiliza el codificador de texto fijo y preentrenado CLIP ViT-L/14 para transformar las indicaciones de texto a un espacio de incrustación[1]. Los investigadores señalan la mayor eficiencia computacional para el entrenamiento y la generación como una ventaja de los LDM.[10][11]

Datos de entrenamiento

Ejemplo de imagen generada por Stable Diffusion
Una imagen al estilo pintura digital sobre el diseño urbano
Ejemplo de imagen generada por Stable Diffusion
Una imagen al estilo Beksiński
Video del proceso de difusión (paisajes de fantasía)

Stable Diffusion se entrenó con pares de imágenes y subtítulos extraídos de la base de datos LAION-5B, un conjunto de datos de acceso público derivado de los datos de Common Crawl extraídos de la web, en el que se clasificaron 5.000 millones de pares imagen-texto en función del idioma, se filtraron en conjuntos de datos separados por resolución, se predijo la probabilidad de que contuvieran una marca de agua y se predijo la puntuación "estética" (por ejemplo, la calidad visual subjetiva).[12][13] El conjunto de datos fue creado por LAION, una organización alemana sin ánimo de lucro que recibe financiación de Stability AI.[12][13] El modelo Stable Diffusion se entrenó con tres subconjuntos de LAION-5B: laion2B-es, laion-high-resolution y laion-aesthetics v2 5+. Un análisis de terceros de los datos de entrenamiento del modelo identificó que de un subconjunto más pequeño de 12 millones de imágenes tomadas del conjunto de datos original más amplio utilizado, aproximadamente el 47 % del tamaño de la muestra de imágenes procedía de 100 dominios diferentes, de los cuales Pinterest ocupaba el 8,5 % del subconjunto, seguido de sitios web como WordPress, Blogspot, Flickr, DeviantArt y Wikimedia Commons.[14]

Procedimientos de entrenamiento

El modelo se entrenó inicialmente con los subconjuntos laion2B-es y laion-high-resolution, y las últimas rondas de entrenamiento se realizaron con LAION-Aesthetics v2 5+, un subconjunto de 600 millones de imágenes subtituladas a las que LAION-Aesthetics Predictor V2 predijo que los humanos darían, de media, una puntuación de al menos 5 sobre 10 cuando se les pidiera que valoraran cuánto les gustaban.[15][16] El subconjunto LAION-Aesthetics v2 5+ también excluía las imágenes de baja resolución y las imágenes que LAION-5B-WatermarkDetection identificaba como portadoras de una marca de agua con una probabilidad superior al 80 %.[12] En las rondas finales de entrenamiento se eliminó además un 10 % de condicionamiento de texto para mejorar la orientación de difusión sin clasificador.[17]

El modelo se entrenó utilizando 256 GPU Nvidia A100 en Amazon Web Services, lo que supuso un total de 150.000 horas de GPU, con un coste de 600.000 dólares.[18][19][20]

El código y pesos ('pretrained weights') del modelo de Stable Diffusion son de dominio público, y puede ejecutarse en la mayoría del hardware de consumo equipado con una GPU con al menos 8 GB de VRAM.

Versiones

Imagen creada con Stable Diffusion.

Las versiones iniciales del modelo se entrenaron en un conjunto de datos que consta de imágenes de resolución 512 × 512, lo que significa que la calidad de las imágenes generadas se degrada notablemente cuando las especificaciones del usuario se desvían de su resolución "esperada" de 512 × 512.[21] El 20 de octubre de 2022 actualizaron a su versión 1.5 con algunas mejoras menores e incluyendo inpainting (hasta ese momento podía ser usado solo a través de software de terceros).[cita requerida]

La actualización de la versión 2.0,[22] liberada el 24 de noviembre, introdujo posteriormente la capacidad de generar imágenes de forma nativa con una resolución de 768×768.[23] Además, se introdujo la capacidad de utilizar estímulos negativos auxiliares y mapas de profundidad (depth maps), lo cual aumentó la versatilidad y capacidades del sistema. No obstante dicha actualización atrajo críticas[24][25] debido a que (sin el uso de prompts negativos) las figuras humanas aparecían deformes y la excesiva censura de los datos de entrenamiento.[26] El 7 de diciembre de 2022 ya habían publicado su versión 2.1[27] con algunas correcciones.

Número de versión Fecha de lanzamiento Parámetros Notas
1.1, 1.2, 1.3, 1.4[28] Agosto 2022 Todos fueron lanzados por CompVis. No existe una "versión 1.0". La versión 1.1 dio lugar a la 1.2, y la versión 1.2 dio lugar tanto a la 1.3 como a la 1.4.[29]
1.5[30] Octubre 2022 983M Inicializado con los pesos de la versión 1.2, no de la 1.4. Lanzado por RunwayML.
2.0[31] Noviembre 2022 Reentrenado desde cero en un conjunto de datos filtrado.[32]
2.1[33] Diciembre 2022 Inicializado con los pesos de la versión 2.0.
XL 1.0[34][35] Julio 2023 3.5B El modelo base XL 1.0 tiene 3.5 mil millones de parámetros, lo que lo hace alrededor de 3.5 veces más grande que las versiones anteriores.[36]
XL Turbo[37] Noviembre 2023 Destilado desde XL 1.0 para ejecutarse en menos pasos de difusión.[38]
3.0[39] Febrero 2024 (early preview) 800M to 8B Una familia de modelos.
3.5[40] Octubre 2024 2.5B to 8B Una familia de modelos con Large (8 mil millones de parámetros), Large Turbo (destilado de SD 3.5 Large) y Medium (2.5 mil millones de parámetros).

Limitaciones y controversias

Véase también

Referencias

Related Articles

Wikiwand AI