gpustack/stable-diffusion-xl-base-1.0-GGUF

gpustack
Texto a imagen

Versión cuantizada en formato GGUF de Stable Diffusion XL Base 1.0, creada a partir del modelo original de Stability AI para generación de imágenes a partir de texto. Usa una arquitectura de difusión latente con codificadores de texto OpenCLIP ViT-G/14 y CLIP ViT-L/14, e incluye variantes cuantizadas Q4_0, Q4_1 y Q8_0. El repositorio indica que el soporte es experimental y compatible solo con gpustack/llama-box v0.0.75 o superior.

Como usar

Uso con Diffusers para el modelo base:

from diffusers import DiffusionPipeline
import torch

pipe = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    torch_dtype=torch.float16,
    use_safetensors=True,
    variant="fp16"
)
pipe.to("cuda")

prompt = "An astronaut riding a green horse"
images = pipe(prompt=prompt).images[0]

Uso con modelo base + refinador:

from diffusers import DiffusionPipeline
import torch

base = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    torch_dtype=torch.float16,
    variant="fp16",
    use_safetensors=True
)
base.to("cuda")

refiner = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-refiner-1.0",
    text_encoder_2=base.text_encoder_2,
    vae=base.vae,
    torch_dtype=torch.float16,
    use_safetensors=True,
    variant="fp16",
)
refiner.to("cuda")

n_steps = 40
high_noise_frac = 0.8
prompt = "A majestic lion jumping from a big stone at night"

image = base(
    prompt=prompt,
    num_inference_steps=n_steps,
    denoising_end=high_noise_frac,
    output_type="latent",
).images

image = refiner(
    prompt=prompt,
    num_inference_steps=n_steps,
    denoising_start=high_noise_frac,
    image=image,
).images[0]

Optimización de velocidad con PyTorch 2.0 o superior:

pipe.unet = torch.compile(pipe.unet, mode="reduce-overhead", fullgraph=True)

Si hay poca VRAM, se puede usar descarga a CPU en lugar de mover todo el modelo a CUDA:

- pipe.to("cuda")
+ pipe.enable_model_cpu_offload()

Funcionalidades

Generación texto-a-imagen basada en Stable Diffusion XL Base 1.0.
Formato GGUF para ejecución con llama-box/gpustack en entornos compatibles.
Variantes cuantizadas Q4_0, Q4_1 y Q8_0, con tamaños aproximados entre 3.94 GB y 5.04 GB.
Puede usarse como modelo base independiente o junto con el refinador SDXL para una canalización de dos etapas.
Basado en stable-diffusion.cpp parcheado por llama-box e incluye VAE desde madebyollin/sdxl-vae-fp16-fix.
Licencia CreativeML Open RAIL++-M / OpenRAIL++.

Casos de uso

Generación de arte e imágenes creativas desde prompts de texto.
Procesos de diseño, prototipado visual y herramientas creativas o educativas.
Investigación sobre modelos generativos de difusión y sus sesgos.
Evaluación de despliegues seguros para modelos capaces de generar contenido dañino.
Uso local o experimental de SDXL en formato GGUF con gpustack/llama-box compatible.