
sampler ou sampling method.
L’échantillonnage n’est qu’une partie du modèle Stable Diffusion. Lisez l’article « Comment fonctionne Stable Diffusion ? » si vous souhaitez comprendre l’ensemble du modèle.
Voici ci-dessous un processus d’échantillonnage en action. L’échantillonneur produit progressivement des images de plus en plus nettes.

Présentation des échantillonneurs
À l’heure où ces lignes sont écrites, 19 échantillonneurs sont disponibles dans Novita AI, et ce nombre semble augmenter avec le temps. Quelles sont les différences ?
Solveurs ODE classiques
Commençons par les plus simples. Certains des échantillonneurs de la liste ont été inventés il y a plus de cent ans. Ce sont des solveurs classiques pour équations différentielles ordinaires (ODE).- Euler – Le solveur le plus simple possible.
- Heun – Une version plus précise, mais plus lente, d’Euler.
- LMS (Linear Multi-Step Method) – Même vitesse qu’Euler, mais supposément plus précis.
Échantillonneurs ancestraux
Remarquez-vous que certains noms d’échantillonneurs comportent une seule lettre « a » ?- Euler a
- DPM2 a
- DPM++ 2S a
- DPM++ 2S a Karras


Planification du bruit Karras
Les échantillonneurs étiquetés « Karras » utilisent la planification du bruit recommandée dans l’article de Karras. Si vous regardez attentivement, vous verrez que les tailles des pas de bruit sont plus petites vers la fin. Cet ajustement améliore la qualité des images.DDIM et PLMS
DDIM (Denoising Diffusion Implicit Model) et PLMS (Pseudo Linear Multi-Step Method) étaient les échantillonneurs inclus avec le Stable Diffusion v1 original. DDIM est l’un des premiers échantillonneurs conçus pour les modèles de diffusion, tandis que PLMS est une alternative plus récente et plus rapide à DDIM. Ils sont généralement considérés comme obsolètes et ne sont plus beaucoup utilisés.DPM et DPM++
DPM (Diffusion Probabilistic Model Solver) et DPM++ sont de nouveaux échantillonneurs conçus pour les modèles de diffusion, publiés en 2022. Ils représentent une famille de solveurs à l’architecture similaire. DPM et DPM2 sont similaires, DPM2 étant du second ordre (plus précis, mais plus lent). DPM++ est une amélioration de DPM. DPM adaptive ajuste la taille des pas de manière adaptative. Il peut être lent, car il ne garantit pas l’achèvement dans le nombre spécifié d’étapes d’échantillonnage.UniPC
UniPC (Unified Predictor-Corrector) est un nouvel échantillonneur publié en 2023. Inspiré par la méthode prédicteur-correcteur des solveurs ODE, il peut générer des images de haute qualité en 5 à 10 étapes.Comment choisir un échantillonneur
Dans cette section, je fournirai quelques comparaisons objectives pour vous aider à décider.Convergence de l’image
Dans cette section, je vais générer la même image avec différents échantillonneurs, jusqu’à 40 étapes d’échantillonnage. La dernière image à la 40e étape servira de référence pour évaluer la vitesse de convergence de l’échantillonnage, avec la méthode Euler comme point de comparaison.Euler, DDIM, PLMS, LMS Karras et HeunCommençons par examiner Euler, DDIM, PLMS, LMS Karras et Heun en tant que groupe, car ils représentent des solveurs ODE classiques ou des solveurs de diffusion originaux. DDIM converge avec à peu près le même nombre d’étapes qu’Euler, mais avec davantage de variations en raison de l’injection de bruit aléatoire pendant ses étapes d’échantillonnage.

Échantillonneurs ancestrauxSi votre objectif est d’obtenir une image stable et reproductible, vous devriez éviter d’utiliser des échantillonneurs ancestraux, car ils échouent tous à converger.

DPM et DPM2DPM fast n’a pas bien convergé. DPM2 et DPM2 Karras donnent de meilleurs résultats qu’Euler, mais là encore au prix d’une lenteur deux fois plus importante. DPM adaptive donne des résultats trompeusement bons, car il utilise ses propres étapes d’échantillonnage adaptatives. Il peut être très lent.

Solveurs DPM++DPM++ SDE et DPM++ SDE Karras souffrent du même défaut que les échantillonneurs ancestraux. Non seulement ils ne convergent pas, mais les images fluctuent aussi fortement lorsque le nombre d’étapes change. DPM++ 2M et DPM++ 2M Karras donnent de bons résultats. La variante Karras converge plus rapidement lorsque le nombre d’étapes est suffisamment élevé.

UniPCUniPC converge un peu plus lentement qu’Euler, mais cela reste tout à fait correct.

Vitesse

Qualité
Bien sûr, la vitesse et la convergence ne signifient rien si les images ont l’air médiocres. Images finales Commençons par examiner des échantillons de l’image.
Alors… lequel est le meilleur ?
Voici mes recommandations :- Si vous voulez utiliser quelque chose de rapide, convergent, récent et de qualité correcte, d’excellents choix sont
- DPM++ 2M Karras avec 20 – 30 étapes
- UniPC avec 20-30 étapes.
- Si vous voulez des images de bonne qualité et que la convergence vous importe peu, de bons choix sont
- DPM++ SDE Karras avec 10-15 étapes (Remarque : il s’agit d’un échantillonneur plus lent)
- DDIM avec 10-15 étapes.
- Évitez d’utiliser des échantillonneurs ancestraux si vous préférez des images stables et reproductibles.
- Euler et Heun sont de bons choix si vous préférez quelque chose de simple. Réduisez le nombre d’étapes pour Heun afin de gagner du temps.