Co to jest Stable Diffusion i jak działa?

Autor: Opublikowano Zaktualizowano 12 min czytania

Stable Diffusion to latentny model dyfuzyjny o otwartych wagach, który zamienia opis tekstowy w obraz. Wydany w sierpniu 2022 roku, działa na zwykłej karcie graficznej do gier, a każdy może go pobrać, badać i dotrenować. Ten poradnik wyjaśnia, jak działa Stable Diffusion, śledząc prompt przez cały model, z prawdziwymi renderami na każdym etapie.

Przepisany 18 października 2026: prawdziwe rendery na każdym etapie, proces w przód i odwrotny, przegląd skali CFG, image-to-image przy trzech wartościach strength, tabela wersji do 3.5 i źródła dla każdego twierdzenia.

Stable Diffusion w skrócie

Stable Diffusion to otwartoźródłowy latentny model dyfuzyjny (LDM): sieć neuronowa wytrenowana tak, by zamieniać losowy szum w obraz, po trochu, pod kontrolą tekstu. Zbudowała go grupa CompVis z Uniwersytetu Ludwika i Maksymiliana w Monachium wspólnie z Runway, a wytrenowano go z użyciem mocy obliczeniowej Stability AI, na obrazach zebranych przez organizację non-profit LAION. Metoda pochodzi z artykułu High-Resolution Image Synthesis with Latent Diffusion Models (Rombach i współautorzy, CVPR 2022).

Wagi opublikowano 22 sierpnia 2022 roku. I to właśnie zmieniło wszystko. DALL-E 2 i Midjourney już istniały, ale za listami oczekujących i kredytami, na cudzych serwerach. Stable Diffusion był plikiem o rozmiarze 4 GB, który działał na karcie graficznej z 8 GB pamięci, bez konta i z filtrem bezpieczeństwa, który dało się wyłączyć.

W ciągu tygodni pojawiły się interfejsy webowe i inpainting, potem fine-tune'y, LoRA i ControlNet. Cztery lata później nazwa znaczy dwie rzeczy. W ścisłym sensie: rodzinę modeli od 1.4 do 3.5. W luźnym: całą praktykę uruchamiania modeli generujących obrazy na własnym komputerze.

Poniżej opisano samą maszynę, ze słownictwem, które spotkasz w każdym interfejsie: przestrzeń latentna, VAE, U-Net, CLIP, sampler, skala CFG, seed. Żaden wzór nie jest potrzebny, ale kilka liczb pomaga.

Jak działa Stable Diffusion? Trzy sieci i jedna pętla

Stable Diffusion to nie jedna sieć, lecz trzy, uruchamiane jedna po drugiej.

  1. Enkoder tekstu czyta prompt i zamienia go w listę liczb. W Stable Diffusion 1.5 to 77 tokenów, każdy opisany 768 liczbami; 2 048 w SDXL, który używa dwóch enkoderów.
  2. Odszumiacz, U-Net w wersjach od 1 do XL i transformer (MMDiT) od wersji 3, zaczyna od bloku losowego szumu i oczyszcza go przez 20 do 30 kroków, na każdym kroku zaglądając do liczb z tekstu. Nie pracuje na pikselach, lecz na skompresowanej wersji obrazu, latencie, która żyje w tak zwanej przestrzeni latentnej: 4 × 64 × 64 liczb dla obrazu 512 pikseli, 4 × 128 × 128 dla 1024 pikseli w SDXL.
  3. Dekoder zamienia ten latent w końcowe wartości pikseli, czerwoną, zieloną i niebieską: 3 × 512 × 512 albo 3 × 1024 × 1024 dla SDXL.
Schemat potoku Stable Diffusion: prompt, enkoder tekstu CLIP, pętla odszumiania na latencie, dekoder VAE, gotowy obraz
Potok Stable Diffusion XL. 1: prompt. 2: enkoder tekstu, CLIP. 3: odszumiacz, U-Net, zasilany losowym szumem z seeda i uruchamiany 20 do 30 razy: ta pętla to dyfuzja. 4: dekoder, VAE. 5: obraz. Liczby na strzałkach to kształty tego, co przepływa między sieciami.

