Model
.ai
śledzimy otwarte modele AI

Jak działają generatywne modele AI do obrazów: proste wyjaśnienie dyfuzji, latentów i enkoderów tekstu

Temat: Modele
Autor: Quartermaster
Opublikowano 28 Sie 2025

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
Główna sieć. Przewiduje szum w latentnym wektorze na podstawie promptu i kroku. U-Net w SD 1.5 i SDXL; transformer dyfuzyjny (DiT / MMDiT) w Flux, FLUX.2, Qwen, Z-Image, Wan, LTX, H3.
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
Rozmiar obrazu podzielony przez 8 (SD) lub 16 (Flux, Wan). Modele najlepiej rysują blisko rozdzielczości, na której były trenowane.
Flow matching
training method
Zastępstwo dla klasycznych harmonogramów szumu dyfuzyjnego od 2024+ (Flux, SD3, Wan, Z-Image). Ta sama idea, prostsza droga od szumu do obrazu, mniej kroków potrzebnych.

Krok po kroku

  1. Szum na wejściu: sampler tworzy latentną siatkę losowych liczb z ziarna. Zmiana ziarna zmienia wszystko dalej.
  2. 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.
  3. 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.
  4. Sampler odejmuje przewidywany szum zgodnie z harmonogramem (Karras, wykładniczy, prosty, beta). Po ostatnim kroku latent to czysty obraz w formie skompresowanej.
  5. 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.
  6. 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.
  7. 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.
  • Enkoder tekstu to często największy plik. Flux z T5-XXL fp16 potrzebuje 9 GB tylko na enkoder, dlatego są wersje fp8 i GGUF.
  • 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.

Modele w tym poradniku

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

Więcej poradników