Stable Diffusion 3.5 Large y Flux 1 dev en local con poco hardware

Un pequeño update para aquellos que, como yo, tienen poco hardware, pero aun así pretenden ejecutar modelos gigantes de AI generativa en su propia PC 😁 No nos discriminen por pobres!

En este caso cómo estoy usando tanto Stable Diffusion 3.5 Large como Flux dev 1.0 que son los dos modelos libres de mejor calidad y "potencia" y todo lo que le cuesta a mi PC lograrlo, lo interesante es que todos los que tengan una placa gráfica decente pueden hacerlo.

Pasó más de un año (casi dos) desde que expliqué cómo instalar Stable Diffusion en la PC propia y todo cambió bastante desde ese entonces.

En este momento utilizo dos herramientas, una es Forge y la otra ComfyUI, ya expliqué también cómo instalar esta última una vez, lo de Forge es casi igual, en todos los casos es clonar un repositorio teniendo Python instalado previamente.

Inclusive en los últimos meses Comfy lanzó todo un paquete que facilita esto como una aplicación compacta y se actualiza solo cuando lo necesita, bastante útil por cierto.

El segundo tema es conseguir modelos por Hugging Face, el repositorio de modelos libres, recomiendo tener una cuenta allí.

Flux 1.0 dev

Primero que nada la estrella del momento, Flux. Flux está pensado para más de 16GB de VRAM pero yo sólo tengo 6GB, así que hay formas de hacerlo entrar en menos memoria y con modelos cuantizados también.

Primero que nada tenemos algunas versiones del modelo DEV que están en tamaños más pequeños y para FP8 (punto flotante de 8 bits) que pesan algo menos y son manejables en una placa de video modesta.

En el github oficial de Comfy hay ejemplos para dos versiones, la full "flux1-dev.safetensors" y la FP8 que recomiendo para que no sea tan pesado.

Un de talle de Flux es que da resultados muy fotográficos, en ese sentido es superior a Stable Diffusion y otros modelos, pero a la hora de ponerse creativo falopa, no tiene tanto para ofrecer y se queda corto si el prompt no es lo suficientemente detallado.


Tiempo de esta generación: 158 segundos

En Forge también lo he probado y es mucho más fácil de configurar y hacer funcionar de una que en ComfyUI, sin tantas vueltas, el tema es que, justamente, son esas vueltas las que uno termina buscando 😁

Para los que no se quieran complicar les recomiendo Forge entonces.

Stable Diffusion 3.5 Large

El otro modelo que estas semanas está muy activo es Stable Diffusion 3.5 large, el modelo creado con 8 mil millones de parámetros que es bastante completo, es como lo que debería haber sido el SD3, pero bien hecho.

Es como Flux, pero con tintes artísticos, en ambos casos son lo mejor que hay en este momento en la comunidad "open" (no son open source, dicen serlo, pero en realidad son más o menos libres de uso y descarga), y por suerte SD3.5 tiene el entrenamiento de estilos artísticos que a Flux le falta.

No es tan bueno en fotorealismo, así que por eso explico ambos, el paso a paso de cómo instalar SD3.5 es bastante claro. Es pesado, al igual que Flux tardo como dos minutos por cada imagen generada, pero necesito menos intentos para lograr lo que quiero que con SDXL, por ejemplo.

El modelo FP8 de Stable Diffusion 3.5 large pesa 16GB! Si, es gigante, y no ahorra nada con respecto al FP16, pero no he tenido problemas en ejecutarlo.


Tiempo de esta generación: 158 segundos


Modelos cuantizados GGUF 

Otra ayuda extra para los que tienen poca VRAM es usar un modelo "cuantizado", es decir, es un modelo al que se le bajó un poco la precisión de sus pesos, la explicación burda es que si se usaban 6 decimales por número ahora se lo recortes 3 decimales, vas a perder precisión, obvio, pero va a ser mucho más pequeño.

En este caso hay que usar un modelo "GGUF" que es otro formato para la misma cosa, en vez de un checkpoint "safetensors", Comfy requiere que le instales un módulo extra (aquí).

De hecho, hay un modelo muy interesante que está basado en Flux Dev que es Pixelwave, le han integrado unas cuantas cosas más artísticas que no tiene el Flux original y salen imágenes con mayor creatividad.

Comparen estas dos generaciones, la primera con Flux 1.0 y la otra Pixelwave (click para ampliar)

Flux 1.0 dev Pixelwave 1.0-3

Como notarán, con el mismo prompt y seed las diferencias son notables en estilo

Text Encoders

Por otra parte no hay que olvidarse de los text encoders, así como viene tanto Flux como SD 3.5 son bastante pobres, si los usamos sin un text encoder en particular van a notar que los resultados son sosos, sin color, poca imaginación, es porque necesitan un text encoder que tome el prompt y lo procese.

Esto es clave, cuando los usé sin un text encoder daba resultados pero eran muy flojos, apenas instalé uno de estos cambió bastante todo.

Para la versión full se usa el "t5xxl_fp16.safetensors", pero los pobres de RAM apelamos a "t5xxl_fp8_e4m3fn_scaled.safetensors" o "t5xxl_fp8_e4m3fn.safetensors" que son las versiones de fp8 que usan menos memoria. El primero se puede usar sin problemas si tenés más de 32GB de RAM, los segundos por si tenés menos.

En vez de ir por la VRAM van por la RAM, pero igual no creo que la mayoría de ustedes tenga un rig con una 4090 ni 64GB de RAM así que todo lo que recomiendo es para los pobrecitos sin presupuesto 😁

Si te gustó esta nota podés...
Invitame un café en cafecito.app


Otros posts que podrían llegar a gustarte...

Comentarios

  • Bruno G     10/11/2024 - 16:08:04

    Muy buena toda esa info!!

    Acá el "pobre" se mandó una: cambié mi Asus con una Nvidia 2060, por otra asus con AMD 6800S... sin saber que un montón de IAs (por no decir practicamente todas) solo andaban en Nvidia.

    Así que juntando los morlaquens para cambiarla proximamente de vuelta por una con Nvidia.

    • Fabio Baccaglioni     10/11/2024 - 18:13:34

      aaaaagh, qué temita! En realidad tengo entendido que "se puede" hacer funcionar en una AMD, peeeeeeeero, es un dolor de cabeza, es mejor andar pagando una nueva placa que dedicarle tantas horas de cabeza

  • Bruno G     13/11/2024 - 11:48:23

    Es un dolor de chota mal, intenté varias cosas, y hasta que AMD no actualize los drivers para windows es re bardo mal... y no anda casi nunca.
    Si anda en linux, pero dejá, no voy a andar cambiando de SO solo para eso.

    • Fabio Baccaglioni     13/11/2024 - 12:24:09

      creo que con WSL2 se puede hacer desde windows, alto bardo, pero en teoría...

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https

Negrita Cursiva Imagen Enlace


Comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador. Los comentarios son filtrados por ReCaptcha V3.