Robocikowo>ROBOCIKOWO
Architektura

Diffusion Model

Model generatywny uczony poprzez stopniowe usuwanie szumu z danych.
Kluczowa innowacja
Diffusion Model wprowadził generatywny paradygmat oparty na odwracaniu stochastycznego procesu dodawania szumu Gaussa, co umożliwiło stabilne trenowanie głębokich modeli generatywnych bez trybu adversarialnego i bez ograniczeń narzucanych przez odwracalne architektury przepływów.
Kategoria
Architektura
Poziom abstrakcji
Paradygmat
Poziom operacji
ModelTreningInferencja
Zastosowania
Generowanie obrazów (Stable Diffusion, DALL-E, Midjourney)Synteza dźwięku i muzykiGenerowanie wideoProjektowanie molekuł w biologii obliczeniowejEdycja i inpainting obrazów

Jak działa

W procesie forward dodawany jest stopniowo szum gaussowski do danych przez wiele kroków. Model neuronowy uczy się odwracać ten proces — przewidywać i usuwać szum krok po kroku. W generowaniu startuje od czystego szumu i iteracyjnie go usuwa.

Rozwiązany problem

Generowanie wysokiej jakości obrazów, dźwięku i innych danych ciągłych było trudne dla wcześniejszych modeli generatywnych (GAN, VAE). Modele dyfuzji osiągają lepszą jakość i stabilność treningu.

Komponenty

Proces dyfuzji w przódStopniowo dodaje szum Gaussa do danych przez T kroków, tworząc sekwencję zaszumionych próbek używanych jako cele treningowe.
Liniowy harmonogram szumu
Kosinusowy harmonogram szumu
Proces dyfuzji w tyłIteracyjnie usuwa szum z zaszumionej próbki przez T kroków, prowadząc od czystego szumu Gaussa do próbki z rozkładu danych.
Sieć odszumiająca (backbone)Sieć neuronowa warunkowana numerem kroku czasowego, która przewiduje szum lub średnią rozkładu odwrotnego w każdym kroku odszumiania.
Backbone U-Net
Diffusion Transformer (DiT)

Oficjalna

Harmonogram szumuDefiniuje harmonogram wariancji {β1, ..., βT} kontrolujący szybkość dodawania szumu w procesie dyfuzji, bezpośrednio wpływając na jakość generowania i stabilność trenowania.

Oficjalna

Embedding kroku czasowegoKoduje indeks kroku czasowego t jako wektor ciągły i wstrzykuje go do sieci odszumiania, pozwalając modelowi dostosować zachowanie do poziomu szumu.

Oficjalna

Implementacja

Pułapki implementacyjne
Bardzo wolna inferencja przy dużej liczbie krokówWysoka

Domyślny proces odwrotny DDPM wymaga T=1000 sekwencyjnych kroków odszumiania, każdy wymagający pełnego przebiegu sieci, co czyni inferencję rzędami wielkości wolniejszą od modeli jednoprzebiegowych takich jak GAN.

Rozwiązanie:Używaj przyspieszonych samplerów takich jak DDIM, DPM-Solver lub PNDM, które redukują efektywne kroki do 20–100. Alternatywnie używaj Latent Diffusion Models do działania w skompresowanej przestrzeni.
Niedopasowanie harmonogramu szumu do rozdzielczości i domeny danychŚrednia

Liniowy harmonogram szumu z oryginalnego DDPM może zbyt agresywnie niszczyć sygnał danych na wczesnych krokach dla obrazów wysokiej rozdzielczości, prowadząc do nieoptymalnego trenowania.

Rozwiązanie:Używaj kosinusowego harmonogramu szumu (Nichol i Dhariwal, 2021) lub szukaj harmonogramów dostosowanych do konkretnej domeny i rozdzielczości danych.
Saturacja obrazu przy wysokich wagach classifier-free guidanceŚrednia

Wysokie wagi classifier-free guidance (CFG) poprawiają zgodność z warunkiem, ale powodują próbki spoza rozkładu, skutkując przesyconymi lub artefaktowymi wyjściami z powodu niezgodności trenowania i inferencji.

Rozwiązanie:Używaj dynamicznego progowania (Saharia i in., Imagen) lub starannie dobieraj wagę CFG. Wartości w zakresie 5–15 są typowe dla text-to-image; przekroczenie tego zakresu grozi degradacją jakości.
Niewystarczająca liczba kroków treningowychWysoka

Modele dyfuzyjne zazwyczaj wymagają bardzo długich sesji treningowych (setki tysięcy do milionów kroków gradientu) do osiągnięcia wysokiej jakości próbek, szczególnie przy wysokich rozdzielczościach.

