Sampling method (Stable Diffusion)

Da Wiki AI.

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 diffusione

Per svolgere un'overview concisa ma efficace, possiamo classificare i vari approcci nel seguente modo:

  1. Metodi di Base (DPM e DDPM):
    • DPM2
    • DDPM
    • DDPM Karras
  2. Metodi Avanzati DPM++ (variazioni con ulteriori miglioramenti):
    • DPM++ 2M
    • DPM++ SDE
    • DPM++ 2.5 a
    • DPM++ 2M Karras
  3. 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
  4. Variazioni Exponential e Turbo (per accelerare il processo):
    • DPM++ 2M SDE Exponential
    • DPM++ 2M SDE Heun Exponential
    • DPM++ 2M Turbo
    • DPM++ 2M SDE Turbo
  5. Metodi SGM (Smooth Gradient Methods o varianti):
    • Euler SGMUniform
    • Euler A SGMUniform
    • DPM++ 2M SGMUniform
    • DPM++ 2M SDE SGMUniform
  6. Metodi Euler e Heun (basati su schemi numerici per la soluzione di equazioni differenziali):
    • Euler
    • Heun
    • Euler A Turbo
  7. Metodi LMS (probabilmente riferito a Least Mean Squares per l'ottimizzazione):
    • LMS
    • LMS Karras
  8. Metodi per il Restart e l'Adattabilità:
    • Restart
    • DPM adaptive
  9. 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]:

Confronto velocità dei processi
Confronto per convergenza