Skip to main content
Stable Diffusion Art. (s.d.). Samplers. Recuperado de https://stable-diffusion-art.com/samplers/. Muitos métodos de amostragem estão disponíveis na Novita AI, incluindo Euler a, Heun e DDIM. O que são samplers? Como eles funcionam? Quais são as diferenças entre eles? Qual você deve usar? Você encontrará as respostas neste artigo.
Para produzir uma imagem, o Stable Diffusion primeiro gera uma imagem completamente aleatória no espaço latente. Em seguida, o preditor de ruído estima o ruído da imagem, que é posteriormente subtraído da imagem. Esse processo é repetido várias vezes, resultando em uma imagem limpa. Esse processo de remoção de ruído é chamado de amostragem porque o Stable Diffusion gera uma nova imagem de amostra a cada etapa. O método usado na amostragem é chamado de 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.
Embora a estrutura seja a mesma, há muitas maneiras diferentes de realizar esse processo de remoção de ruído. Muitas vezes, trata-se de um equilíbrio entre velocidade e precisão.

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?
Você aprenderá sobre eles na parte posterior deste artigo. Os detalhes técnicos podem ser complicados, então incluirei uma visão geral nesta seção para ajudar você a ter uma ideia geral do que eles são.

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
Esses são samplers ancestrais. Um sampler ancestral adiciona ruído à imagem em cada etapa de amostragem. Eles são samplers estocásticos porque o resultado da amostragem contém um certo grau de aleatoriedade. Esteja ciente de que muitos outros samplers também são estocásticos, mesmo que seus nomes não incluam um “a”. A desvantagem de usar um sampler ancestral é que a imagem pode não convergir. Compare abaixo as imagens geradas usando Euler a e Euler. Euler a não converge. (etapas de amostragem 2–40)
Euler converge. (etapas de amostragem 2-40)
As imagens geradas com Euler a não convergem em etapas de amostragem altas, enquanto as imagens do Euler convergem bem. Para reprodutibilidade, é desejável que a imagem convirja. Se você quiser gerar pequenas variações, deve usar uma semente variacional.

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 Heun
Primeiro, 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.
PLMS não teve bom desempenho neste teste. LMS Karras parece ter dificuldade para convergir e se estabiliza em uma linha de base mais alta. Heun converge mais rápido, mas é duas vezes mais lento, pois é um método de segunda ordem. Portanto, devemos comparar Heun com 30 etapas com Euler com 15 etapas, por exemplo.
Samplers ancestrais
Se seu objetivo é uma imagem estável e reprodutível, você deve evitar usar samplers ancestrais, pois todos eles falham em convergir.
DPM e DPM2
DPM 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.
UniPC
UniPC converge um pouco mais lentamente que Euler, mas não tão mal.

Velocidade

Embora DPM adaptive tenha bom desempenho em convergência, ele também é o mais lento. Você deve ter percebido que o restante dos tempos de renderização se divide em dois grupos: o primeiro grupo leva aproximadamente o mesmo tempo (cerca de 1x), e o outro grupo leva cerca do dobro do tempo (cerca de 2x). Isso reflete a ordem dos solvers. Solvers de 2ª ordem, embora mais precisos, precisam avaliar a U-Net de remoção de ruído duas vezes. Portanto, eles são 2x mais lentos.

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.
DPM++ fast falhou de forma bastante significativa. As amostras ancestrais não convergiram para a imagem à qual os outros samplers convergiram. Samplers ancestrais tendem a convergir para uma imagem de um filhote de gato, enquanto os determinísticos tendem a convergir para um gato. Não há respostas corretas, desde que pareçam boas para você. Qualidade perceptual Uma imagem ainda pode parecer boa mesmo que não tenha convergido. Vamos analisar a rapidez com que cada sampler consegue produzir uma imagem de alta qualidade. Você verá a qualidade perceptual medida com BRISQUE (Blind/Referenceless Image Spatial Quality Evaluator). Ele mede a qualidade de imagens naturais. DDIM se sai surpreendentemente bem aqui, sendo capaz de produzir a imagem de maior qualidade dentro do grupo com apenas 8 etapas.

Então… qual é o melhor?

Aqui estão minhas recomendações:
  1. 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.
  1. 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.
  1. Evite usar qualquer sampler ancestral se preferir imagens estáveis e reprodutíveis.
  2. Euler e Heun são boas opções se você preferir algo simples. Reduza o número de etapas para Heun para economizar tempo.
Última modificação em 15 de maio de 2026