Robocikowo>ROBOCIKOWO
Architektura

LDM

2022AktywnyOpublikowano: 8 czerwca 2026Aktualizacja: 8 czerwca 2026Opublikowany
Wariant modelu dyfuzyjnego, w którym proces zaszumiania i odszumiania zachodzi w przestrzeni latentnej autoenkodera, a nie w pikselach. Podstawa Stable Diffusion.
Kluczowa innowacja
Przeniesienie procesu dyfuzji z przestrzeni pikseli do skompresowanej przestrzeni latentnej autoenkodera, co redukuje koszt obliczeniowy o 1-2 rzędy wielkości przy zachowaniu jakości generacji.
Kategoria
Architektura
Poziom abstrakcji
Wzorzec
Poziom operacji
Element architekturyModelInferencja
Zastosowania
Generacja obrazów z tekstu (Stable Diffusion, SDXL, SD3)Edycja obrazów (inpainting, outpainting, ControlNet)Generacja wideo (Stable Video Diffusion, AnimateDiff, Sora-like)Diffusion policy w robotyce (manipulacja, lokomocja)Generacja audio i muzyki w przestrzeni latentnejImage super-resolution i restorationModele 3D z wielu widoków (MVDream, Zero123)

Jak działa

Pipeline LDM ma dwa odrębne etapy treningu i jeden etap inferencji. Trening etap 1: autoenkoder (encoder E + decoder D) jest trenowany na danych obrazowych z funkcją kosztu łączącą rekonstrukcję perceptualną (LPIPS), regularyzację (KL lub VQ) i kontradyktoryjny dyskryminator. Po tym etapie waga jest zamrożona. Trening etap 2: dla obrazu x liczone są latenty z = E(x). Proces forward dyfuzji dodaje gaussowski szum: z_t = √(α̅_t)·z + √(1-α̅_t)·ε. U-Net ε_θ(z_t, t, c) uczy się przewidywać szum ε warunkując na embeddingu c (tekst przez cross-attention). Inferencja: startujemy z czystego szumu z_T ~ 𝒩(0,I) i iteracyjnie odszumiamy schedulerem (DDIM, DPM-Solver, Euler) w 20-50 krokach, otrzymując ẑ_0. Końcowy obraz x̂ = D(ẑ_0). Klasyfikatorless guidance (CFG) wzmacnia warunkowanie: ε̃ = ε(z,∅) + w·(ε(z,c) − ε(z,∅)).

Rozwiązany problem

Klasyczne modele dyfuzyjne w przestrzeni pikseli (DDPM, ADM) wymagają ogromnych zasobów obliczeniowych i pamięci, ponieważ U-Net musi operować na tensorach o rozdzielczości obrazu w setkach kroków odszumiania. Trenowanie SoTA pixel-space diffusion na 256×256 wymaga setek dni GPU. LDM redukuje to o rząd wielkości, prowadząc dyfuzję w 4×-16× zmniejszonej przestrzeni latentnej, co umożliwia generację 512-1024 px na pojedynczym GPU klasy konsumenckiej.

Komponenty

Perceptual autoencoderKompresja x ↔ z między pikselami a przestrzenią latentną

Encoder E: x → z i decoder D: z → x. Trenowane z LPIPS + KL/VQ + adversarial discriminator. W SD 1.x faktor downsamplingu 8× (latent 64×64×4 dla obrazu 512×512).

INTensor obrazu RGB.
OUTTensor latentny, f to faktor downsamplingu (zwykle 4-16).
KL-VAE (kontynuacyjne latenty)Regularyzacja KL — używana w SD 1.x/2.x.
VQ-VAE (dyskretne kody)Vector quantized — generuje dyskretną przestrzeń latentną.

Oficjalna

Denoising U-NetPredykcja szumu w przestrzeni latentnej

U-Net z residualnymi blokami i warstwami self-attention oraz cross-attention. Wejście: zaszumiony latent z_t i krok t (sinusoidalna embedda). Wyjście: estymowany szum ε.

U-Net (SD 1.x/2.x/SDXL)Klasyczna U-Net z attention.
DiT (Diffusion Transformer, SD3, Sora)Transformer zamiast U-Net dla lepszego skalowania.

Oficjalna

Conditioning encoderKodowanie warunku c (tekst, segmentacja, depth, pose)

Encoder zewnętrzny (CLIP text encoder, T5, OpenCLIP) zwracający wektory tokenowe podawane do U-Net przez cross-attention.

Cross-attentionMechanizm wstrzykiwania warunku do U-Net

Q z aktywacji U-Net, K/V z embeddingu warunku c. Realizuje warunkowanie tekstowe i multimodalne.

Noise schedulerOkreśla harmonogram α̅_t i metodę odszumiania

Klasyczne: linear, cosine, scaled-linear. Sampler inferencyjny: DDIM, DDPM, DPM-Solver, Euler, Heun, UniPC.

Implementacja

