Stable Diffusion es un modelo de aprendizaje profundo de texto a imagen lanzado en 2022 basado en técnicas de difusión . La tecnología de inteligencia artificial generativa es el producto principal de Stability AI y se considera parte del auge actual de la inteligencia artificial .
Se utiliza principalmente para generar imágenes detalladas condicionadas a descripciones de texto, aunque también se puede aplicar a otras tareas como el relleno , el desvanecimiento y la generación de traducciones de imagen a imagen guiadas por una indicación de texto . [3] Su desarrollo involucró a investigadores del Grupo CompVis de la Universidad Ludwig Maximilian de Múnich y Runway con una donación computacional de Stability y datos de entrenamiento de organizaciones sin fines de lucro. [4] [5] [6] [7]
Stable Diffusion es un modelo de difusión latente , una especie de red neuronal artificial generativa profunda . Su código y los pesos del modelo se han publicado públicamente [8] y puede ejecutarse en la mayoría de los equipos de consumo equipados con una GPU modesta con al menos 4 GB de VRAM . Esto marcó un cambio con respecto a los modelos de texto a imagen propietarios anteriores, como DALL-E y Midjourney , a los que solo se podía acceder a través de servicios en la nube . [9] [10]
Stable Diffusion surgió de un proyecto llamado Latent Diffusion , [11] desarrollado en Alemania por investigadores de la Universidad Ludwig Maximilian 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 posteriores de Stable Diffusion. [12]
La licencia técnica del modelo fue publicada por el grupo CompVis de la Universidad Ludwig Maximilian de Múnich. [10] El desarrollo estuvo a cargo de Patrick Esser de Runway y Robin Rombach de CompVis, quienes se encontraban entre los investigadores que habían inventado anteriormente la arquitectura del modelo de difusión latente utilizada por Stable Diffusion. [7] Stability AI también reconoció a EleutherAI y LAION (una organización alemana sin fines de lucro que reunió el conjunto de datos en el que se entrenó a Stable Diffusion) como patrocinadores del proyecto. [7]
Los modelos de la serie Stable Diffusion anteriores a SD 3 usaban un tipo de modelo de difusión (DM), llamado modelo de difusión latente (LDM) , desarrollado por el grupo CompVis (Computer Vision & Learning) [13] en LMU Munich . [14] [8] Introducidos en 2015, los modelos de difusión se entrenan con el objetivo de eliminar aplicaciones sucesivas de ruido gaussiano en imágenes de entrenamiento, que pueden considerarse como una secuencia de autocodificadores de eliminación de ruido . Stable Diffusion consta de 3 partes: el autocodificador variacional (VAE), U-Net y un codificador de texto opcional. [15] El codificador VAE comprime la imagen desde el espacio de píxeles a un espacio latente de dimensión más pequeña , capturando un significado semántico más fundamental de la imagen. [14] El ruido gaussiano se aplica iterativamente a la representación latente comprimida durante la difusión hacia adelante. [15] El bloque U-Net, compuesto por una estructura principal ResNet , elimina el ruido de la salida de la difusión hacia adelante y hacia atrás para obtener una representación latente. Finalmente, el decodificador VAE genera la imagen final convirtiendo la representación nuevamente en espacio de píxeles. [15]
El paso de eliminación de ruido se puede condicionar de forma flexible a una cadena de texto, una imagen u otra modalidad. Los datos de condicionamiento codificados se exponen a U-Nets de eliminación de ruido a través de un mecanismo de atención cruzada . [15] Para el condicionamiento en texto, se utiliza el codificador de texto fijo y preentrenado CLIP ViT-L/14 para transformar las indicaciones de texto en un espacio de incrustación. [8] Los investigadores señalan la mayor eficiencia computacional para el entrenamiento y la generación como una ventaja de los LDM. [7] [14]
El nombre difusión se inspira en la difusión termodinámica y en 2015 se estableció un vínculo importante entre este campo puramente físico y el aprendizaje profundo. [16] [17]
Con 860 millones de parámetros en U-Net y 123 millones en el codificador de texto, Stable Diffusion se considera relativamente liviano para los estándares de 2022 y, a diferencia de otros modelos de difusión, puede ejecutarse en GPU de consumo , [18] e incluso en CPU , solo si se usa la versión OpenVINO de Stable Diffusion. [19]
La versión XL utiliza la misma arquitectura LDM que las versiones anteriores, [20] excepto que es más grande: una red troncal UNet más grande, un contexto de atención cruzada más grande, dos codificadores de texto en lugar de uno y está entrenada en múltiples relaciones de aspecto (no solo la relación de aspecto cuadrada como las versiones anteriores).
El SD XL Refiner, lanzado al mismo tiempo, tiene la misma arquitectura que SD XL, pero fue entrenado para agregar detalles finos a imágenes preexistentes a través de img2img condicional de texto.
La versión 3.0 [21] cambia por completo la estructura básica. No se trata de una UNet, sino de un Transformador de Flujo Rectificado , que implementa el método de flujo rectificado [22] [23] con un Transformador .
La arquitectura Transformer utilizada para SD 3.0 tiene tres "pistas": codificación de texto original, codificación de texto transformado y codificación de imagen (en espacio latente). La codificación de texto transformado y la codificación de imagen se mezclan durante cada bloque de transformación.
La arquitectura se denomina "transformador de difusión multimodal" (MMDiT), donde "multimodal" significa que mezcla codificaciones de texto e imagen dentro de sus operaciones. Esto difiere de las versiones anteriores de DiT, donde la codificación de texto afecta la codificación de imagen, pero no al revés.
Stable Diffusion se entrenó con pares de imágenes y subtítulos tomados de LAION-5B, un conjunto de datos disponible públicamente derivado de datos de Common Crawl extraídos de la web, donde se clasificaron 5 mil millones de pares de imágenes y texto en función del idioma y se filtraron en conjuntos de datos separados por resolución, una probabilidad prevista de contener una marca de agua y una puntuación "estética" prevista (por ejemplo, calidad visual subjetiva). [24] El conjunto de datos fue creado por LAION , una organización alemana sin fines de lucro que recibe fondos de Stability AI. [24] [25] El modelo Stable Diffusion se entrenó con tres subconjuntos de LAION-5B: laion2B-en, laion-high-resolution y laion-aesthetics v2 5+. [24] 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 provenía de 100 dominios diferentes, y Pinterest ocupaba el 8,5% del subconjunto, seguido de sitios web como WordPress , Blogspot , Flickr , DeviantArt y Wikimedia Commons . [ cita requerida ] 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 confidenciales. [26]
El modelo se entrenó inicialmente en los subconjuntos laion2B-en y laion-high-resolution, y las últimas rondas de entrenamiento se realizaron en LAION-Aesthetics v2 5+, un subconjunto de 600 millones de imágenes subtituladas que el LAION-Aesthetics Predictor V2 predijo que los humanos, en promedio, darían una puntuación de al menos 5 sobre 10 cuando se les pidiera que calificaran cuánto les gustaban. [27] [24] [28] El subconjunto LAION-Aesthetics v2 5+ también excluyó las imágenes de baja resolución y las imágenes que LAION-5B-WatermarkDetection identificó como portadoras de una marca de agua con una probabilidad superior al 80%. [24] Las rondas finales de entrenamiento también eliminaron el 10% del condicionamiento de texto para mejorar la guía de difusión sin clasificador. [29]
El modelo se entrenó utilizando 256 GPU Nvidia A100 en Amazon Web Services por un total de 150.000 horas de GPU, a un costo de $600.000. [30] [31] [32]
El entrenamiento de SD3 tuvo un coste de alrededor de 10 millones de dólares. [33]
Stable Diffusion tiene problemas de degradación e imprecisiones en ciertos escenarios. Las versiones iniciales del modelo se entrenaron en un conjunto de datos que consta de imágenes con una resolución de 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; [34] la actualización de la versión 2.0 del modelo Stable Diffusion introdujo posteriormente la capacidad de generar de forma nativa imágenes con una resolución de 768 × 768. [35] Otro desafío es la generación de extremidades humanas debido a la mala calidad de los datos de las extremidades en la base de datos LAION. [36] El modelo no está lo suficientemente entrenado para comprender las extremidades y los rostros humanos debido a la falta de características representativas en la base de datos, y solicitar al modelo que genere imágenes de ese tipo puede confundir al modelo. [37] La versión 1.0 de Stable Diffusion XL (SDXL), lanzada en julio de 2023, introdujo una resolución nativa de 1024x1024 y mejoró la generación de extremidades y texto. [38] [39]
La accesibilidad para desarrolladores individuales también puede ser un problema. Para personalizar el modelo para nuevos casos de uso que no están incluidos en el conjunto de datos, como generar personajes de anime ("difusión de waifu"), [40] se requieren nuevos datos y más entrenamiento. Las adaptaciones ajustadas de Stable Diffusion creadas a través de un reentrenamiento adicional se han utilizado para una variedad de casos de uso diferentes, desde imágenes médicas [41] hasta música generada algorítmicamente . [42] Sin embargo, este proceso de ajuste fino es sensible a la calidad de los nuevos datos; las imágenes de baja resolución o resoluciones diferentes de los datos originales no solo pueden fallar en el aprendizaje de la nueva tarea, sino que degradan el rendimiento general del modelo. Incluso cuando el modelo se entrena adicionalmente en imágenes de alta calidad, es difícil para las personas ejecutar modelos en productos electrónicos de consumo. Por ejemplo, el proceso de entrenamiento para la difusión de waifu requiere un mínimo de 30 GB de VRAM , [43] que excede el recurso habitual proporcionado en GPU de consumo como la serie GeForce 30 de Nvidia , que solo tiene alrededor de 12 GB. [44]
Los creadores de Stable Diffusion reconocen el potencial de sesgo algorítmico , ya que el modelo se entrenó principalmente con imágenes con descripciones en inglés. [31] Como resultado, las imágenes generadas refuerzan los sesgos sociales y provienen de una perspectiva occidental, ya que los creadores señalan que el modelo carece de datos de otras comunidades y culturas. El modelo brinda resultados más precisos para las indicaciones escritas en inglés en comparación con las escritas en otros idiomas, siendo las culturas occidentales o blancas la representación predeterminada. [31]
Para abordar las limitaciones del entrenamiento inicial del modelo, los usuarios finales pueden optar por implementar un entrenamiento adicional para ajustar los resultados de generación de modo que coincidan con casos de uso más específicos, un proceso también conocido como personalización . Existen tres métodos en los que se puede aplicar un ajuste fino accesible para el usuario a un punto de control del modelo de difusión estable:
El modelo de difusión estable permite generar nuevas imágenes desde cero mediante el uso de un mensaje de texto que describe los elementos que se incluirán u omitirán en la salida. [8] El modelo puede volver a dibujar imágenes existentes para incorporar nuevos elementos descritos por un mensaje de texto (un proceso conocido como "síntesis de imágenes guiada" [49] ) a través de su mecanismo de difusión y eliminación de ruido. [8] Además, el modelo también permite el uso de mensajes para alterar parcialmente imágenes existentes mediante la introducción y eliminación de ruido, cuando se utiliza con una interfaz de usuario adecuada que admita dichas funciones, de las que existen numerosas implementaciones de código abierto diferentes. [50]
Se recomienda ejecutar Stable Diffusion con 10 GB o más de VRAM, sin embargo, los usuarios con menos VRAM pueden optar por cargar los pesos con precisión float16 en lugar del float32 predeterminado para compensar el rendimiento del modelo con un menor uso de VRAM. [34]
El script de muestreo de texto a imagen de Stable Diffusion, conocido como "txt2img", consume un mensaje de texto además de diversos parámetros de opción que cubren los tipos de muestreo, las dimensiones de la imagen de salida y los valores de semilla. El script genera un archivo de imagen basado en la interpretación del mensaje por parte del modelo. [8] Las imágenes generadas se etiquetan con una marca de agua digital invisible para permitir que los usuarios identifiquen una imagen como generada por Stable Diffusion, [8] aunque esta marca de agua pierde su eficacia si la imagen se redimensiona o se rota. [51]
Cada generación de txt2img implicará un valor de semilla específico que afecta a la imagen de salida. Los usuarios pueden optar por aleatorizar la semilla para explorar diferentes salidas generadas, o usar la misma semilla para obtener la misma salida de imagen que una imagen generada previamente. [34] Los usuarios también pueden ajustar el número de pasos de inferencia para el muestreador; un valor más alto requiere una mayor duración de tiempo, sin embargo, un valor más bajo puede resultar en defectos visuales. [34] Otra opción configurable, el valor de escala de guía sin clasificador, permite al usuario ajustar qué tan cerca se adhiere la imagen de salida a la indicación. [29] Los casos de uso más experimentales pueden optar por un valor de escala más bajo, mientras que los casos de uso que apuntan a salidas más específicas pueden usar un valor más alto. [34]
Las implementaciones de interfaz de usuario de Stable Diffusion proporcionan características adicionales de text2img , que permiten a los usuarios modificar el peso dado a partes específicas del mensaje de texto. Los marcadores de énfasis permiten a los usuarios agregar o reducir el énfasis a las palabras clave encerrándolas entre corchetes. [52] Un método alternativo para ajustar el peso de partes del mensaje son los "mensajes negativos". Los mensajes negativos son una característica incluida en algunas implementaciones de interfaz de usuario, incluido el servicio en la nube DreamStudio de Stability AI, y permiten al usuario especificar mensajes que el modelo debe evitar durante la generación de imágenes. Los mensajes especificados pueden ser características de imagen indeseables que de otro modo estarían presentes en las salidas de imagen debido a los mensajes positivos proporcionados por el usuario, o debido a cómo se entrenó originalmente el modelo, siendo las manos humanas destrozadas un ejemplo común. [50] [53]
Stable Diffusion también incluye otro script de muestreo, "img2img", que consume un mensaje de texto, una ruta a una imagen existente y un valor de intensidad entre 0,0 y 1,0. El script genera una nueva imagen basada en la imagen original que también incluye elementos proporcionados en el mensaje de texto. El valor de intensidad indica la cantidad de ruido añadido a la imagen de salida. Un valor de intensidad más alto produce más variación dentro de la imagen, pero puede producir una imagen que no sea semánticamente coherente con el mensaje proporcionado. [8]
Existen diferentes métodos para realizar la conversión img2img. El método principal es SDEdit, [54] que primero agrega ruido a una imagen y luego lo elimina como es habitual en text2img.
La capacidad de img2img para añadir ruido a la imagen original la hace potencialmente útil para la anonimización y el aumento de datos , en los que se modifican y anonimizan las características visuales de los datos de la imagen. [55] El mismo proceso también puede ser útil para el aumento de escala de la imagen, en el que se aumenta la resolución de una imagen, y potencialmente se añaden más detalles a la imagen. [55] Además, se ha experimentado con Stable Diffusion como herramienta para la compresión de imágenes. En comparación con JPEG y WebP , los métodos recientes utilizados para la compresión de imágenes en Stable Diffusion enfrentan limitaciones a la hora de preservar textos y rostros pequeños. [56]
Numerosas implementaciones de interfaz del modelo Stable Diffusion ofrecen casos de uso adicionales para la modificación de imágenes a través de img2img. La restauración de la imagen implica modificar selectivamente una parte de una imagen existente delineada por una máscara de capa proporcionada por el usuario , que llena el espacio enmascarado con contenido recién generado en función de la solicitud proporcionada. [50] Stability AI creó un modelo dedicado específicamente ajustado para casos de uso de restauración de la imagen junto con el lanzamiento de Stable Diffusion 2.0. [35] Por el contrario, la restauración de la imagen extiende una imagen más allá de sus dimensiones originales, llenando el espacio previamente vacío con contenido generado en función de la solicitud proporcionada. [50]
El 24 de noviembre de 2022, con el lanzamiento de Stable Diffusion 2.0, se introdujo un modelo guiado por profundidad, denominado "depth2img". Este modelo infiere la profundidad de la imagen de entrada proporcionada y genera una nueva imagen de salida basada tanto en el mensaje de texto como en la información de profundidad, lo que permite mantener la coherencia y la profundidad de la imagen de entrada original en la salida generada. [35]
ControlNet [57] es una arquitectura de red neuronal diseñada para gestionar modelos de difusión mediante la incorporación de condiciones adicionales. Duplica los pesos de los bloques de la red neuronal en una copia "bloqueada" y una copia "entrenable". La copia "entrenable" aprende la condición deseada, mientras que la copia "bloqueada" conserva el modelo original. Este enfoque garantiza que el entrenamiento con pequeños conjuntos de datos de pares de imágenes no comprometa la integridad de los modelos de difusión listos para producción. La "convolución cero" es una convolución 1×1 con el peso y el sesgo inicializados a cero. Antes del entrenamiento, todas las convoluciones cero producen una salida cero, lo que evita cualquier distorsión causada por ControlNet. Ninguna capa se entrena desde cero; el proceso aún se está ajustando, lo que mantiene seguro el modelo original. Este método permite el entrenamiento en dispositivos de pequeña escala o incluso personales.
Stability proporciona un servicio de generación de imágenes en línea llamado DreamStudio . [58] [59] La compañía también lanzó una versión de código abierto de DreamStudio llamada StableStudio . [60] [61] Además de las interfaces de Stability, existen muchas interfaces de código abierto de terceros, como AUTOMATIC1111 Stable Diffusion Web UI , que es la más popular y ofrece funciones adicionales, [62] Fooocus , que tiene como objetivo disminuir la cantidad de indicaciones que necesita el usuario, [63] y ComfyUI , que tiene una interfaz de usuario basada en nodos , esencialmente un lenguaje de programación visual similar a muchas aplicaciones de modelado 3D . [64] [65] [66]
Documentos clave
Costo de capacitación
Stable Diffusion no reclama ningún derecho sobre las imágenes generadas y otorga libremente a los usuarios los derechos de uso de cualquier imagen generada a partir del modelo, siempre que el contenido de la imagen no sea ilegal ni perjudicial para las personas. [80]
Las imágenes con las que se entrenó Stable Diffusion se filtraron sin intervención humana, lo que generó algunas imágenes dañinas y grandes cantidades de información privada y confidencial que aparecen en los datos de entrenamiento. [26]
Los artistas visuales más tradicionales han expresado su preocupación por el hecho de que el uso generalizado de software de síntesis de imágenes como Stable Diffusion pueda eventualmente llevar a que los artistas humanos, junto con los fotógrafos, modelos, directores de fotografía y actores, pierdan gradualmente viabilidad comercial frente a competidores basados en IA. [81]
Stable Diffusion es notablemente más permisiva en los tipos de contenido que los usuarios pueden generar, como imágenes violentas o sexualmente explícitas, en comparación con otros productos comerciales basados en IA generativa. [82] En respuesta a las preocupaciones de que el modelo pueda usarse con fines abusivos, el director ejecutivo de Stability AI, Emad Mostaque , argumenta que "[es] responsabilidad de las personas si son éticas, morales y legales en la forma en que operan esta tecnología", [10] y que poner las capacidades de Stable Diffusion en manos del público daría como resultado que la tecnología proporcione un beneficio neto, a pesar de las posibles consecuencias negativas. [10] Además, Mostaque argumenta que la intención detrás de la disponibilidad abierta de Stable Diffusion es terminar con el control y dominio corporativo sobre tales tecnologías, que anteriormente solo han desarrollado sistemas de IA cerrados para la síntesis de imágenes. [10] [82] Esto se refleja en el hecho de que cualquier restricción que Stability AI imponga al contenido que los usuarios pueden generar se puede eludir fácilmente debido a la disponibilidad del código fuente. [83]
Se ha generado controversia en torno a representaciones sexualizadas fotorrealistas de personajes menores de edad , debido a que dichas imágenes generadas por Stable Diffusion se comparten en sitios web como Pixiv . [84]
En junio de 2024, se produjo un ataque a una extensión de ComfyUI , una interfaz de usuario para Stable Diffusion, y los piratas informáticos afirmaron que tenían como objetivo a usuarios que cometieron "uno de nuestros pecados", que incluía la generación de arte con IA, el robo de arte y la promoción de criptomonedas. [85]
En enero de 2023, tres artistas, Sarah Andersen , Kelly McKernan y Karla Ortiz, presentaron una demanda por infracción de derechos de autor contra Stability AI, Midjourney y DeviantArt , alegando que estas empresas han infringido los derechos de millones de artistas al entrenar herramientas de IA en cinco mil millones de imágenes extraídas de la web sin el consentimiento de los artistas originales. [86]
En julio de 2023, el juez de distrito estadounidense William Orrick se inclinó a desestimar la mayor parte de la demanda presentada por Andersen, McKernan y Ortiz, pero les permitió presentar una nueva denuncia, brindándoles la oportunidad de replantear sus argumentos. [87]
En enero de 2023, Getty Images inició un proceso legal contra Stability AI en el Tribunal Superior de Inglaterra, alegando una infracción significativa de sus derechos de propiedad intelectual. Getty Images afirma que Stability AI "extrajo" millones de imágenes de los sitios web de Getty sin consentimiento y utilizó estas imágenes para entrenar y desarrollar su modelo de aprendizaje profundo Stable Diffusion. [88] [89]
Los puntos clave de la demanda incluyen:
Se espera que el juicio tenga lugar en el verano de 2025 y tiene implicaciones significativas para la legislación de derechos de autor del Reino Unido y la concesión de licencias de contenido generado por IA.
A diferencia de modelos como DALL-E , Stable Diffusion pone a disposición su código fuente , [92] [8] junto con el modelo (pesos preentrenados). Antes de Stable Diffusion 3, aplicaba la licencia Creative ML OpenRAIL-M, una forma de Licencia de IA Responsable (RAIL), al modelo (M). [93] La licencia prohíbe ciertos casos de uso, incluidos el delito, la difamación , el acoso , el doxing , la " explotación ... de menores ", la prestación de asesoramiento médico, la creación automática de obligaciones legales, la producción de pruebas legales y la "discriminación o el daño a individuos o grupos en función de ... el comportamiento social o ... las características personales o de personalidad ... [o] las características o categorías legalmente protegidas ". [94] [95] El usuario posee los derechos de las imágenes de salida generadas y es libre de utilizarlas comercialmente. [96]
Stable Diffusion 3.5 aplica la licencia comunitaria Stability AI permisiva, mientras que las empresas comerciales con ingresos superiores a $1 millón necesitan la licencia Stability AI Enterprise. [97] Al igual que con la licencia OpenRAIL-M, el usuario conserva los derechos sobre las imágenes de salida generadas y es libre de usarlas comercialmente. [1]
{{cite arXiv}}
: CS1 maint: varios nombres: lista de autores ( enlace ){{cite web}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )El CCDH, un grupo de campaña, probó cuatro de las plataformas de IA públicas más grandes: Midjourney, ChatGPT Plus de OpenAI, DreamStudio de Stability.ai y Image Creator de Microsoft.