Po drodze nic nie jest wyszukiwane ani kopiowane. W pliku nie ma żadnej bazy obrazów. Od 2 do 16 GB wag przechowuje to, czego sieć nauczyła się o tym, jak podpisy i obrazy pasują do siebie, a każdy wynik jest obliczany z szumu. Sieć może jednak zapamiętać obrazy, które wiele razy pojawiły się w treningu, i badacze wydobyli kilkaset z nich, ale to wyjątek.

Co to jest model dyfuzyjny? Nauka usuwania szumu

Proces w przód: dodawanie szumu

Ideę dyfuzji łatwo sformułować. Weź zdjęcie z jego podpisem. Dodaj do niego odmierzoną porcję losowego szumu. Poproś sieć, by zgadła, jaki szum dodano, znając podpis. Porównaj jej odpowiedź z prawdą i odrobinę popraw sieć.

Dodawanie szumu to proces w przód (forward process). Przebiega według stałego harmonogramu tysiąca poziomów, od lekkiego ziarna na poziomie 50 do czystego śnieżenia na poziomie 999. Sieć nigdy nie widzi całego harmonogramu; widzi tylko jeden zaszumiony obraz na jednym poziomie naraz.

Ten sam obraz latarni morskiej z szumem dodanym na poziomach 0, 50, 200, 500 i 999 procesu w przód Stable Diffusion
Proces w przód na jednym obrazie. Liczba na każdym kafelku to poziom szumu: 0, 50, 200, 500 i 999 z 1 000, przy liniowym harmonogramie Stable Diffusion 1. Zbiór treningowy to każdy obraz na każdym poziomie, a sieć ma odzyskać szum.

Zrób to na miliardach przykładów, a wynikiem będzie predyktor szumu: mając zaszumiony obraz, jego poziom szumu i tekst, mówi, jaki prawdopodobnie jest ten szum. Funkcją celu treningu jest po prostu różnica między przewidzianym szumem a prawdziwym. Trening Stable Diffusion 1 zajął około 150 000 godzin na serwerowych GPU A100, według karty modelu.

Proces odwrotny: predyktor szumu w akcji

Generowanie odtwarza tę lekcję od tyłu. To proces odwrotny (reverse process). Zacznij od czystego szumu, który wybiera seed. Zapytaj predyktor, jaki jest szum, usuń jego część, zapytaj ponownie. DDPM, artykuł z 2020 roku, który uczynił dyfuzję praktyczną, robił to w tysiącu małych kroków.

Sampler, w niektórych interfejsach nazywany schedulerem, to reguła, która decyduje, jak duży jest każdy krok i czy dodaje się z powrotem odrobinę świeżego szumu. Lepsze samplery, DDIM, Euler i rodzina DPM++, stawiają większe kroki po tej samej ścieżce i dlatego dziś wystarcza 20 do 30 kroków.

Ten sam render Stable Diffusion XL od początkowego szumu przez predykcje modelu po 1, 2, 3 i 8 krokach do gotowego obrazu olejnego białej latarni morskiej pod błękitnym niebem po 30
Jeden render o 30 krokach, Stable Diffusion XL, euler, 30 kroków, CFG 6, seed 20220822. Liczba na każdym kafelku to krok. 0 to początkowy szum. Potem to, jak model przewiduje gotowy obraz po 1, 2, 3 i 8 krokach, i wynik po 30. Horyzont, morze i latarnia są ustawione już w kroku 2 lub 3; pozostałe kroki dodają fakturę.

Rysunek pokazuje to, co warto zapamiętać. Na każdym kroku model ma oszacowanie gotowego obrazu i to oszacowanie ustala się wcześnie. Pierwsze dwa lub trzy kroki, gdy szum jest jeszcze gęsty, ustalają kompozycję: gdzie jest horyzont, gdzie stoi latarnia, ile jest nieba. Późniejsze kroki dopracowują fakturę i drobne detale.

Suwak poniżej przechodzi przez wszystkie trzydzieści oszacowań tego samego renderu.

