
sampler ou sampling method.
A amostragem é apenas uma parte do modelo Stable Diffusion. Leia o artigo “Como o Stable Diffusion funciona?” se você quiser entender o modelo completo.
Abaixo está um processo de amostragem em ação. O sampler produz gradualmente imagens cada vez mais limpas.

Visão geral dos samplers
No momento em que este texto foi escrito, há 19 samplers disponíveis na Novita AI, e esse número parece estar crescendo ao longo do tempo. Quais são as diferenças?
Solvers ODE tradicionais
Vamos começar pelos mais fáceis. Alguns dos samplers da lista foram inventados há mais de cem anos. Eles são solvers tradicionais para equações diferenciais ordinárias (ODE).- Euler – O solver mais simples possível.
- Heun – Uma versão mais precisa, porém mais lenta, do Euler.
- LMS (Linear Multi-Step Method) – Mesma velocidade do Euler, mas supostamente mais preciso.
Samplers ancestrais
Você percebe que alguns nomes de samplers têm uma única letra “a”?- Euler a
- DPM2 a
- DPM++ 2S a
- DPM++ 2S a Karras


Cronograma de ruído Karras
Os samplers rotulados como “Karras” usam o cronograma de ruído recomendado no artigo de Karras. Se você observar com atenção, verá que os tamanhos dos passos de ruído são menores perto do final. Esse ajuste melhora a qualidade das imagens.DDIM e PLMS
DDIM (Denoising Diffusion Implicit Model) e PLMS (Pseudo Linear Multi-Step Method) foram os samplers incluídos no Stable Diffusion v1 original. DDIM é um dos primeiros samplers projetados para modelos de difusão, enquanto PLMS é uma alternativa mais nova e mais rápida ao DDIM. Em geral, eles são considerados ultrapassados e não são mais amplamente usados.DPM e DPM++
DPM (Diffusion Probabilistic Model Solver) e DPM++ são novos samplers projetados para modelos de difusão lançados em 2022. Eles representam uma família de solvers com arquitetura semelhante. DPM e DPM2 são semelhantes, sendo o DPM2 de segunda ordem (mais preciso, porém mais lento). DPM++ é uma melhoria em relação ao DPM. DPM adaptive ajusta o tamanho do passo de forma adaptativa. Ele pode ser lento, pois não garante a conclusão dentro do número especificado de etapas de amostragem.UniPC
UniPC (Unified Predictor-Corrector) é um novo sampler lançado em 2023. Inspirado no método predictor-corrector em solvers ODE, ele consegue gerar imagens de alta qualidade em 5 a 10 etapas.Como escolher um sampler
Nesta seção, fornecerei algumas comparações objetivas para ajudar você a decidir.Convergência da imagem
Nesta seção, vou gerar a mesma imagem usando diferentes samplers com até 40 etapas de amostragem. A última imagem na 40ª etapa será usada como referência para avaliar a rapidez com que a amostragem converge, com o método Euler servindo como benchmark.Euler, DDIM, PLMS, LMS Karras e HeunPrimeiro, vamos analisar Euler, DDIM, PLMS, LMS Karras e Heun como um grupo, já que eles representam solvers ODE tradicionais ou solvers de difusão originais. DDIM converge com aproximadamente o mesmo número de etapas que Euler, mas com mais variações devido à injeção de ruído aleatório durante suas etapas de amostragem.

Samplers ancestraisSe seu objetivo é uma imagem estável e reprodutível, você deve evitar usar samplers ancestrais, pois todos eles falham em convergir.

DPM e DPM2DPM fast não convergiu bem. DPM2 e DPM2 Karras têm desempenho melhor que Euler, mas novamente ao custo de serem duas vezes mais lentos. DPM adaptive apresenta um desempenho aparentemente muito bom porque usa suas próprias etapas de amostragem adaptativas. Ele pode ser muito lento.

Solvers DPM++DPM++ SDE e DPM++ SDE Karras sofrem da mesma limitação que os samplers ancestrais. Eles não apenas não convergem, como as imagens também flutuam significativamente à medida que o número de etapas muda. DPM++ 2M e DPM++ 2M Karras têm bom desempenho. A variante Karras converge mais rápido quando o número de etapas é alto o suficiente.

UniPCUniPC converge um pouco mais lentamente que Euler, mas não tão mal.

Velocidade

Qualidade
É claro que velocidade e convergência não significam nada se as imagens tiverem uma aparência ruim. Imagens finais Vamos primeiro analisar amostras da imagem.
Então… qual é o melhor?
Aqui estão minhas recomendações:- Se você quiser usar algo rápido, convergente, novo e com qualidade decente, excelentes escolhas são
- DPM++ 2M Karras com 20 – 30 etapas
- UniPC com 20-30 etapas.
- Se você quiser imagens de boa qualidade e não se importar com convergência, boas escolhas são
- DPM++ SDE Karras com 10-15 etapas (Observação: este é um sampler mais lento)
- DDIM com 10-15 etapas.
- Evite usar qualquer sampler ancestral se preferir imagens estáveis e reprodutíveis.
- Euler e Heun são boas opções se você preferir algo simples. Reduza o número de etapas para Heun para economizar tempo.