Wuerstchen
Wuerstchen es un modelo de difusión, cuyo modelo condicional de texto trabaja en un espacio latente altamente comprimido de imágenes. La compresión de datos puede reducir los costos computacionales tanto para el entrenamiento como para la inferencia en magnitudes. La formación en imágenes de 1024x1024 es mucho más costosa que entrenar en 32x32. Normalmente, otros trabajos utilizan una compresión relativamente pequeña, en el rango de 4x a 8x. Wuerstchen lleva esto a un extremo con su diseño novedoso, logrando una compresión espacial de 42x. Emplea una compresión de dos etapas, denominadas Etapa A (un VQGAN) y Etapa B (un Autoencoder de Difusión). Un tercer modelo, la Etapa C, se aprende en ese espacio latente altamente comprimido, lo que requiere una fracción del cómputo utilizado por los modelos de alto rendimiento actuales, permitiendo una inferencia más económica y rápida.
Como usar
Esta pipeline debe ejecutarse junto con un prior https://huggingface.co/warp-ai/wuerstchen-prior:
import torch
from diffusers import AutoPipelineForText2Image
device = "cuda"
dtype = torch.float16
pipeline = AutoPipelineForText2Image.from_pretrained(
"warp-diffusion/wuerstchen", torch_dtype=dtype
).to(device)
caption = "Gato antropomórfico vestido como bombero"
output = pipeline(
prompt=caption,
height=1024,
width=1024,
prior_guidance_scale=4.0,
decoder_guidance_scale=0.0,
).images
Funcionalidades
- Modelo de difusión
- Compresión espacial de 42x
- Etapa A: VQGAN
- Etapa B: Autoencoder de Difusión
- Etapa C: Aprendizaje en espacio latente comprimido
- Reducción significativa de costos computacionales para entrenamiento e inferencia
Casos de uso
- Generación de imágenes a partir de descripciones textuales
- Reconstrucción de imágenes comprimidas
- Modificación de imágenes basadas en texto