Sofortantwort
Latent Diffusion einfach erklärt
Diffusion im komprimierten latenten Raum statt auf Pixeln.
- Kurz gesagt
- Diffusion findet im komprimierten VAE-Latent-Raum statt
- Typischer Einsatz
- Text-to-Image, Image-to-Image, Inpainting
- Wichtig zu wissen
- Grundlage von Stable Diffusion, SDXL, Flux
Latent Diffusion im Überblick
Latent Diffusion Models (LDMs) sind die Architektur hinter Stable Diffusion und dem Großteil moderner Bildgenerierungssysteme. Die entscheidende Innovation gegenüber klassischen Diffusionsmodellen: Die Diffusion findet nicht auf Pixel-Ebene statt, sondern im komprimierten latenten Raum eines Variational Autoencoders (VAE). Das macht LDMs etwa 64-mal effizienter als Pixel-Diffusion – und ermöglicht hochauflösende Bildgenerierung auf Consumer-Hardware.
Latent Diffusion ist eine effizientere Version von Diffusionsmodellen. Statt auf dem vollen Bild (512×512 Pixel) zu arbeiten, wird erst komprimiert (64×64 latent), dann diffundiert, dann wieder dekomprimiert.
Der Trick:
Normale Diffusion:
Noise (512×512) → [50 Diffusion Steps] → Bild (512×512)
= 786.432 Werte pro Step 😰
Latent Diffusion:
Noise (64×64×4) → [50 Diffusion Steps] → Latent → [VAE Decoder] → Bild
= 16.384 Werte pro Step 🚀
Ergebnis: ~50× schneller bei vergleichbarer Qualität.
Technisch betrachtet
Architektur
Text Prompt
↓
[CLIP Text Encoder] → Text Embeddings
↓
[Cross-Attention]
↓
Noise → [U-Net in Latent Space] → Denoised Latent
↓
[VAE Decoder]
↓
Final Image
Komponenten
| Komponente | Funktion | Größe (SD 1.5) |
|---|---|---|
| VAE | Bild ↔ Latent Kompression | ~80MB |
| U-Net | Diffusion/Denoising | ~3.4GB |
| Text Encoder | Text → Embeddings | ~500MB |
Stable Diffusion Pipeline
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5"
)
image = pipe(
prompt="A cat wearing a space suit",
num_inference_steps=50,
guidance_scale=7.5
).images[0]
Guidance Scale (CFG)
output = uncond_output + guidance_scale × (cond_output - uncond_output)
guidance_scale = 1: Ignoriert den Prompt
guidance_scale = 7-8: Guter Kompromiss
guidance_scale = 20+: Übertrieben, Artefakte
Vorteile von Latent Diffusion
- Geschwindigkeit: 50× weniger Compute
- VRAM: Läuft auf Consumer-GPUs (8GB+)
- Qualität: Vergleichbar mit Pixel-Diffusion
- Flexibilität: Einfache Erweiterungen (ControlNet, LoRA)