Oszacowanie gotowego obrazu latarni przez model na wybranym kroku odszumiania, od 1 do 30
Przeciągnij, by zobaczyć oszacowanie modelu po każdym z 30 kroków. Ten sam render co wyżej, klatki w 512 pikselach.

Wynikają z tego dwie praktyczne konsekwencje. Zmiana liczby kroków zmienia detale, a czasem kompozycję, bo wczesne kroki trafiają na inne wartości; nie wyostrza po prostu tego samego obrazu. A ten sam seed przy innym rozmiarze obrazu zaczyna od innego bloku szumu, więc też daje inny obraz. Najpierw wybierz rozmiar, potem szukaj seeda.

Dyfuzja latentna: sztuczka z VAE, dzięki której mieści się na karcie do gier

Wcześniejsze modele dyfuzyjne pracowały na pikselach. Obraz 512 × 512 to 786 432 liczb, a predyktor musiał je wszystkie czytać i zapisywać na każdym ze swoich kroków. Modele pikselowe, takie jak DALL-E 2 i Imagen, obchodziły to, prowadząc dyfuzję w 64 pikselach i dodając sieci powiększające, i tak zresztą nigdy ich nie udostępniono.

Stable Diffusion dodaje autoenkoder wariacyjny, VAE. Jego enkoder ściska obraz ośmiokrotnie na każdym boku do czterech kanałów: 4 × 64 × 64, czyli 16 384 liczb, 48 razy mniej. Dyfuzja przebiega w całości w tej skompresowanej przestrzeni, przestrzeni latentnej. Dopiero na samym końcu dekoder VAE rozwija wynik w piksele.

Cztery kanały latentne gotowego renderu Stable Diffusion XL pokazane jako szare obrazy obok zdekodowanego obrazu
To, na czym naprawdę pracuje odszumiacz. Po lewej: końcowy obraz o 1024 pikselach. Po prawej: jego latent, cztery szare mapy po 128 × 128 liczb każda, rozciągnięte do tej samej wysokości. Stable Diffusion XL, euler, 30 kroków, CFG 6, seed 20220822. Dekoder zamienia cztery mapy w obraz.

Latent nie jest małym obrazkiem. Jego cztery kanały to kod, który dekoder umie odczytać, i żaden pojedynczy kanał nie wygląda do końca jak obraz. Ale układ przetrwał kompresję i właśnie to pozwala odszumiaczowi decydować o kompozycji w tak małej przestrzeni.

Dlatego też wybór VAE ma znaczenie dla koloru i drobnych detali: każda liczba latentu odpowiada łatce 8 × 8 pikseli, a dekoder wymyśla, co jest wewnątrz łatki. Stable Diffusion 3 przeszedł na latent o 16 kanałach dokładnie z tego powodu i drobne detale oraz mały tekst poprawiły się wraz z nim.

CLIP i cross-attention: jak tekst steruje obrazem

Trzy elementy zamieniają słowa w kierunek dla odszumiacza.

Tokenizer i enkoder tekstu: jak CLIP czyta prompt

Tokenizer tnie prompt na tokeny, całe częste słowa albo fragmenty rzadszych. Stable Diffusion 1.5 i SDXL czytają najwyżej 77 tokenów, z czego dwa to znaczniki początku i końca, około 50 do 60 angielskich słów. Dalej tekst jest ucinany, chyba że interfejs dzieli go na kilka przebiegów. Umieszczaj to, co najważniejsze, na początku.

Enkoder tekstu w 1.5 to CLIP, sieć, którą OpenAI wytrenowało na 400 milionach par obraz–podpis, z jednym zadaniem: zbliżyć liczby opisujące podpis do liczb opisujących jego obraz. Po takim treningu liczby dla „lighthouse” niosą już to, jak wyglądają latarnie morskie. SDXL używa dwóch takich enkoderów obok siebie, drugi to otwarte ponowne wytrenowanie przez LAION na dwóch miliardach par. Stable Diffusion 3 dodaje trzeci, T5, który czyta całe zdania.

Cross-attention wewnątrz U-Netu

