Deividart- Blog de diseño gráfico y diseño/desarrollo web

Como entrenar modelos con Stable Diffusion

entrenar modelos stable diffusion

Cuando hacemos uso de herramientas de inteligencia artificial para generar imágenes a partir de un prompt, como Stable Diffusion, Dall-e o Midjourney, estamos utilizando modelos previamente entrenados con miles de imágenes que han sabido identificar patrones para crear imágenes acorde al prompt introducido.

Si nos encontramos en la situación de querer generar una imagen con unas características especiales para lo cual ningún modelo está entrenado tenemos la posibilidad de crear nuestro propio modelo a partir de imágenes que utilizará para su entrenamiento permitiéndonos crear objetos, estilo o personas con total libertad.

De primeras puede parecer complicado y accesible solo para desarrolladores, pero gracias a la comunidad Open Source de Stable Diffusion tenemos a nuestro alcance la posibilidad de entrenar modelos de forma sencilla, aunque requiera el aprendizaje de ciertos parámetros para optimizar los resultados.

Con el tiempo han aparecido diferentes métodos para entrenar modelos con Stable Diffusion, mejorando los tiempos de ejecución y el peso de los archivos resultantes. En este artículo vamos a comentar 3 de los más utilizados: Dreambooth, Lora y Embbedings.

entrenar modelos stable diffusion

Métodos para entrenar modelos con Stable Diffusion

Dreambooth

Dreambooth fue la primera opción que apareció para entrenar modelos con Stable Diffusion, desarrollado por Google en 2022. Para conseguir buenos resultados con Dreambooth necesitaremos un conjunto de imágenes, entre unas 20 o 30, para empezar a entrenar con ellas. El proceso de entrenamiento constará de 3 pasos:

Una vez finalizado el entrenamiento tendremos un archivo de aproximadamente 2-4Gb de tamaño. Solo tendremos que utilizar la palabra clave de referencia asociada a las imágenes que hemos entrenado para que genere una totalmente nueva.

El principal inconveniente que tenemos con esta técnica de entrenamiento es el peso de los archivos, ya que con unos pocos modelos ocupamos varios GB’s de almacenamiento.

A continuación os dejo un par de videos explicando el proceso con más detalle. Hay pequeñas diferentes entre ellos por lo que recomiendo verlos para conseguir una comprensión mejor de todo el proceso y los diferentes parámetros que nos podemos encontrar según el archivo de Google Colab que utilicemos.

YouTube video player
YouTube video player

Lora

Los modelos LORA (Low-Rank Adaptation) tienen la capacidad de generar los mismos resultados que los modelos generados con Dreambooth pero, como su nombre indica, a un tamaño hasta 10 veces menor, llegando a pesar entre 50-200MB, haciéndolo más fácil de usar.

Para hacer uso de los modelos entrenados con LORA, solo debemos añadir el archivo generado en la carpeta stable-diffusion-webui/models/Lora si estás usando la interfaz AUTOMATIC 1111.

A continuación debemos hacer una llamada al modelo directamente en el prompt con la siguiente nomenclatura <lora:nombredelarchivo:multiplicador>. Donde nombredelarchivo es el nombre del modelo LORA (sin la extensión .pt, .bin, etc). Y multiplicador es el peso aplicado al modelo LORA.

YouTube video player

Embeddings

Embeddings, también conocido como Textual inversion es un método que ha conseguido llamar la atención porque consigue definir una nueva palabra clave a partir de un modelo sin tener que modificarlo. Esto hace que su uso esté ligado al modelo base Esta es su principal característica, ya que por el lado menos positivo los resultados que obtenemos serán de una calidad inferior si entrenamos un modelo con las dos técnicas descritas anteriormente y.

YouTube video player

Donde encontrar modelos de Stable Diffusion

En la red existen varias opciones para descargar modelos de Stable Diffusion totalmente gratis. Una de las más conocidas es Civitai, que cuenta con un filtro de búsqueda para facilitarnos la descarga de modelos generados con Dreambooth(checkpoint), LORA o Embeddings (Textual inversion).

Esto no ha hecho más que empezar, con el tiempo seguro que salen nuevos métodos de entrenamiento, mejorando resultados, tiempos y peso de los archivos. Cualquier novedad referente al entrenamiento de modelos con Stable Diffusion las iré publicando en esta entrada del blog 😉

Salir de la versión móvil