Jak działają generatywne modele AI do obrazów: proste wyjaśnienie dyfuzji, latentów i enkoderów tekstu
Przegląd
Każdy obecny model obrazów to denoiser. Podczas treningu pokazuje mu się miliony obrazów z coraz większą ilością losowego szumu, razem z podpisem każdego obrazu, i uczy się przewidywać, jaki szum został dodany. Podczas generowania proces działa odwrotnie: zaczynasz od czystego szumu, pytasz model, jaki szum tam jest, biorąc pod uwagę twój prompt, usuwasz trochę tego szumu, powtarzasz to dwadzieścia lub trzydzieści razy i pojawia się obraz pasujący do podpisu. To cały trik; „dyfuzja” to nazwa tego stopniowego procesu dodawania i usuwania szumu.
Praca na pełnych pikselach byłaby zbyt wolna, więc od Stable Diffusion 1.x denoising odbywa się w skompresowanej przestrzeni zwanej latentem. Osobna mała sieć, VAE, ściska obraz 1024x1024 do siatki 128x128 liczb i na końcu rozpakowuje go z powrotem. Denoiser (U-Net w SD 1.5 i SDXL, transformer w Flux, Qwen, Z-Image i modelach wideo) nigdy nie widzi pikseli. Dlatego rozmiary obrazów muszą być wielokrotnościami 8 lub 16 i dlaczego krok dekodowania VAE na końcu może sam wyczerpać pamięć.
Prompt trafia przez enkoder tekstu, który zamienia słowa na listę liczb, na których denoiser może się opierać. SD 1.5 używa jednego enkodera CLIP z limitem 77 tokenów, SDXL używa dwóch, Flux dodaje duży model językowy T5, a modele z 2025 i 2026 (Qwen Image, FLUX.2, Z-Image, Wan 2.2) używają pełnych LLM jako enkoderów. Ta jedna zmiana wyjaśnia większość różnic w pisaniu promptów: listy tagów dla modeli opartych na CLIP, naturalne zdania dla tych z LLM. LoRA to w końcu mały zestaw korekt wag denoisera (czasem też enkodera), który kieruje tym, co rysuje; nie dodaje nowej wiedzy znikąd, tylko zmienia wagi tego, czego model bazowy już się nauczył.
Odniesienie
Nazwa | Typ | Co to jest |
|---|---|---|
Denoiser (U-Net / DiT) | component | |
VAE | component | Kompresuje obrazy do latentów i z powrotem. Zły lub brakujący VAE daje wyblakłe lub fioletowe obrazy. Flux i nowsze rodziny mają własne 16-kanałowe VAE. |
Text encoder | component | CLIP-L, CLIP-G, T5-XXL lub LLM (Qwen2.5-VL, Mistral, Gemma). Decyduje, jak prompt jest rozumiany i jak długi może być. |
Scheduler / sampler | setting | Harmonogram, ile szumu usuwać na każdym kroku i używana metoda numeryczna. Zmienia teksturę i szybkość zbieżności, nie treść. |
Steps | setting | Ile iteracji denoisingu. Modele destylowane (Turbo, Lightning, Schnell, Klein) są trenowane, by potrzebować 1 do 8. |
CFG / guidance | setting | Classifier-free guidance: jak bardzo przewidywanie z promptem jest odciągane od tego bez promptu. Za wysokie wypala kolory; modele z guidance-distilled (Flux dev) używają pojedynczej wartości guidance. |
Latent size | setting | |
Flow matching | training method |
Krok po kroku
- Szum na wejściu: sampler tworzy latentną siatkę losowych liczb z ziarna. Zmiana ziarna zmienia wszystko dalej.
- Prompt na wejściu: enkoder tekstu zamienia twoje słowa na osadzenia. W modelach CLIP wszystko powyżej 77 tokenów jest dzielone lub pomijane; w modelach LLM akceptuje się cały akapit.
- Każdy krok: denoiser jest uruchamiany dwukrotnie w SD i SDXL (z promptem i bez); różnica, skalowana przez CFG, kieruje latent w stronę promptu. Flux dev uruchamia raz z wbudowaną wartością guidance.
- Sampler odejmuje przewidywany szum zgodnie z harmonogramem (Karras, wykładniczy, prosty, beta). Po ostatnim kroku latent to czysty obraz w formie skompresowanej.
- Dekodowanie: VAE rozpakowuje latent do pikseli. Istnieje dekodowanie VAE w kafelkach, bo ten krok sam może przekroczyć pamięć 8 GB karty przy dużych rozmiarach.
- Opcjonalne drugie przejścia: hires-fix lekko dodaje szumu i denoising na większym rozmiarze; img2img zaczyna od istniejącego obrazu zamiast czystego szumu; inpainting ogranicza zmiany do maski.
- Modele wideo dodają oś czasu do latenta (5-sekundowy klip to jeden 3D latent) i poza tym działają tak samo, dlatego potrzebują dziesięć razy więcej pamięci.
Przykłady
Ten sam prompt przez trzy architektury
SD 1.5 (CLIP, 77 tokens): "portrait of an old sailor, grey beard, wool cap, harbour background, film photo"
SDXL (two CLIPs): same words, 1024x1024, CFG 6, 28 steps
Flux dev (CLIP-L + T5): "A weathered old sailor with a grey beard and a navy wool cap stands at a harbour railing at dusk; shallow depth of field, Kodak Portra look." guidance 3.5, 24 steps
Węzły ComfyUI odwzorowane na komponenty
Load Checkpoint -> MODEL (denoiser), CLIP (text encoder), VAE
CLIP Text Encode (prompt) -> KSampler (sampler, steps, CFG, seed) -> VAE Decode -> Save Image
Porady
- Model nie potrafi narysować czegoś, czego nie było w danych treningowych. Dlatego fine-tune’y anime znają tysiące postaci, a modele foto nie, i dlatego prawie na każdą lukę jest LoRA.
- Fine-tune’y (DreamShaper, Juggernaut, Illustrious, Pony) mają tę samą architekturę co baza, ale inne wagi; LoRA dla bazy zwykle działa na fine-tune, LoRA dla bardzo innego fine-tune (Pony) często nie.
- Modele destylowane wymieniają elastyczność na szybkość. SDXL Lightning na 4 krokach jest ok do szkiców; pełny model na 28 krokach lepszy do finalnych obrazów.
- Guidance distillation (Flux dev) i CFG to nie to samo. Użycie CFG 7 na Flux dev daje wypalone obrazy; używaj ustawień ze strony modelu.
- Wszystko tutaj działa na partnerach w chmurze tak samo jak lokalnie; różnica jest tylko, kto ma GPU.
Rozwiązywanie problemów
Obrazy wychodzą szare, wyblakłe lub z fioletowym odcieniem
Dlaczego tak się dzieje
Brak lub niepasujące VAE albo przepełnienie fp16 VAE na SDXL.
Jak to naprawić
Załaduj VAE odpowiednie dla rodziny; na SDXL użyj VAE z poprawką fp16.
Długi prompt jest częściowo ignorowany
Dlaczego tak się dzieje
Limit tokenów CLIP w SD 1.5 i SDXL.
Jak to naprawić
Umieść ważne słowa na początku lub przejdź na model Flux, Qwen albo Z-Image z enkoderem LLM.
Kolory są wypalone, kontrast jest bardzo silny
Dlaczego tak się dzieje
Za wysokie CFG dla modelu lub CFG użyte na modelu z guidance-distilled.
Jak to naprawić
Obniż CFG do 5-7 na SDXL; używaj guidance 3-4 i CFG 1 na Flux dev.
Kafelkowanie lub podwójne obiekty przy dużych rozmiarach
Dlaczego tak się dzieje
Latent dużo większy niż rozdzielczość treningowa; model się powtarza.
Jak to naprawić
Generuj w natywnym rozmiarze i powiększaj albo użyj hires-fix z denoisingiem 0.4.
Brak pamięci tylko na samym końcu
Dlaczego tak się dzieje
Krok dekodowania VAE przy pełnym rozmiarze.
Jak to naprawić
Użyj dekodowania VAE w kafelkach albo mniejszego rozmiaru wyjściowego i potem powiększacza.
Pytania
Czy model kopiuje obrazy ze swojego zestawu treningowego?
Przechowuje wagi, nie obrazy, i nie potrafi odtworzyć zdjęcia treningowego. Mogą pojawić się bliskie duplikaty bardzo częstych obrazów (słynne obrazy, loga), dlatego lepiej ich nie promptować.
Dlaczego nowe modele potrzebują więcej pamięci, skoro idea jest ta sama?
Większe denoisery (12 miliardów parametrów w Flux vs 0.9 w SD 1.5), większe enkodery tekstu i większe latenty. Wersje skwantowane fp8 i GGUF zmniejszają to.
Jaka jest różnica między checkpointem a modelem?
Checkpoint to zapisany plik modelu (denoiser, często z enkoderem i VAE w pakiecie). Ludzie używają tych słów zamiennie.
Dlaczego ten sam seed daje inny obraz na innym komputerze?
Inna karta GPU, precyzja (fp16 vs bf16) lub implementacja samplera; szum jest ten sam, ale obliczenia różnią się trochę. Ten sam komputer, te same ustawienia, ten sam obraz.
Czy więcej kroków zawsze pomaga?
Nie. Większość samplerów zbiega się po 25-30 krokach; więcej to strata czasu. Modele destylowane gorzej działają przy większej liczbie kroków.
Linki i źródła
- Denoising Diffusion Probabilistic Models (Ho et al., 2020)
- High-Resolution Image Synthesis with Latent Diffusion Models (Rombach et al., 2022)
- Flow Matching for Generative Modeling (Lipman et al., 2022)
- Flux family page
- SD 1.5 family page
- BitVector web appAD
Modele w tym poradniku
Modele Stable Diffusion 1.5
Modele Stable Diffusion XL 1.0
Modele Flux
Modele Qwen
Modele Zimage
Modele Wan
Autor
Zajmuje się zapasami: każdą LoRA, każdy quant, każdy plik, który ktoś przemianował na final_v2_REAL.safetensors. Mierzy sprzęt tym, ile renderów Wan zmieści się przed kolacją. Podaje Ci wartość VRAM, a potem mówi, że jest błędna, bo masz otwartego Chrome'a. Otwórz wagi albo to się nie liczy.
Wszystkie poradniki autorstwa Quartermaster
Powiązane poradniki
Pierwsze kroki z generowaniem obrazów AI: twoje pierwsze zdjęcie w dziesięć minut
14 Sie 2025
Kroki, CFG, samplery, schedulery i ziarna: wyjaśnienie ustawień generowania z bezpiecznymi domyślnymi wartościami
19 Lis 2025
Checkpoint vs LoRA vs embedding vs ControlNet: co robi który plik
8 Paź 2025
Flux vs SDXL vs SD 1.5 vs Qwen vs Z-Image: którą rodzinę modeli wybrać w 2026
22 Maj 2026
Więcej poradników
Wymagania VRAM dla popularnych modeli AI do obrazów i wideo (2026): pełna precyzja, FP8 i GGUF
6 Paź 2026
CUDA brak pamięci: ile VRAM potrzebuje każdy model AI i jak go zmieścić
18 Maj 2026
Alternatywy dla Civitai: gdzie znaleźć i pobrać modele AI w 2026
16 Wrz 2026

AMD Amuse w 2026: co się stało i czy warto go jeszcze używać?
9 Paź 2026
Co to jest LoRA i jak jej używać w ComfyUI, Forge, Automatic1111 oraz w chmurze
20 Maj 2026