Cross-attention to miejsce, w którym tekst spotyka obraz. U-Net to stos bloków konwolucyjnych, które zmniejszają latent, a potem z powrotem go powiększają, ze skip connections między pasującymi rozmiarami. Między tymi blokami siedzą warstwy atencji. Na każdym kroku każdy obszar latentu patrzy na 77 wektorów tokenów i waży, które z nich go dotyczą. Obszar nieba zwraca uwagę na „sunset” i „clouds”, skała na „cliff”. Dlatego kolejność słów, powtórzenia i składnia wag w interfejsach mają znaczenie i dlatego słowo określające styl na początku barwi cały obraz.

To też ograniczenie pierwszych wersji. CLIP uczył się z krótkich tekstów alt, więc dobrze rozumie listy tematów i stylów, a słabo relacje między nimi. „A red cube on a blue sphere” w 1.5 często wychodzi na odwrót. Poradnik o promptach pokazuje, co działa niezawodnie.

Skala CFG, negatywny prompt i seed: trzy ustawienia

Trzy ustawienia pojawiają się w każdym interfejsie Stable Diffusion. Odpowiadają wprost mechanizmom opisanym wyżej.

Skala CFG, czyli guidance scale, skrót od classifier-free guidance, decyduje, jak mocno obraz jest dociskany do tekstu. Na każdym kroku odszumiacz robi w rzeczywistości dwie predykcje: jedną z promptem i jedną z pustym promptem. Różnica między nimi to kierunek, który nadaje prompt. Końcowa predykcja to ta pusta plus ta różnica pomnożona przez skalę CFG. Przy 1 predykcja z promptem jest używana taka, jaka jest, bez docisku: obraz luźno trzyma się tekstu, z przygaszonymi kolorami i szarym niebem tam, gdzie prompt prosił o błękitne. Przy 5 do 8 trzyma się promptu ściśle, z naturalnymi kolorami. Powyżej 12 kontrast twardnieje, kolory się nasycają, a pociągnięcia pędzla robią się ostre.

Ten sam prompt i seed Stable Diffusion XL przy skali CFG 1, 2, 4, 7, 12 i 20, od szarego, przygaszonego obrazu do nasyconego błękitnego
Ten sam prompt, seed i 30 kroków; liczba na każdym kafelku to skala CFG, 1, 2, 4, 7, 12 i 20, Stable Diffusion XL, euler, 30 kroków, seed 20220822. Między 1 a 2 zmienia się sama kompozycja, a niebo zostaje szare. Od 4 w górę kompozycja się trzyma, a błękitne niebo i turkusowe morze, o które prosił prompt, nasycają się coraz bardziej wraz ze skalą.

Negatywny prompt zastępuje pusty prompt w tej drugiej predykcji. Zamiast nie czytać nic, drugi przebieg czyta „blurry, text, watermark”, a guidance odpycha od tego. Nie kosztuje to nic dodatkowego, bo drugi przebieg i tak się wykonuje, i działa tylko wtedy, gdy guidance jest powyżej 1. Poradnik o negatywnym prompcie podaje działające listy.

Seed to liczba, która generuje początkowy szum. Ten sam seed, ten sam prompt, te same ustawienia i ten sam model dają ten sam obraz, co do piksela, na tym samym oprogramowaniu i sprzęcie; inny interfejs lub inna karta losuje szum inaczej. Zmień seed, a zmieni się kompozycja, bo pierwsze kroki czytają inny blok szumu. Zmień jedno słowo promptu i zachowaj seed, a większość obrazu zwykle zostaje. Tak właśnie dopracowuje się prompt.

Cztery rendery Stable Diffusion XL tego samego promptu z latarnią morską z czterema różnymi seedami
Ten sam prompt i ustawienia, cztery seedy, każdy wypisany na swoim kafelku. Stable Diffusion XL, euler, 30 kroków, CFG 6, seedy od 20220822 do 20220825. Temat zostaje ten sam; kompozycja, kształt wybrzeża i pociągnięcia pędzla są rysowane na nowo za każdym razem.

Od U-Netu do transformera: wersje od 1.5 do 3.5

W ciągu dwóch lat pojawiło się sześć głównych generacji, pierwsze dwie od CompVis i Runway, reszta od Stability AI. Każda zmieniała co najmniej jedną z trzech sieci.

