Modele dyfuzyjne: od szumu do obrazów, a teraz do tekstu
Jak modele dyfuzyjne generują, ucząc się usuwać szum: proces w przód w jednym wzorze, dlaczego celem treningu jest przewidywanie szumu, jak próbkowanie zeszło z 1000 kroków do kilku, classifier-free guidance (CFG), 48-krotna kompresja w dyfuzji latentnej, szkielety oparte na transformerach i flow matching oraz dyfuzja dla tekstu.
- deep dive
- dyfuzja
- modele generatywne
- architektura
Modele językowe generują po jednym tokenie, od lewej do prawej. Modele dyfuzyjne generują wszystko naraz: zaczynają od czystego szumu i raz za razem usuwają jego niewielką część. Zdominowały generowanie obrazów i wideo, a teraz testuje się je na tekście. Poniżej matematyka, bez ogólników.
Proces w przód: niszczenie danych według harmonogramu
Weź obraz x₀ i dodawaj do niego odrobinę szumu gaussowskiego, raz za razem, przez T kroków, aż zostanie sam szum. Przy harmonogramie szumu β_t każdy krok wygląda tak:
q(x_t | x_{t−1}) = N( √(1 − β_t) · x_{t−1} , β_t · I )
Przydatna własność polega na tym, że do dowolnego kroku możesz przeskoczyć bezpośrednio. Przy ᾱ_t = Π (1 − β_s):
x_t = √ᾱ_t · x₀ + √(1 − ᾱ_t) · ε ε ~ N(0, I)
Każdy poziom szumu dzieli od czystego obrazu jedna linijka arytmetyki. DDPM (Ho, Jain i Abbeel, 2020) używał T = 1000 kroków.
Trening: przewiduj szum
Model generatywny musi nauczyć się procesu odwrotnego: na podstawie zaszumionego x_t i kroku t oszacować szum, który został dodany. Trening jest niemal zawstydzająco prosty:
- wybierz obraz i losowy krok
t; - wylosuj szum
εi zbudujx_tze wzoru powyżej; - trenuj sieć
ε_θ(x_t, t), żeby przewidywałaε, minimalizując zwykły błąd średniokwadratowy.
DDPM pokazał, że ten cel treningu jest uproszczoną postacią pełnoprawnego ograniczenia wiarygodności i że w praktyce działa lepiej. Równoważne ujęcie pochodzi z modeli score-based (Song i Ermon, 2019; Song i in., 2021): sieć uczy się gradientu logarytmu gęstości danych na każdym poziomie szumu, a ten gradient wskazuje w stronę bardziej prawdopodobnych obrazów.
Próbkowanie: od 1000 kroków do kilku
Przy generowaniu zaczynasz od czystego szumu x_T i krok po kroku stosujesz wyuczony model odszumiający, aż wrócisz do x₀. Przy 1000 krokach DDPM to 1000 przebiegów sieci na obraz, przez co pierwsze modele dyfuzyjne były wolne.
Liczba kroków szybko spadła:
- DDIM (Song, Meng i Ermon, 2020): deterministyczny sampler, który na tym samym wytrenowanym modelu pomija większość kroków; dziesiątki kroków zamiast tysiąca.
- Lepsze solwery ODE traktują próbkowanie jak całkowanie równania różniczkowego i potrzebują tylko kilkudziesięciu przebiegów.
- Destylacja do modeli kilkukrokowych trenuje ucznia, który przeskakuje od szumu do obrazu w bardzo niewielu krokach: destylacja progresywna (progressive distillation) i modele spójności (consistency models; Song i in., 2023).
Guidance: podążanie za promptem
Model text-to-image jest warunkowany promptem c. Classifier-free guidance (CFG; Ho i Salimans, 2022) trenuje tę samą sieć zarówno z promptem, jak i bez niego, losowo pomijając warunek. Przy próbkowaniu ekstrapoluje, odsuwając się od predykcji bezwarunkowej:
ε̂ = ε_θ(x_t, ∅) + w · ( ε_θ(x_t, c) − ε_θ(x_t, ∅) )
Waga guidance w wymienia różnorodność na zgodność z promptem. To suwak „CFG scale” w każdym narzędziu do generowania obrazów, a samo guidance kosztuje dwa przebiegi sieci na krok.
Dyfuzja latentna: nie odszumiaj pikseli
Uruchamianie sieci na każdym pikselu w każdym kroku jest drogie. Dyfuzja latentna (Rombach i in., 2022), podstawa Stable Diffusion, najpierw trenuje autoenkoder, który kompresuje obrazy do dużo mniejszej przestrzeni latentnej, a potem prowadzi dyfuzję w tej przestrzeni. Obraz RGB 512 × 512 ma 786 432 wartości; jego reprezentacja latentna 64 × 64 × 4 ma 16 384, czyli 48× mniej. Model odszumiający wykonuje swoją pracę 48× taniej, a dekoder jeden raz zamienia końcową reprezentację latentną z powrotem na piksele.
Szkieletem sieci został transformer
Wczesne modele dyfuzyjne używały konwolucyjnych sieci U-Net. Diffusion Transformers (DiT, Peebles i Xie, 2023) zastąpiły je transformerem działającym na fragmentach (patches) reprezentacji latentnej, a autorzy stwierdzili, że skaluje się on tak jak transformery: więcej obliczeń, przewidywalnie lepsze obrazy. Stable Diffusion 3 używa szkieletu opartego na transformerze. Modele wideo traktują klipy jako sekwencje fragmentów czasoprzestrzennych; według opisu OpenAI Sora to transformer dyfuzyjny.
Uogólniono też cel treningu. Flow matching i rectified flow (Lipman i in., 2023; Liu i in., 2023) uczą się pola prędkości, które przenosi szum w dane po bardziej prostoliniowych ścieżkach. Prostsze ścieżki wymagają mniej kroków próbkowania, a Stable Diffusion 3 jest trenowany metodą rectified flow.
Dyfuzja dla tekstu
Tekst jest dyskretny, więc do słowa nie dodasz szumu gaussowskiego. Modele językowe oparte na dyfuzji maskowanej zastępują szum maskowaniem: dane psuje się, maskując rosnący odsetek tokenów, a model trenuje się tak, żeby z powrotem je uzupełniał. Generowanie zaczyna się od w pełni zamaskowanej sekwencji i odsłania tokeny w kilku rundach, po wiele naraz. Model LLaDA (Nie i in., 2025) pokazał, że to podejście działa w skali 8B, a w 2025 roku poszły w jego ślady systemy komercyjne, takie jak Mercury od Inception i Gemini Diffusion od Google.
Atutem jest równoległość. W każdym kroku powstaje wiele tokenów zamiast jednego, co uderza w ograniczone pamięcią dekodowanie po jednym tokenie na przebieg, które hamuje modele autoregresyjne (ten sufit wyjaśnia notatka o dekodowaniu). Czy dyfuzja dorównuje jakością modelom autoregresyjnym w rozumowaniu i długich tekstach, wciąż pozostaje otwartym pytaniem. To jak dotąd najciekawsze wyzwanie rzucone generowaniu od lewej do prawej.
Zasady, których się trzymam
- Kroki to pokrętło kosztu. Większość opóźnienia systemu dyfuzyjnego to liczba przebiegów sieci razy koszt każdego z nich; licz jedno i drugie.
- Pracuj w przestrzeni latentnej, chyba że masz powód, żeby tego nie robić. To największy pojedynczy zysk wydajności.
- Guidance podwaja pracę na krok. Przy włączonym CFG licz w budżecie dwa przebiegi na krok.
Źródła: Ho, Jain i Abbeel, DDPM (2020). Song, Meng i Ermon, DDIM (2020). Song i in., Score-Based Generative Modeling through SDEs (2021). Ho i Salimans, Classifier-Free Diffusion Guidance (2022). Rombach i in., Latent Diffusion Models (2022). Peebles i Xie, DiT (2023). Lipman i in., Flow Matching (2023). Song i in., Consistency Models (2023). Nie i in., LLaDA (2025). Współczynnik kompresji latentnej policzono dla obrazu 512 × 512 i 4-kanałowego autoenkodera, który zmniejsza rozdzielczość 8×.