Robocikowo>ROBOCIKOWO
Wnioskowanie

CFG

2022AktywnyOpublikowano: 8 czerwca 2026Aktualizacja: 8 czerwca 2026Opublikowany
Technika sterowania generacją warunkową, która liniowo ekstrapoluje między predykcją warunkową i bezwarunkową, zwiększając zgodność z warunkiem (np. promptem) kosztem różnorodności.
Kluczowa innowacja
Wzmocnienie warunkowania w modelach generatywnych bez osobnego klasyfikatora — przez ekstrapolację między predykcją warunkową a bezwarunkową tego samego modelu trenowanego z losowym dropoutem warunku.
Kategoria
Wnioskowanie
Poziom abstrakcji
Building block
Poziom operacji
InferencjaTrening
Zastosowania
Text-to-image w modelach dyfuzyjnych (Stable Diffusion, SDXL, SD3, Imagen, DALL·E 2)Generacja wideo warunkowana tekstem (SVD, Sora-like)Generacja audio i mowy warunkowana (TTS, MusicGen)Warunkowanie w diffusion policy (robotyka)Negatywne prompty (negative prompting jako ∅ ≠ pusty)Generacja autoregresyjna z guidance kontekstu

Jak działa

Trening: warunek c (np. embedding tekstu) jest losowo zastępowany pustym tokenem ∅ z prawdopodobieństwem p_uncond (typowo 0.1-0.2). Dzięki temu jeden zestaw wag uczy się zarówno predykcji warunkowej ε_θ(x,c), jak i bezwarunkowej ε_θ(x,∅). Inferencja: w każdym kroku odszumiania (lub generacji) liczone są DWA przejścia — warunkowe i bezwarunkowe — a wynik jest ekstrapolowany liniowo: ε̃ = ε_θ(x,∅) + w·(ε_θ(x,c) − ε_θ(x,∅)). Równoważnie ε̃ = (1−w)·ε_θ(x,∅) + w·ε_θ(x,c) w niektórych konwencjach. Wektor (ε_θ(x,c) − ε_θ(x,∅)) wskazuje „kierunek warunku"; skala w go wzmacnia. w = 1 oznacza brak guidance (czysto warunkowe), w > 1 wzmacnia. Koszt: ~2× obliczeń inferencji (dwa forward passy), choć batchowanie warunkowego i bezwarunkowego przejścia łagodzi narzut.

Rozwiązany problem

Warunkowe modele generatywne często słabo przestrzegają warunku (promptu), generując treści tylko luźno z nim powiązane. Wcześniejsze classifier guidance wymagało osobnego klasyfikatora trenowanego na zaszumionych danych — kosztownego i trudnego. CFG pozwala silnie wzmocnić warunkowanie używając wyłącznie samego modelu generatywnego, bez dodatkowych sieci.

Komponenty

Condition dropout (training)Uczenie wspólnego modelu warunkowego i bezwarunkowego

Losowe zastępowanie warunku c pustym tokenem ∅ z prawdopodobieństwem p_uncond (zwykle 0.1-0.2) podczas treningu.

Dual forward pass (inference)Obliczenie predykcji warunkowej i bezwarunkowej

Dwa przejścia modelu w każdym kroku: ε_θ(x,c) oraz ε_θ(x,∅). Często batchowane razem.

Guidance extrapolationLiniowa kombinacja sterowana skalą w

ε̃ = ε_θ(x,∅) + w·(ε_θ(x,c) − ε_θ(x,∅)). Skala w kontroluje siłę warunkowania.

CFG rescaleRenormalizacja wariancji ε̃ przeciw przesyceniu (Common Diffusion Noise Schedules paper).
Dynamic/adaptive CFGZmienna skala w w czasie odszumiania.
Negative prompt guidance∅ zastąpione embeddingiem negatywnego promptu.

Oficjalna

Implementacja

Pułapki implementacyjne
Przesycenie i artefakty przy wysokim wWysoka

Duża skala guidance powoduje przesycone kolory, posteryzację i nienaturalne tekstury.

Rozwiązanie:CFG rescale, dynamic thresholding (Imagen), niższe w, zero-SNR schedule.
Podwojony koszt inferencjiŚrednia

Dwa forward passy na krok (warunkowy + bezwarunkowy) podwajają koszt obliczeniowy.

Rozwiązanie:Batchowanie obu przejść, guidance distillation, wyłączanie CFG w późnych krokach.
Spadek różnorodności (mode collapse warunku)Średnia

Wysokie w zwiększa wierność warunkowi kosztem różnorodności próbek.

Rozwiązanie:Dobór w jako kompromis jakość-różnorodność; adaptive guidance schedule.

Ewolucja

Oryginalny paper · 2022 · NeurIPS 2021 Workshop / arXiv 2022 · Jonathan Ho
Classifier-Free Diffusion Guidance
Jonathan Ho, Tim Salimans
2021
Classifier Guidance (poprzednik)

Dhariwal & Nichol wprowadzają guidance z osobnym klasyfikatorem trenowanym na zaszumionych danych.

2021
Classifier-Free Guidance — wprowadzenie
Punkt przełomowy

Ho & Salimans pokazują, że osobny klasyfikator jest zbędny — wystarczy joint conditional/unconditional model.

2022
Adopcja w GLIDE, DALL·E 2, Imagen, Stable Diffusion
Punkt przełomowy

CFG staje się standardowym mechanizmem warunkowania we wszystkich czołowych modelach text-to-image.

2023
CFG rescale i zero-SNR

Lin i in. diagnozują przesycenie przy wysokim w i proponują rescale + zero-SNR schedule.

2024
Guidance distillation (mniej kroków)

Destylacja CFG do jednego forward passa redukuje 2× narzut obliczeniowy (np. w modelach few-step).

Hiperparametry (konfigurowalne osie)

Guidance scale wKrytyczna

Siła warunkowania. w=1 brak guidance, typowo 5-12 dla obrazu, 1-3 dla wideo. Za duże → artefakty.

Unconditional training probabilityWysoka

Prawdopodobieństwo dropoutu warunku podczas treningu (typowo 0.1-0.2).

CFG rescale φŚrednia

Współczynnik renormalizacji wariancji przeciw przesyceniu przy wysokim w.

Guidance scheduleŚrednia

Stała vs zmienna w czasie skala guidance (np. wyłączenie CFG w późnych krokach).

Paradygmat wykonania

Tryb główny
Gęsty

Pełny model jest aktywny dwukrotnie na każdy krok inferencji (warunkowo i bezwarunkowo).

Wzorzec aktywacji
Wszystkie ścieżki aktywne

Równoległość

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

Przejście warunkowe i bezwarunkowe można policzyć równolegle w jednym batchu, ale CFG działa wewnątrz sekwencyjnej pętli odszumiania/generacji modelu bazowego.

Zakres
InferencjaTrening

Wymagania sprzętowe

Podstawowe

CFG to nadbudowa nad modelem dyfuzyjnym/AR — dziedziczy profil sprzętowy modelu bazowego (GPU tensor cores).

Dobry fit

Sama logika guidance to tania kombinacja liniowa tensorów — nie nakłada własnych wymagań sprzętowych.