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.