Stable Diffusion 2.0 es un modelo de aprendizaje profundo de texto a imagen lanzado en 2022 por Stability AI, basado en técnicas de difusión. Forma parte del actual auge de la IA en la IA generativa y se utiliza principalmente para generar imágenes detalladas condicionadas por descripciones de texto, aunque también puede manejar tareas como inpainting, outpainting y traducciones de imagen a imagen guiadas por un prompt de texto. El modelo es un modelo de difusión latente, un tipo de red neuronal artificial generativa profunda, y su código y pesos del modelo se publicaron públicamente, lo que permite ejecutarlo en la mayoría del hardware de consumo con una GPU modesta de tan solo 2.4 GB de VRAM. Esto marcó una diferencia con respecto a los modelos de texto a imagen propietarios anteriores, como DALL-E y Midjourney, que solo eran accesibles a través de servicios en la nube.
El desarrollo de Stable Diffusion involucró a investigadores del grupo CompVis de la LMU de Múnich y Runway, con una donación computacional de Stability AI y datos de entrenamiento de organizaciones sin fines de lucro. El modelo representa un paso significativo para hacer accesible la IA generativa avanzada a un público más amplio, ya que puede ejecutarse localmente en lugar de requerir acceso basado en la nube.
Historia del desarrollo
Stable Diffusion se originó a partir de un proyecto llamado difusión latente, desarrollado en Alemania por investigadores de la LMU de Múnich y la Universidad de Heidelberg. Cuatro de los cinco autores originales - Robin Rombach, Andreas Blattmann, Patrick Esser y Dominik Lorenz - se unieron posteriormente a Stability AI y lanzaron versiones subsiguientes del modelo. La licencia técnica del modelo fue publicada por el grupo CompVis de la LMU de Múnich. El desarrollo fue liderado por Patrick Esser de Runway y Robin Rombach de CompVis, quienes estuvieron entre los investigadores que habían inventado anteriormente la arquitectura de modelo de difusión latente utilizada por Stable Diffusion. Stability AI también acreditó a EleutherAI y LAION, una organización sin fines de lucro alemana que ensambló el conjunto de datos con el que se entrenó el modelo, como partidarios del proyecto.
El lanzamiento de Stable Diffusion 2.0 siguió al lanzamiento público inicial de Stable Diffusion en agosto de 2022, que ya había atraído una atención significativa por su capacidad de generar imágenes de alta calidad a partir de prompts de texto. La versión 2.0 introdujo varias mejoras y refinamientos en la arquitectura y el proceso de entrenamiento.
Tecnología
Arquitectura
Los modelos de difusión, introducidos en 2015, se entrenan con el objetivo de eliminar aplicaciones sucesivas de ruido gaussiano en imágenes de entrenamiento, lo que puede considerarse como una secuencia de autoencoders de denoising. El nombre "difusión" proviene de la difusión termodinámica, ya que los modelos se desarrollaron por primera vez con inspiración en la termodinámica. Los modelos de la serie Stable Diffusion anteriores a SD 3 utilizaron todos una variante de modelos de difusión llamada modelo de difusión latente (LDM), desarrollado en 2021 por el grupo CompVis de la LMU de Múnich.
Stable Diffusion consta de tres partes: el autoencoder variacional (VAE), una U-Net y un codificador de texto opcional. El codificador del VAE comprime la imagen del espacio de píxeles a un espacio latente de menor dimensión, capturando un significado semántico más fundamental de la imagen. Se aplica ruido gaussiano de manera iterativa a la representación latente comprimida durante la difusión directa. El bloque U-Net, compuesto por una arquitectura de ResNet, elimina el ruido de la salida de la difusión directa hacia atrás para obtener una representación latente. Finalmente, el decodificador del VAE genera la imagen final convirtiendo la representación de vuelta al espacio de píxeles.
El paso de denoising puede estar condicionado de manera flexible por una cadena de texto, una imagen u otra modalidad. Los datos de condicionamiento codificados se exponen a las U-Nets de denoising mediante un mecanismo de atención cruzada. Para el condicionamiento por texto, se utiliza el codificador de texto fijo y preentrenado CLIP ViT-L/14 para transformar los prompts de texto a un espacio de embeddings. Los investigadores señalan el aumento de la eficiencia computacional para el entrenamiento y la generación como una ventaja de los LDM.
Con 860 millones de parámetros en la U-Net y 123 millones en el codificador de texto, Stable Diffusion se considera relativamente ligero según los estándares de 2022. A diferencia de otros modelos de difusión, puede ejecutarse en GPUs de consumo, e incluso solo en CPU si se utiliza la versión OpenVINO de Stable Diffusion.
Datos de entrenamiento
Stable Diffusion se entrenó con pares de imágenes y leyendas tomados de LAION-5B, un conjunto de datos público derivado de datos de Common Crawl extraídos de la web. El conjunto de datos contiene 5 mil millones de pares de imagen-texto que se clasificaron según el idioma y se filtraron en conjuntos de datos separados por resolución, una probabilidad predicha de contener una marca de agua y una puntuación "estética" predicha (por ejemplo, calidad visual subjetiva). El conjunto de datos fue creado por LAION, una organización sin fines de lucro alemana que recibe financiación de Stability AI.
El modelo Stable Diffusion se entrenó en tres subconjuntos de LAION-5B: laion2B-en, 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% de la muestra de imágenes provenía de 100 dominios diferentes, con Pinterest ocupando el 8.5% del subconjunto, seguido de sitios web como WordPress, Blogspot, Flickr, DeviantArt y Wikimedia Commons. Una investigación de Bayerischer Rundfunk mostró que los conjuntos de datos de LAION, alojados en Hugging Face, contienen grandes cantidades de datos privados y sensibles.
Procedimientos de entrenamiento
El modelo se entrenó inicialmente en los subconjuntos laion2B-en y laion-high-resolution, con las últimas rondas de entrenamiento realizadas en LAION-Aesthetics v2 5+, un subconjunto de 600 millones de imágenes con leyendas que el Predictor V2 de LAION-Aesthetics predijo que los humanos, en promedio, darían una puntuación de al menos 5 de 10 cuando se les pidiera calificar cuánto les gustaban. El subconjunto LAION-Aesthetics v2 5+ también excluyó imágenes de baja resolución e imágenes que la Detección de Marcas de Agua de LAION-5B identificó como portadoras de una marca de agua con una probabilidad mayor al 80%. Las rondas finales de entrenamiento adicionalmente eliminaron el 10% del condicionamiento de texto para mejorar la Guía de Difusión sin Clasificador.
El modelo se entrenó utilizando 256 GPUs Nvidia A100 en Amazon Web Services durante un total de 150,000 horas de GPU, a un costo de $600,000.
Mejoras en la Versión 2.0
Stable Diffusion 2.0 introdujo varias mejoras clave sobre el lanzamiento original. El modelo incorporó un nuevo codificador de texto, utilizando un modelo CLIP más grande que mejoró la alineación entre los prompts de texto y las imágenes generadas. Los datos de entrenamiento también se refinaron, con un mayor énfasis en imágenes de alta resolución y estéticamente agradables, lo que ayudó a reducir la aparición de artefactos y mejorar la calidad general de la imagen.
Además, la versión 2.0 incluyó un mejor soporte para relaciones de aspecto no cuadradas, permitiendo a los usuarios generar imágenes en una variedad más amplia de formatos. El modelo también mostró un rendimiento mejorado en tareas como inpainting y outpainting, donde partes de una imagen se rellenan o extienden en función del contexto circundante.
Limitaciones
Stable Diffusion tiene problemas con la degradación y los artefactos en ciertos escenarios. El modelo puede tener dificultades para generar representaciones precisas de escenas complejas, particularmente aquellas que involucran múltiples objetos o detalles intrincados. También puede producir contenido sesgado o inapropiado, reflejando sesgos presentes en los datos de entrenamiento. La dependencia del modelo del codificador de texto CLIP significa que su comprensión del lenguaje está limitada a lo que CLIP ha aprendido, lo que puede llevar a interpretaciones erróneas de ciertos prompts.
Además, los datos de entrenamiento, extraídos de la web, contienen una amplia gama de contenido, parte del cual puede ser privado o sensible. Esto ha planteado preocupaciones sobre la privacidad y las implicaciones éticas del uso de tales datos para entrenar modelos generativos. El costo computacional del entrenamiento, aunque menor que el de algunas alternativas, aún requiere recursos significativos, y el rendimiento del modelo puede variar según el hardware utilizado para la inferencia.
Impacto y recepción
El lanzamiento de Stable Diffusion 2.0 fue parte del lanzamiento público más amplio de Stable Diffusion que contribuyó al auge de la IA generativa. La naturaleza de código abierto del modelo y su capacidad para ejecutarse en hardware de consumo lo hicieron ampliamente accesible, fomentando una ola de aplicaciones creativas y comerciales. También influyó en desarrollos posteriores en el campo, incluido el lanzamiento de otros modelos de código abierto y la integración de técnicas basadas en difusión en diversos productos.
La accesibilidad del modelo también generó discusiones sobre derechos de autor, propiedad artística y el potencial de uso indebido, lo que llevó a debates continuos sobre la regulación de las tecnologías de IA generativa. A pesar de estos desafíos, Stable Diffusion 2.0 sigue siendo un hito significativo en la evolución de la generación de texto a imagen, demostrando la viabilidad de modelos generativos de alta calidad que no están confinados a servicios en la nube.