WersjaDataOdszumiaczEnkodery tekstuRozmiar natywny
1.4 i 1.5sierpień i październik 2022U-Net, 860 milionów parametrówCLIP ViT-L512 px
2.0 i 2.1listopad i grudzień 2022U-Net o tej samej budowie, wytrenowany od zeraOpenCLIP ViT-H768 px
SDXL 1.0lipiec 2023U-Net, 2,6 miliarda, plus refinerCLIP ViT-L i OpenCLIP ViT-bigG1024 px
SDXL Turbolistopad 2023SDXL zdestylowany do 1–4 krokówJak w SDXL512 px
3 Mediumczerwiec 2024Transformer dyfuzyjny (MMDiT), 2 miliardyCLIP ViT-L, OpenCLIP bigG, T5-XXL1024 px
3.5 Large, Large Turbo, Mediumpaździernik 2024MMDiT, 8 miliardów; Medium 2,5 miliardaTe same trzy1024 px

1.5 pozostaje jednym z najczęściej dotrenowywanych modeli w historii, z dziesiątkami tysięcy społecznościowych checkpointów i LoRA, i wciąż działa na 4 GB pamięci wideo. SDXL to koń roboczy: lepsze dłonie, twarze i kompozycja oraz natywne 1024 piksele. 3 i 3.5 zastąpiły U-Net transformerem, który przetwarza tokeny tekstu i obrazu razem, i to właśnie w końcu umożliwiło czytelny tekst na obrazach: wpisz słowa w cudzysłowie w prompcie. Porównanie SDXL ze Stable Diffusion 3 pokazuje te same prompty na obu.

Zmieniły się też licencje. 1.5 jest na licencji CreativeML OpenRAIL-M, a SDXL na OpenRAIL++-M, obie darmowe do użytku komercyjnego z listą zabronionych zastosowań. Modele 3.x są na Stability AI Community License, darmowej poniżej miliona dolarów rocznego przychodu.

Co można z nim zrobić: image-to-image, inpainting, ControlNet, LoRA

Tekst na obraz to dopiero początek, bo każdy element potoku można wykorzystać ponownie. Zakoduj szkic w latent, dodaj tylko część szumu i odszumiaj od tego miejsca, a masz image-to-image, w interfejsach img2img: ustawienie strength, czyli denoise, mówi, ile szumu dodajesz. Pomysł pochodzi z SDEdit. Zamaskuj jeden obszar latentu, a masz inpainting, albo outpainting, gdy maska leży poza kadrem. Dodaj małą sieć boczną, która czyta pozę, mapę głębi lub krawędzie, a masz ControlNet. Wytrenuj kilka milionów dodatkowych wag na dwudziestu zdjęciach, a masz LoRA, która uczy model twarzy lub stylu. Dedykowane modele superrozdzielczości zajmują się powiększaniem obrazów.

Szkic kreskowy sceny z latarnią i trzy rendery image-to-image Stable Diffusion XL przy strength 0,3, 0,5 i 0,8
Image-to-image ze szkicu kreskowego sceny. Po lewej: szkic. Dalej ten sam prompt przy strength 0,3, 0,5 i 0,8, liczba na każdym kafelku. Przy 0,3 model tylko podbarwia linie; przy 0,8 zachowuje układ i przemalowuje całą resztę. Stable Diffusion XL, euler, 30 kroków, CFG 6, seed 20220822.

Żeby uruchomić go samodzielnie, wystarczy nowsza karta NVIDIA z 6 GB pamięci wideo (VRAM) dla 1.5 i 8 GB dla SDXL. Karty AMD działają przez ROCm, Apple Silicon przez backend MPS. Poradnik instalacji opisuje trzy główne interfejsy. Bez karty narzędzia na tej stronie nie wymagają sprzętu: Stable Diffusion XL i Stable Diffusion 1.5 działają na GPU strony, z kolejką pokazywaną na żywo, udokumentowane prompty pokazują, co robi każde ustawienie, a 1 731 stylów artystów pokazuje, czego model nauczył się o malarzach.

Stable Diffusion vs Midjourney vs DALL-E

