Imagine you want to build a system that generates photorealistic images from text descriptions. "A corgi wearing a space suit on the moon." By 2020, this seemed almost science fiction. Before diffusion models, image generation was dominated by GANs — brilliant but deeply flawed. Training a GAN requires balancing two competing networks, and this balance is notoriously fragile: mode collapse (the generator produces only a few types of images), training instability (loss curves oscillate wildly), and limited diversity plagued every architecture. Autoregressive models like DALL-E 1 could generate more diverse images but were painfully slow (generating one pixel at a time) and struggled with spatial coherence. The field needed a generation paradigm that was simultaneously stable to train, diverse in output, and controllable.
Diffusion models provided exactly this. The training is remarkably stable: just predict noise with a simple mean squared error loss. No adversarial dynamics, no mode collapse, no careful balancing. But there was a catch — diffusion models were extremely expensive. Running a large U-Net hundreds of times on a full-resolution image required GPU clusters that only the biggest labs could afford. That is where Latent Diffusion changed everything.
GANs (2014-2021)
Adversarial training between generator and discriminator.
+ Sharp, realistic outputs
+ Fast inference (single pass)
- Mode collapse and training instability
- Limited diversity
- Hard to condition on text
Autoregressive (2020-2021)
Generate images token by token, like language models.
+ High diversity
+ Natural text conditioning
- Very slow generation
- Poor spatial coherence
- Needs discrete tokenization
Diffusion (2020-present)
Learn to denoise: start from noise, iteratively refine.
+ Stable training (simple MSE loss)
+ High diversity (full distribution)
+ Natural conditioning via cross-attention
+ Controllable generation
- Slow (many denoising steps)
The Computational Problem
Early diffusion models (DDPM, ADM) worked in pixel space. For a 512x512 image, the U-Net processes 786,432 dimensions at every denoising step — and there are hundreds of steps. This required massive GPU clusters and made generation slow. The question was: can we get the same quality while operating in a much smaller space?
The core idea of diffusion models is deceptively simple and draws on physics. Think of dropping a drop of ink into water — over time, the ink diffuses until it is uniformly spread out. If you could reverse this process, you could reconstruct the ink drop from the uniform mixture. Diffusion models do exactly this with images: take a clean image, gradually add Gaussian noise over many timesteps until it becomes pure noise (forward process), then train a neural network to reverse each step (reverse process). The forward process destroys information; the reverse process creates it. At generation time, you sample pure noise and iteratively denoise — and an image emerges from the noise.
Why does this work better than GANs? Because the training objective is beautifully simple: at each step, the model just predicts the noise that was added. The loss is a plain mean squared error: ||actual_noise - predicted_noise||^2. No minimax games, no discriminator to balance, no mode collapse. The model sees the full training distribution because it trains on all noise levels simultaneously. This simplicity is what makes diffusion models so remarkably stable to train.
The Diffusion Process: Adding & Removing Noise
The forward process gradually adds Gaussian noise to a clean image over T timesteps until it becomes pure noise. This destroys all structure in the image. The model then learns to reverse this process.
The Diffusion Revolution
Diffusion models reframed generation as iterative denoising. Instead of generating an image in one shot (like GANs), they start from noise and gradually refine. This is more stable to train, produces higher diversity, and naturally supports conditioning (text, images, masks).
Forward Process q(x_t | x_{t-1})
At each timestep, add a small amount of Gaussian noise controlled by the variance schedule beta_t. After T steps (typically T=1000), the image is indistinguishable from pure noise. This is a fixed, non-learned Markov chain.
Reverse Process p_theta(x_{t-1} | x_t)
A neural network learns to reverse each step — predicting the noise that was added and subtracting it. This learned reverse process is what generates new images. The network is parameterized to predict the noise epsilon at each timestep.
Here is the question that changed everything: does diffusion actually need to operate on every pixel? The key insight of the LDM paper (Rombach et al., 2021) was that most of a natural image's information is perceptually redundant. Consider a 512x512 photo: adjacent pixels are almost identical, smooth gradients span large regions, and fine textures (like the exact grain of a wooden surface) carry almost no semantic meaning. A well-trained VAE can compress 512x512x3 images into 64x64x4 latent representations — a 48x reduction — with minimal perceptual loss. The insight: run diffusion in this compressed space instead. Same quality, 48x fewer computations per step.
Did you know?
The LDM authors explicitly tested what happens at different compression levels. With f=1 (no compression, full pixel space), you get the best quality but training is 48x slower. With f=16 (128x compression to 32x32 latents), quality degrades noticeably — too much information is lost. The sweet spot, f=8 (64x64 latents), achieves near-perfect perceptual quality while being fast enough to train on reasonable hardware. This is why every version of Stable Diffusion uses f=8.
Before: Pixel-Space Diffusion
The U-Net operates directly on 512x512x3 images (786,432 dimensions).
Every denoising step processes the full image resolution.
Training requires 256+ A100 GPUs for weeks.
Inference takes minutes per image.
After: Latent-Space Diffusion
The U-Net operates on 64x64x4 latent representations (16,384 dimensions).
Same quality — the VAE preserves perceptual information.
Training on 8 A100 GPUs.
Inference in seconds on a consumer GPU.
Two-Stage Approach
LDM separates perceptual compression (learning to represent images compactly) from generative modeling(learning the distribution). The VAE handles compression once, then diffusion operates entirely in the efficient latent space. This modular design is why Stable Diffusion can run on a laptop GPU.
The Variational Autoencoder (VAE) is the unsung hero of Stable Diffusion. It is trained first and independently, then frozen — it never changes during diffusion training. Its job is conceptually simple: the encoder compresses images from pixel space (512x512x3 = 786,432 dimensions) to latent space (64x64x4 = 16,384 dimensions), and the decoder reverses this, reconstructing pixels from latents. But making this compression perceptually lossless — so that generated images look as good as pixel-space diffusion — required careful engineering.
The key design choice: use a very small KL penalty(beta = 1e-6) combined with a perceptual loss (LPIPS)and a PatchGAN discriminator. Why such a tiny KL weight? A normal VAE uses KL divergence to keep the latent space close to a standard Gaussian — but too much KL pressure blurs reconstructions. LDM uses just enough to prevent the latent space from becoming arbitrarily irregular, while the perceptual loss ensures feature-level similarity and the discriminator ensures sharp, realistic textures. The result: reconstructions that are nearly indistinguishable from the originals.
The VAE: Compressing Images to Latent Space
The VAE (Variational Autoencoder) is the compression backbone of Latent Diffusion. It learns to encode 512x512x3 images into compact 64x64x4 latent representations, achieving a 48x spatial compression with minimal perceptual loss.
VAE Architecture Pipeline
Downsampling Factor
512/8 = 64 spatial dimensions
Compression Ratio
786K dims → 16K dims
Latent Channels
Richer than 3 RGB channels
The Foundation of Efficient Diffusion
The VAE is trained once, then frozen during diffusion training. All diffusion happens in the compressed latent space. At inference time: encode the conditioning (if any), run diffusion in latent space, then decode the result back to pixels. The VAE is the reason Stable Diffusion can run on consumer GPUs.
Why Not Just Use a Regular Autoencoder?
A plain autoencoder could produce arbitrarily irregular latent spaces — making diffusion harder. The small KL penalty ensures the latent distribution stays close to a Gaussian, which is exactly what diffusion expects as its starting point. The perceptual loss and discriminator ensure the decoder produces sharp images rather than blurry averages.
The U-Net is the heart of the diffusion model — the only component that actually learns to generate. Its job is deceptively simple: given a noisy latent z_t and a timestep t, predict the noise epsilon that was added. But why a U-Net specifically? Think about what denoising requires. At early timesteps (high noise), the model needs to make global decisions — what is the overall composition? Is this a landscape or a portrait? This requires large receptive fields. At later timesteps (low noise), it needs to refine fine details — the texture of skin, the reflection in an eye. This requires precise local information. The U-Net architecture naturally provides both: the encoder path downsamples to capture global context, while skip connections pass high-resolution features directly to the decoder for fine-grained detail preservation.
What makes the LDM U-Net special compared to, say, the original image segmentation U-Net? Two additions. First, timestep conditioning: the model needs to behave differently at each noise level, so the timestep t is encoded via sinusoidal embeddings (just like positional encodings in Transformers) and injected into every ResNet block via adaptive group normalization. Second, cross-attention layers at multiple resolutions allow each spatial position in the image to selectively read from text embeddings — this is how words become pixels.
The U-Net: Predicting Noise at Each Step
The U-Net is the workhorse of diffusion models. It takes a noisy latent and a timestep, and predicts the noise to remove. The U-shape with skip connections lets it combine fine details (from the encoder) with semantic understanding (from the bottleneck).
U-Net Layer Explorer (click a layer)
Each ResNet Block Contains
The Denoising Backbone
The U-Net is applied hundreds of times during generation, each time predicting and removing a small amount of noise. Cross-attention lets it follow text instructions, while timestep conditioning tells it the current noise level. In LDM, this U-Net operates on 64x64x4 latents instead of 512x512x3 images — making each step 48x cheaper.
Stable Diffusion v1.5 U-Net
Parameters: ~860M
Input: 64x64x4 (noisy latent)
Output: 64x64x4 (predicted noise)
Attention resolutions: 32x32, 16x16, 8x8
Channel multipliers: [1, 2, 4, 4] x 320
ResNet blocks per level: 2
Each Attention Block Contains
Did you know?
The U-Net's ~860M parameters might sound large, but it is remarkably efficient for what it does. Compare: Imagen's pixel-space U-Net has 2B parameters and still needs two additional super-resolution models (another 600M + 400M parameters). LDM's single U-Net operating in latent space does the equivalent work with less than a third of the total parameters. The lesson: it is cheaper to compress first and then model, than to model at full resolution.
How does a neural network that only knows how to denoise images suddenly understand language? This is one of the most elegant parts of the LDM architecture. The answer is cross-attention — a mechanism borrowed from Transformers that lets the U-Net selectively read from text embeddings at every spatial position. But first, you need those text embeddings. Stable Diffusion uses CLIP — OpenAI's contrastive model trained on 400 million image-text pairs — which learned to align text and image representations in a shared semantic space. CLIP's text encoder converts prompts into 77x768-dimensional token embeddings, and these embeddings are what the U-Net attends to via cross-attention at every resolution level.
Why is cross-attention the right mechanism here, rather than, say, just concatenating the text embedding to every spatial position? Because different parts of the image need different words. When generating "a red car parked under a green tree," the pixels forming the car should attend strongly to "red car" while the pixels forming the tree should attend to "green tree." Cross-attention learns these spatial-semantic correspondences automatically. This is also why attention map visualization became such a powerful tool — you can literally see which words influence which image regions.
CLIP Text Encoder
A Transformer that processes text tokens into rich embeddings.
SD 1.x: CLIP ViT-L/14, 77 tokens max, 768 dims
SD 2.x: OpenCLIP ViT-H/14, 77 tokens, 1024 dims
SDXL: CLIP-L + OpenCLIP-G (dual encoders)
The text encoder is frozen — it was pre-trained by CLIP and never fine-tuned. This is why prompt engineering matters.
Cross-Attention Integration
At each attention layer in the U-Net:
K = W_k * text_embeddings
V = W_v * text_embeddings
Out = softmax(QK^T / sqrt(d)) * V
Each spatial position in the image selectively reads from text tokens. This is how the model learns spatial relationships between words and image regions.
Imagen's Alternative: T5-XXL
Google's Imagen took a different approach: use a massive language model (T5-XXL, 4.6B params) as the text encoder. Their key finding was that scaling the text encoder improves image quality more than scaling the diffusion model. T5-XXL understands complex prompts, spatial relationships, and attributes better than CLIP — but at 10x the computational cost.
Here is a paradox: you can train a text-conditioned diffusion model perfectly, and it will still produce blurry, generic images that barely follow your prompt. Why? Because the model learns the average image for a given caption — and averages are inherently bland. Without classifier-free guidance (Ho & Salimans, 2022), text-to-image diffusion is essentially useless. CFG is arguably the single most important technique for practical text-to-image generation.
The idea is beautifully simple: at each denoising step, run the U-Net twice — once with the text prompt and once without (using an empty string). The difference between these two predictions tells you the "direction toward the prompt" in noise-prediction space. Multiply that direction by a guidance scale w (typically 7-7.5) to amplify the text signal. Mathematically: eps_guided = eps_uncond + w * (eps_cond - eps_uncond). When w=1 you get the original (bland) prediction. When w=7.5 you get sharp, prompt-following results. Push w too high (w > 15) and images become oversaturated and artifact-ridden.
Classifier-Free Guidance: Controlling Generation Quality
Classifier-Free Guidance (CFG) is the secret sauce behind high-quality text-to-image generation. It amplifies the effect of the text prompt by contrasting conditional and unconditional predictions.
The CFG Formula
Model prediction with empty text prompt ""
Model prediction with your text prompt
How strongly to follow the prompt
The model runs twice per step — once with the prompt, once without. The difference between them is the "direction toward the prompt". Guidance scale amplifies this direction.
Training for CFG
During training, the text conditioning is randomly dropped (replaced with empty string) with probability ~10%. This teaches the model to generate both conditionally and unconditionally. No separate classifier needed — hence "classifier-free."
The Quality Multiplier
CFG is arguably the single most important technique for practical text-to-image generation. Without it, diffusion models produce blurry, generic images. With it, they produce sharp, prompt-following masterpieces. The trade-off is 2x inference cost (two forward passes per step), but the quality improvement is enormous.
Did you know?
The original "classifier guidance" (Dhariwal & Nichol, 2021) required training a separate image classifier on noisy images at every noise level — expensive and limiting. Ho & Salimans' "classifier-free" insight was that you could get the same effect by simply training the diffusion model itself with occasional conditioning dropout. No separate classifier needed. This single trick transformed diffusion models from research curiosities into practical tools, and every major text-to-image system since uses it.
The 2x Inference Cost
CFG requires running the U-Net twice per denoising step — once with the prompt and once without. This doubles the compute per step. In practice, this is a small price for the massive quality improvement. Some recent work (like distilled models) bakes CFG into the weights to avoid this overhead.
If diffusion models need 1000 denoising steps, and each step requires two full U-Net passes (for CFG), that is 2000 neural network forward passes to generate a single image. Even in latent space, this is painfully slow. The quest to reduce step count — without losing quality — became one of the most active research areas in generative AI.
The breakthrough came from a shift in perspective. DDIM(Song et al., 2020) realized that if you make the reverse process deterministic(removing the random noise injection at each step), you can skip timesteps without losing information. Instead of stepping through all 1000 timesteps, you can pick any subset — say 50 — and jump between them. The result is nearly identical to 1000-step DDPM. DPM-Solver pushed further by recognizing that deterministic denoising is just solving an ordinary differential equation (ODE), and you can apply higher-order numerical methods (like Runge-Kutta) for even fewer steps. Today's best samplers like DPM++ 2M Karras produce excellent results in just 15-20 steps — a 50-60x speedup over original DDPM.
Sampling Methods: From 1000 Steps to 15
DDPM (the original) requires 1000 steps for good results. DDIM (Song et al., 2020) showed you can skip steps by making the process deterministic, reducing to just 50 steps with nearly identical quality.
DDPM (Stochastic)
- Adds noise at each step (stochastic)
- Cannot skip steps (sequential)
- 1000 steps for best quality
- Different result each run
DDIM (Deterministic)
+ No noise added (deterministic)
+ Can skip steps freely
+ 50 steps ≈ 1000 step quality
+ Same seed = same result (reproducible)
The Speed Revolution
Sampling efficiency is what made diffusion models practical. Going from 1000 steps (DDPM) to 15-20 steps (DPM++) represents a 50-60x speedup. Combined with latent-space diffusion (48x fewer pixels), modern systems generate 512x512 images in under 2 seconds on a consumer GPU.
Did you know?
The sampler choice can matter as much as the model itself. In the Stable Diffusion community, DPM++ 2M Karras became the de facto standard because it produces the best quality-per-step ratio. The "Karras" part refers to a noise schedule proposed by Tero Karras (the same researcher behind StyleGAN) that concentrates denoising effort where it matters most — at medium noise levels where the model makes the most impactful decisions.
The ODE Perspective
Song et al. (2020) showed that the diffusion process can be viewed as a stochastic differential equation (SDE) or its deterministic counterpart, an ordinary differential equation (ODE). Viewing denoising as solving an ODE enables using established numerical methods (Euler, Runge-Kutta) for faster, more accurate sampling.
Distillation: 1-4 Step Generation
The latest frontier: model distillation compresses many denoising steps into 1-4 steps. Techniques like progressive distillation, consistency models, and adversarial distillation (SD Turbo, SDXL Lightning) enable real-time generation.
Now you understand each component individually — let us see how they work together. The beauty of the Stable Diffusion pipeline is its radical modularity. Three independently pre-trained models are chained together: CLIP converts text to embeddings (frozen, never fine-tuned), U-Net iteratively denoises in latent space (the only component that learned to generate), and VAE decoder converts the clean latent back to pixels (also frozen). Because each component is independent, you can swap any one of them: use a different text encoder, plug in a fine-tuned U-Net, or even train a better VAE — all without retraining the others.
This modularity is also why so many extensions were possible. Image-to-image? Encode the input image with the VAE, add partial noise, and denoise. Inpainting? Concatenate the masked image and mask to the noisy latent as extra channels. ControlNet? Add a trainable copy of the encoder that accepts spatial signals (edges, depth, pose) and injects features via zero convolutions. None of these extensions required redesigning the base model — they all plug into the existing cross-attention and channel-concatenation interfaces.
The Complete Text-to-Image Pipeline
From text prompt to final image, the Stable Diffusion pipeline chains together three pre-trained models: a text encoder (CLIP), a denoiser (U-Net), and an image decoder (VAE). Each component is independently trained.
CLIP Text Encoder
Frozen. Converts text to 77x768 embeddings. Trained on 400M image-text pairs.
U-Net Denoiser
~860M params. Trained on latent diffusion objective. The only component that learns to generate.
VAE Decoder
Frozen. Converts 64x64x4 latents to 512x512x3 images. Trained separately on reconstruction.
One Architecture, Many Applications
The genius of LDM is its modularity. The same diffusion backbone supports text-to-image, image-to-image, inpainting, super-resolution, and more — just by changing how conditioning is provided. This spawned an entire ecosystem: ControlNet, LoRA, textual inversion, DreamBooth, IP-Adapter, and hundreds more.
Inference Parameters
2022 was the "Cambrian explosion" of text-to-image AI. Three major labs released diffusion-based systems almost simultaneously, each making fundamentally different architectural bets. DALL-E 2 (OpenAI, April 2022) used CLIP image embeddings as an intermediate representation — first generating a CLIP embedding from text (via a "prior" model), then generating an image from that embedding. Imagen (Google, May 2022) placed its bet on the text encoder, using the massive T5-XXL (4.6B parameters) and running diffusion in pixel space with cascaded super-resolution (64 → 256 → 1024). Stable Diffusion (Stability AI / LMU Munich, August 2022) used the smaller CLIP text encoder but compensated with latent-space diffusion, making the entire system dramatically more efficient.
On benchmarks, Imagen had the best FID (7.27 on COCO) versus DALL-E 2 (10.39) and Stable Diffusion (12.63). But Stable Diffusion won the adoption war decisively. Why? Because it wasopen-source, ran on consumer GPUs (8GB VRAM), and was extensible. A model that anyone can run, modify, and build upon creates an ecosystem; a model behind an API creates a service. The AI community chose the ecosystem.
DALL-E 2 vs Imagen vs Latent Diffusion: The Three Approaches
Three labs independently developed text-to-image diffusion in 2022. Each made different architectural choices, but all converged on diffusion as the generation backbone. Their approaches reveal what matters most.
DALL-E 2 (OpenAI)
Key idea: Generate CLIP image embeddings from text, then decode to pixels
Text encoder: CLIP ViT-L/14
Prior: Diffusion model in CLIP space
Decoder: Modified GLIDE (pixel-space diffusion)
Resolution: 64→256→1024 (cascade)
FID (COCO): 10.39
Imagen (Google)
Key idea: Large frozen text encoder + pixel-space diffusion
Text encoder: T5-XXL (4.6B params)
Prior: None (direct text conditioning)
Decoder: Pixel-space U-Net (cascade)
Resolution: 64→256→1024 (cascade)
FID (COCO): 7.27
Latent Diffusion (LMU/Stability)
Key idea: Diffusion in compressed latent space
Text encoder: CLIP ViT-L/14
Prior: None (direct text conditioning)
Decoder: VAE (latent→pixel)
Resolution: 512x512 (single stage)
FID (COCO): 12.63
Three Paths, One Revolution
DALL-E 2, Imagen, and Stable Diffusion each proved that diffusion models could generate photorealistic images from text. But Stable Diffusion won the adoption war — not because it had the best FID score, but because it was open, efficient, and extensible. The lesson: accessibility matters as much as capability.
The Lessons
Imagen proved that text encoder quality matters more than diffusion model size. DALL-E 2 showed CLIP embeddings enable powerful editing. LDM showed latent space compression is the key to accessibility. The field ultimately converged on latent diffusion with large text encoders — combining the best of all three approaches.
Training Stable Diffusion is a two-stage process, and this separation is one of the architecture's greatest strengths. First, train the VAE on a reconstruction objective — this only needs to happen once and produces a general-purpose image compressor. Then, freeze the VAE and train the diffusion U-Net entirely in the frozen latent space. This means the U-Net never sees pixels — it only ever operates on 64x64x4 latent representations, which is why training is so much cheaper than pixel-space approaches.
The training data was LAION-5B, a publicly available dataset of 5.85 billion image-text pairs scraped from the internet. A key detail: not all of LAION-5B was used. Images were filtered by CLIP similarity score (ensuring text-image pairs were semantically aligned) and minimum resolution (512x512 for the HD subset). The 10% conditioning dropout during training is worth noting — randomly replacing the text prompt with an empty string 10% of the time. This teaches the model what "unconditional" generation looks like, which is essential for classifier-free guidance to work at inference time.
Training Configuration
Training Strategy
Did you know?
Stable Diffusion v1.5 was trained at 256x256 first, then fine-tuned at 512x512. Why not start at 512? Because training at lower resolution is much faster and lets the model learn compositional structure before learning fine details. This "progressive resolution" strategy (borrowed from ProGAN/StyleGAN) significantly reduces total training cost. SDXL later extended this to 1024x1024 with additional aspect-ratio bucketing.
LAION-5B: The Training Data
LAION-5B was a publicly released dataset of 5.85 billion image-text pairs, filtered from Common Crawl. Images were filtered by CLIP similarity score (keeping only well-matched pairs) and resolution (512x512 minimum for the HD subset). This open dataset was crucial for enabling open-source model training, though it raised significant questions about copyright and consent.
Stable Diffusion's open-source release in August 2022 was one of the most impactful events in AI history. Within weeks, community developers built entire applications around it. Within months, an ecosystem of fine-tuning methods, control mechanisms, and creative tools transformed entire industries — from concept art and game design to architecture visualization and fashion. The paper demonstrated a principle that transcended the specific technique: separating perceptual compression from generative modeling enables efficient, high-quality generation.
What made the ecosystem explode was the modularity. Because the U-Net, text encoder, and VAE are separate components connected by well-defined interfaces (latent tensors and cross-attention), researchers could modify any piece independently. LoRAshowed you only need to fine-tune ~4MB of additional weights to adapt the style of a 4GB model. ControlNet showed you could add entirely new input modalities (edges, depth, pose) by training a copy of the encoder — without touching the original model at all. Textual Inversion showed you could teach new concepts by learning a single embedding vector. Each extension made the platform more valuable, attracting more developers, creating a flywheel of innovation.
Fine-Tuning Methods
Control Methods
Evolution of Stable Diffusion
SD 1.4/1.5: 512x512, CLIP-L, 860M U-Net
SD 2.0/2.1: 768x768, OpenCLIP-H
SDXL: 1024x1024, dual encoders, 2.6B U-Net
SD3: MMDiT (Transformer replaces U-Net)
Beyond Images
Video: Stable Video Diffusion, Sora
3D: Point-E, Shap-E, DreamFusion
Audio: Stable Audio, AudioLDM
Molecular: Drug design, protein generation
Architecture Evolution
U-Net → DiT: Transformer-based denoiser
Cascaded → Single: SDXL avoids cascades
Distilled: 1-4 step generation
Flow Matching: Simpler training objective
The Broader Impact
Latent Diffusion didn't just create a good image generator — it democratized generative AI. The modular architecture (swap text encoders, add control signals, fine-tune with LoRA) created a platform, not just a model. The principle of separating compression from generation now underpins video generation (Sora), 3D generation, and audio synthesis. This paper's legacy is the realization that efficiency enables innovation.
Latent Diffusion Models Deep-Dive Quiz
Question 1 of 10What is the key innovation of Latent Diffusion Models compared to standard diffusion?
You now understand how Latent Diffusion revolutionized image generation.
From VAE compression enabling efficient latent-space diffusion, to U-Net denoising guided by cross-attention on text embeddings, from classifier-free guidance amplifying prompt adherence to fast sampling methods reducing 1000 steps to 15 — Latent Diffusion Models made photorealistic text-to-image generation accessible to everyone.