Rozwiązanie:Monitoruj FID na zbiorze walidacyjnym. Używaj wykładniczo uśrednionej wagi modelu (EMA) podczas trenowania — wagi EMA konsekwentnie produkują lepsze próbki niż surowy model.

Ewolucja

Oryginalny paper · 2015 · ICML 2015 · Jascha Sohl-Dickstein
Deep Unsupervised Learning using Nonequilibrium Thermodynamics
Jascha Sohl-Dickstein, Eric A. Weiss, Niru Maheswaranathan, Surya Ganguli
2015
Pierwsza formalna definicja dyfuzyjnych modeli generatywnych (Sohl-Dickstein i in.)
Punkt przełomowy
2020
DDPM: praktyczna wysokojakościowa generacja obrazów (Ho i in.)
Punkt przełomowy
2020
DDIM: przyspieszone próbkowanie niedeterministyczne (Song i in.)
Punkt przełomowy
2021
Improved DDPM: kosinusowy harmonogram i log-likelihood (Nichol i Dhariwal)
2021
Diffusion Models pokonują GAN w syntezie obrazów (Dhariwal i Nichol)
Punkt przełomowy
2022
Latent Diffusion Models i Stable Diffusion (Rombach i in.)
Punkt przełomowy

Hiperparametry (konfigurowalne osie)

Liczba kroków dyfuzji (T)Krytyczna

Kontroluje liczbę kroków łańcucha Markowa w kierunku przód i tył. Większe T zazwyczaj poprawia jakość próbek, lecz liniowo zwiększa koszt wnioskowania.

100Zredukowane T, szybsza inferencja kosztem jakości.
1000Domyślne w oryginalnym DDPM (Ho i in. 2020).
Typ harmonogramu szumuWysoka

Definiuje harmonogram wariancji {β1, ..., βT}. Najczęściej stosowane warianty: liniowy (oryginalny DDPM), kosinusowy (Improved DDPM), sigmoidalny.

linearOryginalny DDPM: β od 1e-4 do 0,02.
cosineImproved DDPM (Nichol i Dhariwal, 2021).
Parametryzacja predykcji szumuWysoka

Czy sieć odszumiająca przewiduje szum ε (parametryzacja epsilon, standardowa w DDPM), oryginalne dane x0, czy funkcję score.

epsilon (ε)Standardowa parametryzacja DDPM (Ho i in. 2020).
x0Bezpośrednia predykcja danych.
Backbone sieci odszumianiaWysoka

Architektura sieci neuronowej parametryzującej proces odwrotny. Wpływa na pojemność modelu, szybkość uczenia oraz generalizację.

U-NetStandardowy wybór dla generacji obrazów (DDPM, Stable Diffusion).
Transformer (DiT)Diffusion Transformer — stosowany w Sora i podobnych systemach.

Złożoność obliczeniowa

Złożoność czasowa: O(T · C_net) per sample at inference. Złożoność przestrzenna: O(D) for latent state; O(P) for model parameters.

Wąskie gardło obliczeniowe

Sekwencyjne próbkowanie w procesie odwrotnym
Zależy od
Liczba kroków TRozmiar sieci odszumiania

Paradygmat wykonania

Tryb główny
Gęsty

Każdy krok odszumiania stosuje pełną sieć do całego tensora danych. W podstawowym koncepcie modelu dyfuzyjnego nie ma routingu ekspertów ani warunkowej rzadkości aktywacji.

Wzorzec aktywacji
Wszystkie ścieżki aktywne
Mechanizm routingu

Równoległość

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

Trenowanie jest w pełni równoległe: każda próbka używa losowo wybranego kroku t, więc partie niezależnych przykładów treningowych mogą być przetwarzane równolegle. Inferencja sekwencyjna dla pojedynczej próbki, ale wiele próbek można generować równolegle (równoległość przepustowości). Podejścia takie jak iteracja Picarda (ParaDiGMS) eksplorują kompromis między obliczeniami a opóźnieniem.

Zakres
TreningInferencjaPomiędzy urządzeniami
Ograniczenia
!Sekwencyjne kroki inferencji

Wymagania sprzętowe

Podstawowe

Trenowanie i inferencja modeli dyfuzyjnych obejmują duże partie gęstych operacji zmiennoprzecinkowych (sploty, uwaga) na tensorach w rozdzielczości obrazu, co dobrze mapuje się na równoległość GPU Tensor Core. Trenowanie przy wysokich rozdzielczościach wymaga znaczącej pamięci VRAM.

Dobry fit

TPU są używane do trenowania dużych modeli dyfuzyjnych (np. Imagen przez Google Brain) i obsługują gęste operacje macierzowe wymagane przez backbony U-Net i Transformer przez JAX/Flax.