W porównaniu z Midjourney i modelami obrazów OpenAI różnica nie leży w jakości, lecz w kontroli. Wagi są publiczne, a model działa lokalnie: twoje obrazy zostają na twoim dysku, ty wybierasz model, ty ustawiasz seed i możesz zmienić każdy komponent. W zamian wymaga od ciebie więcej. Midjourney prosi o zdanie i oddaje dopracowany obraz; Stable Diffusion prosi o model, prompt, negatywny prompt i skalę CFG, i daje dokładnie to, co ustawisz.

Stable DiffusionMidjourneyDALL-E / GPT Image
WagiPubliczne, do pobraniaZamknięteZamknięte
Działa na twoim komputerzeTak, 6 do 8 GB VRAMNieNie
CenaDarmowy lokalnie; darmowe narzędzia onlineAbonamentAbonament lub opłata za obraz
KontrolaSeed, model, LoRA, ControlNet, inpainting, każde ustawienieParametry i referencje styluRozmowa
DotrenowanieTak, przez każdegoNieNie
Tekst na obrazachSłaby przed 3, dobry od 3.5Dobry od v6Bardzo dobry

Ta sama zasada dyfuzji napędza dziś modele z innych laboratoriów, z innymi enkoderami i innymi licencjami: FLUX od Black Forest Labs, założonego przez pierwotnych autorów Stable Diffusion, oraz Qwen-Image od Alibaby. Działają w tych samych interfejsach, z tymi samymi seedami, krokami i samplerami, więc większość tej strony odnosi się także do nich. Ich guidance działa inaczej, FLUX dev nie ma negatywnego promptu, a od list słów kluczowych wolą pełne zdania.

Źródła i jak wykorzystać ilustracje

Źródła pierwotne, w kolejności, w jakiej pojawiają się na stronie:

Wykorzystanie ilustracji. Rendery i schematy na tej stronie są udostępnione na licencji CC BY 4.0: możesz użyć ich w kursie, prezentacji lub artykule z linkiem do tej strony. Każdy render używa Stable Diffusion XL, euler, 30 kroków, CFG 6, seed 20220822, poniższego promptu i negatywnego promptu „text, watermark, signature, blurry, low quality, storm, dark clouds, sunset”.

An oil painting of a white lighthouse on a rocky cliff, clear blue sky, bright midday sunlight, a few small white clouds, turquoise sea, waves breaking below, visible brush strokes

Jak cytować tę stronę.

Clicheroux, A. (2026). What is Stable Diffusion and how does it work? stablediffusion.fr. https://stablediffusion.fr/guide/what-is-stable-diffusion

Podobne pytania

Czy Stable Diffusion jest darmowy?

Tak. Wagi można pobrać bezpłatnie na otwartych licencjach: CreativeML OpenRAIL-M dla 1.5, OpenRAIL++-M dla SDXL, a dla modeli 3.x Stability AI Community License, darmowej poniżej miliona dolarów rocznego przychodu. Uruchamianie lokalnie kosztuje tylko prąd. Narzędzia na tej stronie są darmowe i utrzymywane z reklam.

Do kogo należą wygenerowane obrazy?

Z punktu widzenia licencji do ciebie: Stability AI nie rości sobie żadnych praw do wyników. Prawo autorskie to inna sprawa i zależy od kraju. W Stanach Zjednoczonych sądy i Urząd Praw Autorskich odmawiają ochrony obrazowi wygenerowanemu w całości przez model. Sądy europejskie stosują tę samą logikę przez test oryginalności, choć nie ma jeszcze orzeczenia na poziomie całej UE. Utwór, w którym model jest jednym z wielu narzędzi, może być chroniony.

Czy FLUX i Qwen-Image to wersje Stable Diffusion?

Nie. To również modele dyfuzyjne, zbudowane na tej samej zasadzie odszumiania latentu pod kontrolą tekstu, ale pochodzą z innych laboratoriów, z własnymi architekturami, enkoderami tekstu i licencjami. FLUX tworzy Black Forest Labs, Qwen-Image zespół Qwen z Alibaby. Często wrzuca się je do jednego worka ze Stable Diffusion, bo działają w tych samych interfejsach, zwłaszcza w ComfyUI.