Pułapki implementacyjne
Słabe rekonstrukcje VAEWysoka

Autoenkoder tworzy bottleneck — wszystko, czego nie da się zrekonstruować z latentu, jest tracone niezależnie od jakości U-Net.

Rozwiązanie:Lepszy autoenkoder (więcej kanałów jak SD3 16-ch), fine-tuning VAE na zadaniu, mniejszy faktor downsamplingu.
Zero-SNR i wybielanie obrazuŚrednia

Standardowe schedule (linear) nie osiągają pełnego szumu w T, co powoduje że model generuje obrazy o stłumionym kontraście.

Rozwiązanie:Zero-SNR schedule i v-prediction (Common Diffusion Noise Schedules paper).
Artefakty CFG przy wysokim wŚrednia

Zbyt silne classifier-free guidance powoduje przesycenie, posteryzację i dziwne tekstury.

Rozwiązanie:Dynamic thresholding (Imagen), CFG rescale, mniejsze w (4-7) dla SDXL/SD3.
Niedopasowanie skali rozdzielczościŚrednia

Model trenowany na np. 512×512 generuje powtarzające się obiekty przy 1024×1024 (issue „double heads").

Rozwiązanie:Conditioning na rozdzielczość (SDXL), MultiDiffusion, hierarchiczne sampling.

Ewolucja

Oryginalny paper · 2022 · CVPR 2022 · Robin Rombach
High-Resolution Image Synthesis with Latent Diffusion Models
Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, Björn Ommer
2020
DDPM — fundamenty modeli dyfuzyjnych

Ho i in. wprowadzają Denoising Diffusion Probabilistic Models w przestrzeni pikseli.

2021
Classifier-Free Guidance

Ho & Salimans wprowadzają CFG, kluczowy mechanizm warunkowania w późniejszym LDM.

2021
LDM preprint (CompVis)
Punkt przełomowy

Pierwszy preprint Rombacha i in. wprowadza koncepcję dyfuzji w przestrzeni latentnej autoenkodera.

2022
Stable Diffusion 1.x — pierwsza otwarta SoTA T2I
Punkt przełomowy

Stability AI / RunwayML wydają SD 1.4/1.5 oparte na LDM, demokratyzując generację obrazów z tekstu.

2023
SDXL — skalowanie LDM

Większy U-Net (2.6B), dwa text encodery, dwustopniowy refinement; 1024 px natywnie.

2023
Stable Video Diffusion / AnimateDiff

Rozszerzenie LDM na sekwencje wideo z czasowymi blokami uwagi.

2024
SD3 — Diffusion Transformer + rectified flow
Punkt przełomowy

SD3 zastępuje U-Net architekturą MMDiT i przechodzi z DDPM na rectified flow matching.

2023
Diffusion Policy w robotyce

Chi i in. pokazują, że LDM-jak architektura skutecznie modeluje rozkład akcji w manipulacji robotycznej.

Hiperparametry (konfigurowalne osie)

Latent downsampling factor fKrytyczna

Stosunek rozdzielczości obrazu do latentu (typowo 4, 8, 16). f=8 to standard SD 1.x.

Latent channels cWysoka

Liczba kanałów latentu (4 w SD 1.x/2.x, 16 w SD3 dla lepszej rekonstrukcji).

Diffusion timesteps TWysoka

Długość forward chain (zwykle 1000 w treningu, 20-50 w inferencji z DDIM/DPM-Solver).

Noise scheduleWysoka

Linear, cosine, scaled-linear, zero-SNR — silnie wpływa na jakość i kontrast.

CFG scale wKrytyczna

Siła classifier-free guidance (typowo 5-12 dla obrazu, 1-3 dla wideo).

Parameterization (ε / x₀ / v)Wysoka

Co przewiduje sieć: szum ε, oryginał x₀, lub v-prediction (lepsza dla wideo i SD2).

Paradygmat wykonania

Tryb główny
Gęsty

Cała sieć U-Net (lub DiT) jest aktywna w każdym kroku odszumiania.

Wzorzec aktywacji
Wszystkie ścieżki aktywne

Równoległość

Poziom równoległości
Częściowo równoległy

Trening jest w pełni równoległy w batchu. Inferencja wymaga sekwencyjnych kroków odszumiania (20-1000), ale każdy krok jest gęstym forward passem U-Net wykorzystującym pełną paralelizację GPU.

Zakres
TreningInferencjaPomiędzy urządzeniami

Wymagania sprzętowe

Podstawowe

Dyfuzja w przestrzeni latentnej i operacje konwolucyjne/attention U-Net są idealnie dopasowane do tensor cores. SD 1.5 zmieści się w 4 GB VRAM, SDXL w 8-12 GB.

Dobry fit

Treningi i inferencja w JAX/TPU są dobrze wspierane (np. Diffusers ma backend Flax).

Ograniczony

Możliwa ekstremalnie wolna inferencja (kilka minut na obraz) z optymalizacjami AVX/MKL.