Stable Diffusion es un modelo de texto a imagen de aprendizaje profundo lanzado en 2022 basado en técnicas de difusión . Se considera parte del actual auge de la IA .
Se utiliza principalmente para generar imágenes detalladas condicionadas a descripciones de texto, aunque también se puede aplicar a otras tareas como pintar , pintar y generar traducciones de imagen a imagen guiadas por un mensaje de texto . [3] En su desarrollo participaron investigadores del Grupo CompVis de la Universidad Ludwig Maximilian de Munich y Runway con una donación computacional de Stability AI y datos de entrenamiento de organizaciones sin fines de lucro. [4] [5] [6] [7]
La difusión estable es un modelo de difusión latente , una especie de red neuronal artificial generativa profunda . Su código y pesos de modelo han sido de código abierto , [8] y puede ejecutarse en la mayoría de hardware de consumo equipado con una GPU modesta con al menos 4 GB de VRAM . Esto marcó un cambio con respecto a los modelos propietarios anteriores de conversión de texto a imagen, como DALL-E y Midjourney , a los que solo se podía acceder a través de servicios en la nube . [9] [10]
El desarrollo de Stable Diffusion fue financiado y moldeado por la nueva empresa Stability AI . [10] [11] [12] [13] La licencia técnica para el modelo fue emitida por el grupo CompVis de la Universidad Ludwig Maximilian de Munich. [10] El desarrollo fue dirigido por 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 dio crédito a EleutherAI y LAION (una organización sin fines de lucro alemana que reunió el conjunto de datos en el que se entrenó Stable Diffusion) como partidarios del proyecto. [7]
En octubre de 2022, Stability AI recaudó 101 millones de dólares en una ronda liderada por Lightspeed Venture Partners y Coatue Management . [14]
Stable Diffusion utiliza una especie de modelo de difusión (DM), llamado modelo de difusión latente (LDM) desarrollado por el grupo CompVis en LMU Munich . [15] [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 codificadores automáticos de eliminación de ruido . Stable Diffusion consta de 3 partes: el codificador automático variacional (VAE), U-Net y un codificador de texto opcional. [16] El codificador VAE comprime la imagen desde el espacio de píxeles a un espacio latente dimensional más pequeño , capturando un significado semántico más fundamental de la imagen. [15] El ruido gaussiano se aplica iterativamente a la representación latente comprimida durante la difusión directa. [16] 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 una representación latente. Finalmente, el decodificador VAE genera la imagen final convirtiendo la representación nuevamente en espacio de píxeles. [dieciséis]
El paso de eliminación de ruido se puede condicionar de manera flexible a una cadena de texto, una imagen u otra modalidad. Los datos de acondicionamiento codificados se exponen a U-Nets de eliminación de ruido a través de un mecanismo de atención cruzada . [16] Para acondicionar el texto, se utiliza el codificador de texto fijo y previamente entrenado CLIP ViT-L/14 para transformar indicaciones de texto en un espacio de incrustación. [8] Los investigadores señalan una mayor eficiencia computacional para el entrenamiento y la generación como una ventaja de los LDM. [7] [15]
Con 860 millones de parámetros en U-Net y 123 millones en el codificador de texto, Stable Diffusion se considera relativamente liviano según los estándares de 2022 y, a diferencia de otros modelos de difusión, puede ejecutarse en GPU de consumo [17] e incluso en CPU , solo si se usa. la versión OpenVINO de Stable Diffusion. [18]
La versión XL usa la misma arquitectura, [19] 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á entrenado 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 mediante img2img condicional de texto.
La versión 3.0 [20] cambia completamente la columna vertebral. No es un UNet, sino un Transformador de Flujo Rectificado , que implementa el método de flujo rectificado [21] [22] con un Transformador .
La arquitectura Transformer utilizada para SD 3.0 tiene tres "pistas", para codificación de texto original, codificación de texto transformado y codificación de imágenes (en espacio latente). La codificación de texto transformado y la codificación de imágenes se mezclan durante cada bloque transformador.
La arquitectura se denomina "transformador de difusión multimodal (MMDiT), donde "multimodal" significa que mezcla codificaciones de texto e imágenes dentro de sus operaciones, lo cual es diferente de versiones anteriores de DiT donde la codificación de texto afecta la codificación de imágenes, pero no al revés. .
Stable Diffusion se entrenó con pares de imágenes y leyendas tomadas de LAION-5B, un conjunto de datos disponible públicamente derivado de datos de rastreo común extraídos de la web, donde se clasificaron 5 mil millones de pares de imágenes y texto según el 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). [23] El conjunto de datos fue creado por LAION , una organización alemana sin fines de lucro que recibe financiación de Stability AI. [23] [24] El modelo de Difusión Estable se entrenó en tres subconjuntos de LAION-5B: laion2B-en, laion-high-solving y laion-aesthetics v2 5+. [23] 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 más amplio original utilizado, aproximadamente el 47% del tamaño de la muestra de imágenes provino de 100 dominios diferentes, con Pinterest tomando representan el 8,5% del subconjunto, seguidos por sitios web como WordPress , Blogspot , Flickr , DeviantArt y Wikimedia Commons . [ cita necesaria ] 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. [25]
El modelo se entrenó inicialmente en los subconjuntos de alta resolución laion2B-en y laion-, y las últimas rondas de entrenamiento se realizaron en LAION-Aesthetics v2 5+, un subconjunto de 600 millones de imágenes subtituladas que 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. [26] [23] [27] El subconjunto LAION-Aesthetics v2 5+ también excluyó imágenes de baja resolución e imágenes que LAION-5B-WatermarkDetection identificó como portadoras de una marca de agua con más del 80% de probabilidad. [23] Las rondas finales de capacitación también redujeron el 10 % del acondicionamiento del texto para mejorar la orientación de difusión sin clasificador. [28]
El modelo se entrenó utilizando 256 GPU Nvidia A100 en Amazon Web Services para un total de 150 000 horas de GPU, a un costo de 600 000 dólares. [29] [30] [31]
La difusión estable 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 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; [32] la actualización de la versión 2.0 del modelo Stable Diffusion introdujo posteriormente la capacidad de generar imágenes de forma nativa con una resolución de 768 × 768. [33] Otro desafío es generar extremidades humanas debido a la mala calidad de los datos de las extremidades en la base de datos LAION. [34] El modelo no está suficientemente capacitado para comprender las extremidades y los rostros humanos debido a la falta de características representativas en la base de datos, y pedirle al modelo que genere imágenes de ese tipo puede confundirlo. [35] La versión 1.0 de Stable Diffusion XL (SDXL), lanzada en julio de 2023, introdujo una resolución nativa de 1024x1024 y una generación mejorada de extremidades y texto. [36] [37]
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 waifu"), [38] se requieren nuevos datos y capacitación adicional. Se han utilizado adaptaciones perfeccionadas de Stable Diffusion creadas mediante reentrenamiento adicional para una variedad de casos de uso diferentes, desde imágenes médicas [39] hasta música generada algorítmicamente . [40] Sin embargo, este proceso de ajuste es sensible a la calidad de los nuevos datos; Las imágenes de baja resolución o resoluciones diferentes a las de los datos originales no solo pueden no aprender la nueva tarea, sino que degradan el rendimiento general del modelo. Incluso cuando el modelo se entrena adicionalmente con imágenes de alta calidad, a las personas les resulta difícil ejecutar modelos en electrónica de consumo. Por ejemplo, el proceso de entrenamiento para waifu-difusión requiere un mínimo de 30 GB de VRAM , [41] lo que excede el recurso habitual proporcionado en GPU de consumo como la serie GeForce 30 de Nvidia , que tiene sólo alrededor de 12 GB. [42]
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. [30] Como resultado, las imágenes generadas refuerzan los prejuicios sociales y son desde una perspectiva occidental, ya que los creadores señalan que el modelo carece de datos de otras comunidades y culturas. El modelo proporciona resultados más precisos para las indicaciones escritas en inglés en comparación con las escritas en otros idiomas, siendo las culturas occidental o blanca a menudo la representación predeterminada. [30]
Para abordar las limitaciones de la capacitación inicial del modelo, los usuarios finales pueden optar por implementar capacitación adicional para ajustar los resultados de generación para que coincidan con casos de uso más específicos, un proceso también conocido como personalización . Hay tres métodos en los que se puede aplicar un ajuste fino accesible al usuario a un punto de control del modelo de Difusión Estable:
El modelo Stable Diffusion admite la capacidad de 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 las imágenes existentes para incorporar nuevos elementos descritos mediante un mensaje de texto (un proceso conocido como "síntesis de imágenes guiadas" [47] ) a través de su mecanismo de eliminación de ruido de difusión. [8] Además, el modelo también permite el uso de indicaciones para alterar parcialmente imágenes existentes mediante pintura interna y externa, cuando se usa con una interfaz de usuario adecuada que admita dichas características, de las cuales existen numerosas implementaciones diferentes de código abierto. [48]
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. [32]
El script de muestreo de texto a imagen dentro de Stable Diffusion, conocido como "txt2img", consume un mensaje de texto además de una variedad de parámetros de opciones que cubren tipos de muestreo, dimensiones de la imagen de salida y valores iniciales. El script genera un archivo de imagen basado en la interpretación del modelo del mensaje. [8] Las imágenes generadas están etiquetadas con una marca de agua digital invisible para permitir a los usuarios identificar una imagen generada por Stable Diffusion, [8] aunque esta marca de agua pierde su eficacia si se cambia el tamaño de la imagen o se gira. [49]
Cada generación de txt2img implicará un valor inicial específico que afecta la imagen de salida. Los usuarios pueden optar por aleatorizar la semilla para explorar diferentes resultados generados, o usar la misma semilla para obtener la misma salida de imagen que una imagen generada previamente. [32] Los usuarios también pueden ajustar el número de pasos de inferencia para el muestreador; un valor más alto requiere más tiempo; sin embargo, un valor más pequeño puede provocar defectos visuales. [32] 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 al mensaje. [28] 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 resultados más específicos pueden utilizar un valor más alto. [32]
Las implementaciones front-end de Stable Diffusion proporcionan funciones 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 de las palabras clave encerrándolas entre corchetes. [50] Un método alternativo para ajustar el peso a partes del mensaje son los "indicadores negativos". Las indicaciones negativas son una característica incluida en algunas implementaciones de front-end, incluido el propio servicio en la nube DreamStudio de Stability AI, y permiten al usuario especificar indicaciones que el modelo debe evitar durante la generación de imágenes. Las indicaciones especificadas pueden ser características de imagen no deseadas que, de otro modo, estarían presentes en las salidas de imagen debido a las indicaciones positivas proporcionadas por el usuario, o debido a cómo se entrenó originalmente el modelo, siendo las manos humanas destrozadas un ejemplo común. [48] [51]
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 agregado 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 consistente con el mensaje proporcionado. [8]
La capacidad de img2img para agregar ruido a la imagen original la hace potencialmente útil para la anonimización y el aumento de datos , en los que las características visuales de los datos de la imagen se cambian y se anonimizan. [52] El mismo proceso también puede ser útil para mejorar la escala de una imagen, en la que se aumenta la resolución de una imagen y se pueden agregar más detalles a la imagen. [52] Además, se ha experimentado con la difusión estable 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 texto y caras pequeñas. [53]
Numerosas implementaciones de front-end del modelo Stable Diffusion ofrecen casos de uso adicionales para la modificación de imágenes a través de img2img. Inpainting 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 según el mensaje proporcionado. [48] Stability AI creó un modelo dedicado específicamente ajustado para casos de uso de pintura junto con el lanzamiento de Stable Diffusion 2.0. [33] Por el contrario, pintar extiende una imagen más allá de sus dimensiones originales, llenando el espacio previamente vacío con contenido generado en función del mensaje proporcionado. [48]
Se introdujo un modelo guiado en profundidad, denominado "profundidad2img", con el lanzamiento de Stable Diffusion 2.0 el 24 de noviembre de 2022; 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. [33]
ControlNet [54] es una arquitectura de red neuronal diseñada para gestionar modelos de difusión incorporando 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 peso y 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á afinando, manteniendo seguro el modelo original. Este método permite la formación en dispositivos de pequeña escala o incluso personales.
Documentos clave
Costo de capacitación
Stable Diffusion no reclama derechos 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 o perjudicial para las personas. [69]
Las imágenes con las que se entrenó Stable Diffusion se han filtrado sin intervención humana, lo que ha provocado que aparezcan algunas imágenes dañinas y grandes cantidades de información privada y confidencial en los datos de entrenamiento. [25]
Como los estilos y composiciones visuales no están sujetos a derechos de autor, a menudo se interpreta que no se debe considerar que los usuarios de Stable Diffusion que generan imágenes de obras de arte infringen los derechos de autor de obras visualmente similares. [70] Sin embargo, las personas representadas en las imágenes generadas pueden estar protegidas por derechos de personalidad si se utiliza su imagen, [70] y la propiedad intelectual, como los logotipos de marcas reconocibles, siguen estando protegidas por derechos de autor. No obstante, los artistas visuales han expresado su preocupación 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 los competidores basados en la IA. [13]
Stable Diffusion es notablemente más permisivo 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. [71] Al abordar las preocupaciones de que el modelo pueda usarse con fines abusivos, el director ejecutivo de Stability AI, Emad Mostaque , sostiene que "[es] responsabilidad de las personas si son éticas, morales y legales en la forma en que operan este "tecnología", [10] y que poner las capacidades de Difusión Estable en manos del público daría como resultado que la tecnología proporcionara un beneficio neto, a pesar de las posibles consecuencias negativas. [10] Además, Mostaque sostiene que la intención detrás de la disponibilidad abierta de Stable Diffusion es poner fin al control y dominio corporativo sobre dichas tecnologías, que anteriormente solo habían desarrollado sistemas cerrados de IA para la síntesis de imágenes. [10] [71] Esto se refleja en el hecho de que cualquier restricción que Stability AI imponga al contenido que los usuarios puedan generar se puede eludir fácilmente debido a la disponibilidad del código fuente. [72]
Ha surgido una controversia en torno a las representaciones fotorrealistas sexualizadas de personajes menores de edad, debido a que este tipo de imágenes generadas por Stable Diffusion se comparten en sitios web como Pixiv . [73]
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 Millones de imágenes extraídas de la web sin el consentimiento de los artistas originales. [74] El mismo mes, Stability AI también fue demandada por Getty Images por usar sus imágenes en los datos de entrenamiento. [12]
En julio de 2023, el juez de distrito estadounidense William Orrick se inclinó por desestimar la mayor parte de la demanda presentada por Andersen, McKernan y Ortiz, pero les permitió presentar una nueva denuncia. [75]
A diferencia de modelos como DALL-E , Stable Diffusion pone a disposición su código fuente , [76] [8] junto con el modelo (pesos previamente entrenados). Aplica la licencia Creative ML OpenRAIL-M, una forma de Licencia de IA Responsable (RAIL), al modelo (M). [77] La licencia prohíbe ciertos casos de uso, incluidos delitos, difamación , acoso , doxing , "explotación... de menores", dar asesoramiento médico, crear automáticamente obligaciones legales, producir pruebas legales y "discriminar o dañar a individuos o grupos basándose en sobre... el comportamiento social o... las características personales o de personalidad... [o] las características o categorías legalmente protegidas ". [78] [79] El usuario posee los derechos sobre las imágenes de salida generadas y es libre de utilizarlas comercialmente. [80]
{{cite journal}}
: Citar diario requiere |journal=
( ayuda )