Sampling method (Stable Diffusion)

Attualmente, ci sono ben 38 opzioni di Sampling methods disponibili in AUTOMATIC1111 (a Giugno 2023 erano solo 19!).
Il campionamento è una componente fondamentale nel processo interno di un modello come Stable Diffusion e alterarne il metodo può influenzare diversi aspetti della generazione, come la nitidezza, la responsività, la velocità di generazione e la stabilità del processo.
Di base questi metodi guidano l'algoritmo su come rimuovere il rumore casuale da cui parte la generazione e come applicare i dettagli in modo che l'immagine finale corrisponda all'intenzione espressa nella prompt. Sostanzialmente, stabiliscono come il processo di generazione debba muoversi all'interno dello spazio latente.
Per svolgere un'overview concisa ma efficace, possiamo classificare i vari approcci nel seguente modo:
- Metodi di Base (DPM e DDPM):
- DPM2
- DDPM
- DDPM Karras
- Metodi Avanzati DPM++ (variazioni con ulteriori miglioramenti):
- DPM++ 2M
- DPM++ SDE
- DPM++ 2.5 a
- DPM++ 2M Karras
- Metodi che utilizzano SDE:
- DPM++ SDE Karras
- DPM++ 2M SDE Karras
- DPM++ 2M SDE Exponential
- DPM++ 2M SDE Heun
- DPM++ 2M SDE Heun Karras
- DPM++ 2M SDE Heun Exponential
- Variazioni Exponential e Turbo (per accelerare il processo):
- DPM++ 2M SDE Exponential
- DPM++ 2M SDE Heun Exponential
- DPM++ 2M Turbo
- DPM++ 2M SDE Turbo
- Metodi SGM (Smooth Gradient Methods o varianti):
- Euler SGMUniform
- Euler A SGMUniform
- DPM++ 2M SGMUniform
- DPM++ 2M SDE SGMUniform
- Metodi Euler e Heun (basati su schemi numerici per la soluzione di equazioni differenziali):
- Euler
- Heun
- Euler A Turbo
- Metodi LMS (probabilmente riferito a Least Mean Squares per l'ottimizzazione):
- LMS
- LMS Karras
- Metodi per il Restart e l'Adattabilità:
- Restart
- DPM adaptive
- Variazioni PLMS e UniPC (possibili ottimizzazioni o modalità di generazione specifiche):
- PLMS
- UniPC
In certi nomi possiamo notare una "a" (Euler a, DPM++ 2S a, ecc.). Essa sta per "ancestrale" e identifica gli algoritmi di tipo stocastico (Monte Carlo).
Nell'approcciare Stable Diffusion è bene saper individuare in base alle proprie esigenze quali sono i metodi di campionamento più adatti. Le due caratteristiche principali che contraddistinguono la performance di ciascun algoritmo sono la velocità e la qualità. Puoi trovare un confronto dei vari modelli che prende in considerazione anche la stabilità qui: [1].
Stable Diffusion Art ha inoltre effettuato delle misurazioni nell'estate del 2023 per eseguire un'analisi comparativa dei vari approcci[2]:


Sperimentazione
Quando è stato svolta la ricerca di Stable Diffusion Art non erano ancora stati implementati i metodi di campionamento di tipo Turbo, perciò nel mostrarne le performance ne approfittiamo per dimostrare come la velocità dei processi sacrifichi tendenzialmente la qualità del risultato e se gli sforzi più recenti siano stati in grado di colmare il gap.
![]() |
![]() |
---|
![]() |
![]() |
---|
Facendo prove dirette, le versioni Turbo degli algoritmi sembrano in effetti a parità di tempo fornire dei risultati più corretti e dettagliati. Il prossimo paragone che potrebbe essere interessante fare è tra gli approcci Turbo e quelli Adattivi/Esponenziali che risultano i più performanti in termini di rapidità.
Nel corso delle altre sperimentazioni la nostra scelta è ricaduta su DPM ++ 2M Karras per la sua stabilità e qualità generale.