This graph shows how many times the word ______ has been mentioned throughout the history of the program.
¡Stable Diffusion 2!
Ah, mierda. Aquí vamos de nuevo.
¡Stable Diffusion 2 ya está aquí!
Y lo que hace una semana fue un modelo que, llegado de la nada,
pillando por sorpresa a gran parte de la comunidad, pues todo el mundo celebró,
rápidamente se ha convertido en un modelo que ha cosechado muchas críticas
por sus limitaciones, que ahora vamos a comentar,
y también por su aparente falta de rendimiento respecto a la versión anterior.
Pero, ¿es esto cierto? ¿Es esta nueva versión de Stable Diffusion
una involución de lo que ya todos nosotros veníamos utilizando?
Bueno, pues en el vídeo de hoy vamos a comentar todas estas novedades,
vamos a situar, vamos a contextualizar a todo este modelo,
y además os voy a enseñar cómo vosotros también podéis utilizarlo,
gratis y sin grandes dolores de cabeza.
¡Contexto!
Stable Diffusion 2 es otro regalo de la gente de Stability.ai,
quienes solo hace tres meses generaron un enorme terremoto
en la historia de los modelos generativos,
al hacer open source a la primera versión de Stable Diffusion.
Esta fue la primera vez que se liberaba una tecnología así al público,
y no solo fue especial por darnos acceso al modelo para que todos pudiéramos experimentar,
sino también por el enorme esfuerzo de optimización que pusieron
para que este modelo se pudiera ejecutar en una GPU normalita.
Esto ha permitido que la comunidad de open source entera
se pusiera a trabajar en cientos y cientos de ideas,
que nos han dado unos meses de muchísima intensidad
y un verdadero fenómeno cultural que ya tiene y tendrá
grandes implicaciones a futuro.
De hecho, muchos de estos avances los habéis podido seguir aquí a través de este canal.
Y recordemos, Stable Diffusion 1.4 salió hace solo tres meses,
y luego hace muy pocas semanas también accedimos a una nueva versión 1.5
que mejoraba en calidad a su predecesor.
¿Qué había cambiado aquí?
Pues poca cosa.
A nivel interno el modelo era el mismo y la única mejora entre versiones
era haberla dejado entrenando durante un mayor número de pasos.
De ahí las mejoras en calidad.
Pero ahora hablamos de Stable Diffusion 2.
Y el motivo de por qué hablamos de una versión 2 y no una 1.6
que continúe la numeración a la que ya veníamos acostumbrados
es porque en este caso sí hay cambios en la arquitectura de la red neuronal
que se está utilizando, en los datos, en la forma de entrenarlo.
Y esto, amigos, abre un nuevo horizonte de posibilidades.
El cambio fundamental a nivel de arquitectura tiene que ver con Clip.
Ya sabéis, la parte que relaciona el texto que nosotros escribimos
con la imagen que se va a generar.
Clip es la caña y es una de estas tecnologías fundamentales
que hacen funcionar a muchos de estos modelos tipo Dali 2,
Mid Journey o Stable Diffusion.
Y es por ello que con el fin de contar con una réplica open source
de esta tecnología, durante este año el equipo de Lion
se ha coordinado para entrenar a una versión llamada Open Clip.
Este modelo Open Clip es el que utiliza ahora Stable Diffusion 2
y que sustituye y mejora al modelo que utilizaba Stable Diffusion 1
que era la versión publicada por Open AI.
Y ojo, digo mejora entre comillas porque ha sido este cambio en la arquitectura
el que ha hecho que Stable Diffusion 2 reciba tantas críticas.
Luego vamos a ver exactamente por qué.
Y esta no es la única novedad.
Si la versión anterior de Stable Diffusion había sido entrenada
para generar imágenes de 512x512,
esta nueva versión incorpora un modelo que ha sido entrenado
con imágenes de 768x768.
Lo que significa que ahora podremos generar imágenes
con un mayor nivel de detalle y resolución.
Y si esto no es suficiente para ti porque eres un amante de los megapíxeles,
pues tranquilo.
Porque otro de los juguetes que nos han compartido en esta publicación
es un app Scaler, un aumentador de resolución basado en Stable Diffusion 2
que será capaz de aumentar la resolución hasta 4 veces,
llegando hasta imágenes de 2048x2048 pixels.
Sigo, pues aquí viene una de las novedades más interesantes de esta publicación.
¿Recordáis la funcionalidad de Image to Image de la versión previa?
Bueno, pues ahora esto de Image to Image evoluciona a Depth to Image,
donde ahora Stable Diffusion también admite mapas de profundidad
para condicionar que queremos generar.
Ahora podréis utilizar una imagen como input
del que una inteligencia artificial hará la predicción de cuál es su mapa de profundidad,
es decir, intentará entender cuál es la estructura tridimensional de dicha imagen.
Y ahora ese mapa de profundidad se lo podemos dar como input a Stable Diffusion 2,
que le aportará la información suficiente
sobre cuál es la estructura y composición de dicha imagen.
Así cuando queramos generar otra imagen basada en esta,
su composición quedará perfectamente respetada.
Con esto ganamos una nueva funcionalidad
que cuando caiga las manos y cabezas creativas de vosotros y de la comunidad online,
creo que nos van a dar un montón de resultados y herramientas super interesantes.
En concreto, creo que esto va a ser clave para la generación de animaciones, videos y 3D.
Atentos a eso.
Junto a estas novedades también contamos con un nuevo modelo de in-paintings
que funciona con esta versión de Stable Diffusion 2 y también muy importante,
como ya es característica de todas estas tecnologías de Stable Diffusion,
la promesa de que todo esto va a poder funcionar en una tarjeta gráfica,
vamos a decir, normalita.
Con esto creo que está claro que aquí la gente de Stability.ai
nos ha adelantado la Navidad con un montón de regalos
que ya podemos empezar a abrir y jugar con ellos.
Y no solo esto, sino que también nos cuentan que tras haber resuelto ciertas problemillas legales,
pues podría ser que la publicación de nuevas actualizaciones y nuevos modelos
vaya incluso más rápido si cabe.
Por favor no, que tengo otros vídeos que sacar.
Ajá, pero vosotros es que sois gente de oído fino y habéis escuchado bien,
han resuelto ciertos problemillas legales.
Y aquí es donde toca hablar de la otra cara del asunto,
el momento en el que la comunidad empieza a probar y testear este nuevo modelo
y se empiezan a dar cuenta de que, bueno, por algún motivo,
Stable Diffusion 2 ha perdido algunas de sus capacidades.
¿Y es esto cierto?
Bueno, pues sí y no.
A ver, es cierto que de primeras lograr caras como las que conseguíamos en Stable Diffusion 1
nos puede llevar a resultados decepcionantes.
Pero con los días lo que la comunidad está descubriendo es que con este nuevo modelo
no solo es capaz de generar caras de famosos, sino que además la calidad que se consigue es superior.
Es que de hecho, al parecer, Stable Diffusion es muy bueno generando caras.
Entonces, ¿cuál era el problema?
Pues inicialmente se pensaba que sí, ¿no?
Que Stability AI había filtrado, había eliminado el dataset de entrenamiento,
todas aquellas imágenes que les pudiera generar legalmente algún tipo de problema.
Pero ellos ya han confirmado que esto no es así.
Pues los problemas vienen, como ya adelantábamos antes, de la actualización a Open Clip,
que como hemos visto, pues es esta parte que conecta lo que escribimos con lo que visualmente se va a generar.
Y es que al cambiar esa pieza, las reglas del juego cambian por completo
y eso nos obliga a tener que actualizarnos y dejar atrás todos aquellos truquillos que habíamos aprendido con la versión anterior.
Oye, que si ponías Trending on Art Station, el resultado era mucho mejor.
Fuera.
Oye, que si pones Arte por Greg Rukowski, el resultado sale buenísimo.
Fuera. Vamos.
Todo ese documento de texto que tenías ahí con montón de prompts y montón de truquitos.
Fuera.
Al haber cambiado esa pieza tan fundamental que conecta el texto con la imagen generada,
esto nos obliga a tener que aprender un nuevo lenguaje de comunicación.
Y es en este periodo de adaptación donde vosotros vais a tener que estar investigando con este modelo
para encontrar aquellas joyas, aquellos truquitos que te van a sacar el máximo rendimiento con Stable Diffusion 2.
De hecho, muchas de las comparaciones que estáis viendo en internet,
comparando lo bien que funcionaba la versión 1 frente a la 2,
pues están cayendo en el error de utilizar el mismo input en ambos casos.
Y como digo, estos son modelos que hablan idiomas diferentes.
Desde mi punto de vista, ahora Stable Diffusion 2 es más Stable Diffusion que nunca.
Y es que para mí este siempre ha sido un modelo que cuesta mucho de traspasar esa frontera
para generar buenos resultados, que requiere de hacer un enorme prompt engineering
para llegar a imágenes que visualmente son espectaculares.
Esto si lo comparamos con otros modelos como Dali 2 o Mid Journey,
que con pocas palabras ya te empiezan a arrojar ilustraciones, imágenes que son bastante interesantes.
Y bueno, pues parece que con Stable Diffusion 2 esto se acentúa
y ahora el bloque de mármol que tenemos que cincelar para encontrar esta masterpiece,
pues es mucho más grande y mucho más duro.
Pero créedme que dentro de este bloque hay un montón de obras de arte.
Me parece que Stable Diffusion 2 nos va a permitir llegar a mejores resultados que Stable Diffusion 1,
pero para recorrer este camino encontrar el prompt adecuado va a ser muy importante.
Y ojo cuidado porque no es un único prompt, sino que tenemos que ajustar dos prompts.
Y es que en este caso el uso de las negative prompts se vuelve algo fundamental.
Pues para trabajar con Stable Diffusion 2 lo único que tenéis que hacer es encontrar el cuaderno adecuado.
Y en ese sentido lo tenéis bastante fácil porque abajo en la caja de descripción tenéis un enlace para acceder a él.
De hecho cuando entréis al cuaderno seguramente os encontréis con una interfaz un poco diferente a la que veréis ahora.
Y es que las cosas están moviéndose muy rápido, los cuadernos se actualizan
y yo voy a intentar siempre traeros la versión que mejor funcione en cada momento.
Simplemente seguid las instrucciones y todo funcionará correctamente.
Vamos a estar trabajando con Automatic 1111, que es una de las herramientas más conocidas para trabajar con Stable Diffusion.
Y lo primero que tenéis que hacer es encontrar que aquí tengamos puesto la aceleración por hardware con GPU.
Esto es muy importante.
Una vez lo tengamos vamos a empezar a ejecutar cada una de las celdas de este cuaderno.
Clicamos aquí, ejecutamos y empezamos a instalar todo el repositorio.
Una vez se termina ejecutar esta celda clicamos la siguiente, vigilando que el Model Version esté marcado a la versión V2.
En mi caso como ya tengo el modelo instalado en Google Drive, pues ya me dice que el modelo existe.
Pero bueno a vosotros pues se os irá descargando y se irá actualizando el modelo en vuestro Google Drive.
Recordad que tenéis que tener un cierto espacio de almacenamiento en vuestro almacenamiento de Google Drive.
Siguiente celda, ejecutamos y una vez esté instalada nos vamos a la última celda.
Y aquí tenemos que elegir qué modelo queremos utilizar.
Tenemos el Stable Diffusion V2 de 512x512, las imágenes de una resolución más pequeña.
O podemos clicar aquí incluso para elegir el modelo de 768.
Y aquí estamos ya en la interfaz de Automatic para probar a Stable Diffusion 2.
Por ejemplo, vamos a probar a generar un retrato de una chica.
Vamos a pedirle por ejemplo a Close Up View o Photograph of a Woman Sunset Light.
Para que nos genere la imagen, el retrato de una chica con luz del atardecer.
Le damos a generar, no estoy viendo el botón de esta, de mi cámara.
Y ahora Stable Diffusion 2 estaría generando una imagen completamente nueva para todos nosotros.
Y este es el resultado que nos genera.
Esta imagen no está mal, de hecho es un retrato que podría ser bastante profesional.
Si no fuera porque por ejemplo en este caso está desenfocado, le faltan detalles.
Le faltan ciertos atributos, aunque ciertamente bastante artística.
Y aquí es donde nosotros podemos empezar a jugar con los Negative Prompts.
Un Negative Prompt no es más que una forma de decirle a Stable Diffusion que es lo que no queremos generar.
Pues por ejemplo, en este caso voy a pedirle que no nos genere labios rojos.
No queremos que nos genere red lips.
Vamos a darle a generar y vamos a ver cómo ahora esto modifica el comportamiento de Stable Diffusion 2.
Vamos a ver qué genera, 92, 96, 98 y lo tenemos.
Vale, súper súper interesante.
Fijaos cómo nos ha generado un retrato al atardecer con la luz del sol.
Ya no tenemos labios rojos, pero también fijaos cómo el retrato de la mujer es una mujer más mayor que lo que teníamos antes.
¿Por qué?
Posiblemente el concepto red lips, labios rojos, esté correlacionado de alguna forma con imágenes de personas más jóvenes, con la juventud.
Y en el momento en el que lo hemos puesto como un Negative Prompt, Stable Diffusion se ha ido al concepto contrario que sería el retrato de una persona mayor.
Esto es súper interesante y es una demostración de cómo podemos controlar de una forma nueva Stable Diffusion para conseguir aquello que estamos buscando.
Fijaos también que la forma de la cara tiene algunos artefactos distorsionados, no es perfecta.
La que teníamos antes estaba desenfocada, entonces vamos a utilizar el Negative Prompt de forma inteligente para decirle
oye, no quiero una imagen que esté por ejemplo distorsionada, no quiero que esté desfigurada, no quiero por ejemplo que esté desenfocada,
no quiero que sea un dibujo animado, no quiero que sea 3D, no quiero que tenga colores raros, no quiero que tenga por ejemplo artefactos de una mala compresión JPG,
no quiero que esté en blanco y negro, no quiero que sea amateur, bueno pues podéis hacer aquí una colección de tokens, podéis buscarlo también en internet
de lo que va probando la gente, de aquellas palabras que puedan servir para llevar a Stable Diffusion hacia la otra dirección,
hacia la dirección de una fotografía que esté enfocada, que sea un retrato profesional, que no tenga artefactos, que esté bien hecha.
Vamos a darle a generar y vamos a ver ahora cómo podemos conseguir imágenes que visualmente son mucho más potentes con Stable Diffusion a través de estos Negative Prompts.
92, 96 y ahora sí lo tenemos, ahora sí tenemos una imagen, un retrato profesional de una chica con la luz del sol iluminándole la cara,
donde los detalles están bien enfocados, donde todo está funcionando como debería de funcionar.
Aquí es donde estamos sacándole el máximo rendimiento a Stable Diffusion, voy a probar a ponerle Close Eyes para que nos abra los ojos.
Bueno, técnicamente los ojos no están cerrados en esta ocasión, devolvemos la conexión.
Ahora, según Stability.ia y lo que se han filtrado del dataset de entrenamiento son todas las imágenes Not Safe For Work,
que es una forma bonita de decir todas aquellas imágenes pornográficas o que puedan incluir desnudos, eliminando por completo toda esta dimensión dentro de Stable Diffusion.
El motivo de por qué lo han hecho y cito textualmente es, si liberamos un modelo capaz de hacer contenido fotorealista,
que puede generar tanto imágenes pornográficas y al mismo tiempo imágenes de niños, eso está mal.
A lo que alguien ha respondido, pues quitad del dataset a los niños, que me parece una muy buena respuesta.
Y aquí a lo mejor vosotros ya estáis racando las vestiduras como el usuario medio de Reddit quejándoos de que una compañía se está autocensurando
porque la sociedad está limitando la CIA hacia su capacidad de generación.
Y aquí antes de atacar a la gente de Stability.ia y lo que tenemos que pensar es que esta gente nos ha regalado un montón de tecnología punta de forma gratuita,
que es un aporte para la comunidad bestial que nos va a permitir llegar a un futuro mucho más interesante antes de lo que otras compañías nos hubieran permitido.
Si queremos seguir viendo la publicación de modelos como este tipo,
no podemos tener a Stability.ia chocándose frontalmente con problemas legales y éticos que ya ellos nos están diciendo que han tenido durante las semanas anteriores.
A nosotros nos interesa que Stability.ia siga desarrollando su actividad en la mejor forma que puedan
para poder seguir recibiendo juguetes como los que tenemos hoy entre manos.
Y respecto a la calidad de los resultados, Stable Division 2 sí está demostrando que puede generar mejores resultados que su antecesor.
Resultados más fotorealistas, con mejor calidad y nivel de detalle, con un mejor manejo de la iluminación, por ejemplo,
y con la única dificultad de que llegar a esos resultados en ocasiones cuesta más.
Seguramente veremos en las próximas semanas actualizaciones donde se vayan publicando versiones 2.1, 2.2,
que vayan puliendo aquellos detalles donde esta versión 2.0 todavía falla.
Y a eso hay que sumarle también todos los trucos que la comunidad irá encontrando para sacarle el máximo partido al modelo.
Y un último comentario, quiero que penséis en Stable Division no como una herramienta comparable a Mid Journey o Dali 2.
Esto es una tecnología experimental que se publica para que todos nosotros podamos construir sobre ella un montón de herramientas, es una plataforma.
Y como la plataforma que es, no debemos valorarla por la complejidad que nos aporte o no nos aporte a la hora de generar imágenes.
De eso ya se encargarán otras herramientas que se construyan sobre esta tecnología.
En ese sentido, Stable Division 2 sí supone un avance.
Ahora, si lo que queréis es una herramienta que funcione, que para un input que tú le des, por sencillo que sea,
te genere una imagen visualmente espectacular, os recomiendo que le echéis un vistazo a la nueva versión de Mid Journey 4,
que es la que yo recomendaría para cualquier persona que quiera un producto comercial de este tipo.
Tenéis un directo que hice la semana pasada con Jaime Altozano, hablando de todas estas tecnologías y también probando el rendimiento de esta nueva versión.
Y ya os digo que los resultados son espectaculares, los tenéis por aquí.
Chicos, chicas, comentadme abajo en los comentarios qué opináis y ya sabéis que nos vemos con más Inteligencia Artificial en el próximo vídeo.