WEB3DEV Español

Cover image for Difusión Estable usando sólo la Referencia (attn & AdaIn) de ControlNet con Z by HP y Google Colab.
Hector
Hector

Posted on • Updated on

Difusión Estable usando sólo la Referencia (attn & AdaIn) de ControlNet con Z by HP y Google Colab.

Los modelos de difusión son un tipo de modelo generativo que puede ser usado para crear imágenes realistas desde las descripciones de textos. Trabajan añadiendo gradualmente ruido a una imagen hasta que coincida con la descripción.

En este post del blog, discutiré un nuevo método guiado para generar imágenes más estables. Este método, llamado reference-only (sólo por referencia), usa una imagen de referencia para guiar el pre-proceso de ControlNet. Esto ayuda a guiar al modelo a producir contenido relacionado a la imagen de referencia.

También discutiré cómo usar el método reference-only con el modelo de ControlNet entre el mejor edge Z by HP y el método online Google Colab.

ControlNet

ControlNet es una estructura de red neuronal para los modelos de control de difusión, añadiendo condiciones adicionales. Copia el peso de los bloques de red neuronal en una copia “bloqueada” y una copia “entrenable”. La “entrenable” aprende de tu condición. La “bloqueada” preserva tu modelo. Gracias a esto, entrenar con un conjunto de datos pequeño de pares de imágenes no destruirá los modelos de difusión listos para la producción. La “convolución cero” (zero convolution) es una convolución 1×1 con ambos pesos y el bias inicializado como ceros. Antes de entrenar, todas las convoluciones cero de los output ceros y ControlNet no causarán ninguna distorsión. Ninguna capa está entrenada desde cero. Aún estás mejorándola. Tu modelo original está a salvo. Esto permite el entrenamiento a pequeña escala o incluso con aparatos personales. También es amigable unir/reemplazar/offsetting de modelos/pesos/bloques/capas.

Image description

Referencia: https://github.com/lllyasviel/ControlNet

Usar Difusión de Reference-only con ControlNet

el preprocesador reference-only no requiere ningún modelo de control. Puede guiar la difusión directamente usando imágenes como referencias. Este reference-only de ControlNet puede unir directamente las capas de atención de tu SD a cualquier imagen independiente, así que tu SD leerá imágenes arbitrarias para la referencia. Necesitas, al menos, ControlNet 1.1.153 para usarlo.

Image description

Referencia: https://github.com/Mikubill/sd-webui-controlnet/discussions/1236

Image description

Referencia: https://www.reddit.com/r/StableDiffusion/comments/13h3jn7/controlnet_reference_only_test/

Generar Imágenes usando Reference-only con Google Colab

Como se mencionó arriba, necesitarás la última versión de ControlNet. Para esto, la webUI también debería estar preparada con la última versión. Experimentamos basado en el código de WebUI AUTOMATIC1111 y si ya has configurado el código, necesitas actualizar la versión a través de git pull.

Referencia: https://github.com/AUTOMATIC1111/stable-diffusion-webui

*Hay un problema actualmente sobre usar webUI en Google Colab. No tendrás problemas usándolo a menos que tengas una suscripción paga.

*Observa que puede tomar bastante tiempo configurarlo.

Cuando ejecutas webUI, la siguiente pantalla aparecerá. En la pantalla donde text2img se selecciona, a continuación selecciona ControlNet. Si no está instalado, ve a la pestañas de extensiones e instala ControlNet. Si la versión es antigua sobre la que fue especificada antes, haz una actualización a través de “Check for updates”.

Image description

La diferencia entre Google Colab y Z4 (Z by HP)

Si las configuraciones son idénticas, parece ser que no hay nada más que comparar sino el tiempo requerido para crear una imagen. La prueba fue conducida basada en la webUI. La principal diferencia entre este experimento y otros experimentos en general, parece ser la presencia, o ausencia, de la aplicación del reference-only controlnet.

Comparación de rendimiento cuando crea imágenes sin aplicar ControlNet

Image description

Comparación de la velocidad de generación de imágenes cuando ControlNet se aplica

Image description

Imágenes creadas a través de la experimentación

Image description

imagen generadas con “anillo con diamante”

Image description

imagen generadas con el prompt “anillo con diamante” son el reference-only de ControlNet

Image description

una imagen de referencia (input) para ControlNet

Image description

imagen generada con el prompt “anillo de diamante” con el reference-only de ControlNet

La calidad de la creación es un poquito más baja que antes, pero crea el sentimiento de estar en un área volcánica, como la imagen de referencia.

Detalles de Configuración

  • Tamaño del imagen: 512x512
  • Método de Muestra: Euler a
  • Pasos de la Muestra: 20

En ambos casos, hay una gran diferencia en la tasa de producción. Es un hecho obvio pero puedes ver que el Z4 dentro de A6000 es más poderoso que Google Colab. Incluso con Google Colab, a diferencia de antes, hay un límite de cuántos créditos puedes usar incluso si te suscribes. Si te excedes de cierta cantidad, debes comprar créditos adicionales.

Opinión

En el futuro, una sociedad en la cual los modelos generativos se volverán más y más importantes. Será difícil que la IA reemplace a los humanos, pero al menos este hecho puede decirse “la gente que usa IA reemplazará a la gente que no usa IA”.

Sin embargo, para hacer un buen uso de este modelo generativo, necesitas saber bien las diferentes herramientas y entornos pero, lo más importante, es crearlo rápido en tu propio entorno. En otras palabras, la productividad del modelo generativo está unido a mi productividad.
Para poder incrementar la productividad de tu trabajo, esperamos utilizar el modelo generativo y será más valioso cuando se combina con equipos poderosos. Llegará un momento en el que todos necesitarán un modelo generativo del individuo y pienso que es muy probable que sea hecho en el edge.

Conclusión

En este post de blog, discutí los nuevos métodos guiados para generar imágenes usando modelos de difusión en una forma más estable. Este método, llamado reference-only, usa una imagen de referencia para guiar el proceso de ControlNet.

También expliqué cómo usar equipos Z4 local/edge desde Z by HP y Google Colab. Espero que este blog haya sido informativo para ti y que encuentres útil el método de reference-only para tus propios proyectos y el Criterio para la selección del entorno de desarrollo/investigación.

Este artículo es una traducción de Chanran Kim, hecha por Héctor Botero. Puedes encontrar el artículo original aquí.
Sería genial escucharte en nuestro Discord, puedes contarnos tus ideas, comentarios, sugerencias y dejarnos saber lo que necesitas.
Si prefieres puedes escribirnos a @web3dev_es en Twitter.

Discussion (0)