Image Generation — Diffusion, Flow & DiT Datasheet v2.0¶
A variável central não é “qual sampler deixa bonito”. É qual estado latente está sendo percorrido, qual grandeza a rede prevê e qual integrador transforma essa previsão em trajetória.
1. Grafo canônico¶
Pipeline típico:
PARTE I — REPRESENTAÇÃO¶
2. Pixel space vs latent space¶
Pixel space:
Latent space:
Com fator de compressão espacial \(f\):
Modelos generativos latentes trabalham em \(Z\) para reduzir o trabalho do denoiser em relação ao processamento da grade completa de pixels.
Consequência¶
Resolution aumenta número de latent positions:
Em Transformer com atenção global sobre patches:
3. Autoencoder / VAE¶
Encoder:
Decoder:
Um decoder fixo restringe quais saídas podem ser representadas, de modo que suas limitações podem persistir mesmo com um denoiser melhor. Qualidade de reconstrução é um diagnóstico útil, não um limite numérico universal para toda métrica de qualidade de geração.
Failure modes¶
- reconstruction blur;
- color shift;
- high-frequency loss;
- latent scaling mismatch;
- decoder incompatibility.
“Imagem lavada” não prova automaticamente VAE errado; pode ser conditioning/guidance/decoder/range mismatch.
PARTE II — PROCESSO GENERATIVO¶
4. Diffusion clássico¶
Forward simplificado:
A rede pode prever:
- \(\epsilon\): noise prediction;
- \(x_0\): clean sample;
- \(v\): velocity parametrization;
- score \(\nabla_x\log p_t(x)\).
Essas parametrizações não são apenas nomes de UI; mudam escala numérica e comportamento do solver.
5. Rectified flow / flow matching¶
Trajetória contínua:
Inferência = integrar um campo vetorial aprendido.
Discretização Euler:
Heun usa previsão + correção e tem erro local menor.
Insight¶
“Denoising” continua uma metáfora útil, mas modelos flow-based são melhor entendidos como transportar uma amostra ao longo de um vector field.
PARTE III — BACKBONES¶
6. U-Net¶
Clássico diffusion image backbone:
- convoluções multi-escala;
- down/up paths;
- skip connections;
- cross-attention para conditioning.
Ainda relevante para SD1.x/SDXL e derivados.
7. DiT — Diffusion Transformer¶
Latentes são patchificados:
O Transformer processa esses tokens com attention/MLP.
MMDiT / multimodal variants¶
Texto e imagem/latente podem ter streams/weights próprios e interação via joint attention.
Stable Diffusion 3 é um marco dessa transição: rectified flow + multimodal diffusion transformer.
Qwen-Image-2.0 exemplifica geração+edição multimodal moderna em 2026.
PARTE IV — CONDITIONING¶
8. Prompt embedding¶
O prompt não empurra diretamente pixels; modifica activations/attention/modulation do model operator.
Ordem/weighting¶
Dependem de:
- tokenizer;
- encoder;
- prompt parser do frontend;
- training recipe.
Sintaxe (word:1.5) é uma convenção de pipeline/UI, não lei universal.
9. Negative conditioning¶
CFG clássico:
O “negative prompt” é portanto uma condição alternativa usada para construir \(f_u\), não um vetor mágico de repulsão universal.
10. Reference/image conditioning¶
Pode entrar como:
- encoded latent;
- cross-attention reference;
- vision embedding;
- ControlNet-like residual;
- adapter;
- masked latent/inpainting state.
Não existe um único “img2img mechanism”.
PARTE V — GUIDANCE¶
11. Classifier-Free Guidance¶
Interpretação geométrica¶
CFG aumenta o deslocamento na direção diferencial induzida pelo conditioning.
Failure surface¶
Em geral:
até certo regime, enquanto qualidade/diversidade podem cair com guidance excessivo.
Não existe “7 é o padrão universal”.
12. Guidance rescale e guiders modernos¶
Métodos modernos podem:
- limitar overexposure;
- aplicar guidance somente em uma faixa de steps;
- perturbar camadas;
- combinar múltiplos guiders.
Portanto “CFG Scale” virou apenas um membro da família guidance operators.
PARTE VI — SCHEDULE ≠ SOLVER¶
13. Schedule¶
Define pontos de avaliação:
ou:
É a malha de discretização.
Exemplos conceituais:
- linear;
- cosine;
- Karras-like sigma spacing;
- flow-specific schedules;
- shifted schedules.
14. Solver / sampler¶
Define a regra de integração:
Euler¶
Primeira ordem.
Heun¶
Preditor-corretor.
Multistep/DPM families¶
Usam múltiplas avaliações/estados anteriores para maior ordem/eficiência.
Regra¶
No ComfyUI podem aparecer próximos, mas são objetos conceitualmente diferentes.
15. Steps e NFE¶
Steps conta atualizações de integração do solver. Distinguir de avaliações do modelo por amostra gerada:
Contar cada branch de guidance separadamente, mesmo quando os branches compartilham uma chamada forward em batch. Batching pode mudar tempo de execução e memória sem eliminar o trabalho aritmético desses branches. Com o mesmo guidance e custo por avaliação, duas avaliações do campo por step exigem aproximadamente o dobro do trabalho do denoiser de uma; alguns solvers reutilizam avaliações ou omitem uma correção final.
Qualidade¶
Modelos distilled/few-step possuem outro ponto de operação.
PARTE VII — IMG2IMG / INPAINT¶
16. Denoising strength como ponto de entrada na trajetória¶
Uma imagem é codificada:
Noise é adicionado até um nível \(t_s\):
Então o processo reverso começa dali.
Denoising strength controla o nível inicial de ruído e a porção percorrida da trajetória reversa. Em pipelines img2img típicos, maior strength adiciona mais ruído à referência e percorre mais da trajetória de denoising; o mapeamento exato depende do scheduler e do pipeline.
Aproximação intuitiva¶
- baixo: preserva estrutura;
- alto: amplia liberdade estrutural;
- 1.0: aproxima geração a partir de noise conforme pipeline.
17. Inpainting¶
Máscara \(M\):
Implementações podem incorporar máscara/latente de formas mais sofisticadas, mas a ideia fundamental é restringir graus de liberdade espacialmente.
PARTE VIII — RESOLUÇÃO¶
18. Native training regime¶
“Resolução nativa” é uma distribuição de treino, não necessariamente um número único.
Gerar fora do regime pode alterar composição, escala de objetos e estabilidade.
Regra moderna¶
Não usar a antiga lei “nunca gere 2048 direto”. Perguntar:
- em quais buckets/resoluções o modelo foi treinado?
- qual o custo do latent token count?
- o autoencoder suporta a resolução?
- o positional encoding extrapola?
19. Hires/upscale¶
Hires fix é uma estratégia de pipeline, não um parâmetro fundamental.
Fluxo:
É útil quando o modelo compõe melhor em menor resolução ou quando o custo quadrático torna geração nativa cara.
PARTE IX — SEED E REPRODUÇÃO¶
20. Seed¶
Seed normalmente inicializa noise:
Mas output depende também de:
Mesma seed com pipeline diferente ≠ mesma imagem.
PARTE X — MEMORY/COMPUTE¶
21. Latent token count¶
Se latent \(H_l\times W_l\) é patchificado por \(p_h\times p_w\):
Attention full:
Dobrar H e W quadruplica tokens e pode multiplicar o componente quadrático de attention em ~16×, antes das otimizações.
22. CFG e custo¶
CFG clássico pode exigir duas predictions:
Se não houver batching/fusão especial:
Guiders adicionais podem adicionar forwards extras.
PARTE XI — COUPLING MATRIX¶
Tendências qualitativas dentro de um regime de operação adequado; as setas não são garantias de monotonicidade. Resultados dependem do modelo, sampler, dados e implementação.
| Controle ↑ | Prompt adherence | Diversity | Compute | Estrutura da referência |
|---|---|---|---|---|
| CFG | ↑ até saturar | ↓ | ↑ se extra pass | — |
| Steps (solver/guidance fixos) | pode ↑ até plateau | ~ | ↑ | — |
| Denoise strength | condicionamento pode dominar | ↑ | depende | ↓ |
| Resolution | detalhe potencial ↑ | — | ↑ forte | — |
| Guidance rescale | estabiliza high-CFG | pode ↑ | pequeno | — |
| Reference weight | ↑ ref adherence | ↓ | varia | ↑ |
PARTE XII — COMFYUI MAPPING¶
23. O que cada node representa¶
| Conceito | ComfyUI |
|---|---|
| \(f_\theta\) | model/UNet/DiT loader |
| \(C\) | text/image encoders + conditioning nodes |
| initial state | Empty Latent / encoded image / noise |
| solver | sampler selection |
| schedule | scheduler/sigmas |
| guidance | CFG/guider nodes |
| integration loop | KSampler/advanced sampler |
| decoder | VAE Decode |
A vantagem do ComfyUI é justamente expor explicitamente o grafo que GUIs simples escondem.
PARTE XIII — DIAGNÓSTICO¶
24. Sintoma → camada¶
| Sintoma | Investigar |
|---|---|
| composição ruim | model/training resolution/conditioning |
| prompt ignorado | text encoding/guidance/model capability |
| oversaturation | guidance/schedule/VAE |
| mãos ruins | model prior/conditioning/control/refine |
| imagem muda demais em img2img | denoise entry point |
| OOM | latent size/attention/activations/model residency |
| mesma seed difere | backend/dtype/solver/pipeline mismatch |
25. Snapshot 2026¶
- Stable Diffusion 3: referência moderna de rectified flow + MMDiT.
- Qwen-Image-2.0: geração e edição unificadas em framework multimodal.
- Ecossistema Diffusers/ComfyUI: guidance deixou de ser apenas um scalar CFG e pode incluir múltiplos operadores e janelas temporais.
Referências¶
- Stable Diffusion 3 — https://arxiv.org/abs/2403.03206
- Qwen-Image-2.0 — https://arxiv.org/abs/2605.10730
- Diffusers guiders — https://huggingface.co/docs/diffusers/main/api/modular_diffusers/guiders