Skip to main content
Stable Diffusion Art. (z.d.). Samplers. Geraadpleegd via https://stable-diffusion-art.com/samplers/. Er zijn veel samplingmethoden beschikbaar in Novita AI, waaronder Euler a, Heun en DDIM. Wat zijn samplers? Hoe werken ze? Wat zijn de verschillen ertussen? Welke moet je gebruiken? Je vindt de antwoorden in dit artikel.
Om een afbeelding te produceren, genereert Stable Diffusion eerst een volledig willekeurige afbeelding in de latente ruimte. De ruisvoorspeller schat vervolgens de ruis van de afbeelding, die daarna van de afbeelding wordt afgetrokken. Dit proces wordt meerdere keren herhaald, wat resulteert in een schone afbeelding. Dit denoising-proces wordt sampling genoemd omdat Stable Diffusion bij elke stap een nieuwe sampleafbeelding genereert. De methode die bij sampling wordt gebruikt, wordt aangeduid als de sampler of sampling method. Sampling is slechts één onderdeel van het Stable Diffusion-model. Lees het artikel “Hoe werkt Stable Diffusion?” als je het volledige model wilt begrijpen. Hieronder zie je een samplingproces in actie. De sampler produceert geleidelijk steeds schonere afbeeldingen.
Hoewel het framework hetzelfde is, zijn er veel verschillende manieren om dit denoising-proces uit te voeren. Het is vaak een afweging tussen snelheid en nauwkeurigheid.

Overzicht van samplers

Op het moment van schrijven zijn er 19 samplers beschikbaar in Novita AI, en dit aantal lijkt in de loop van de tijd te groeien. Wat zijn de verschillen?
Je leert er meer over in het latere deel van dit artikel. De technische details kunnen overweldigend zijn, dus ik neem in deze sectie een overzicht op hoofdlijnen op om je te helpen een algemeen idee te krijgen van wat ze zijn.

Ouderwetse ODE-oplossers

Laten we beginnen met de eenvoudigere. Sommige samplers in de lijst zijn meer dan honderd jaar geleden uitgevonden. Het zijn ouderwetse oplossers voor gewone differentiaalvergelijkingen (ODE).
  • Euler – De eenvoudigst mogelijke oplosser.
  • Heun – Een nauwkeurigere maar langzamere versie van Euler.
  • LMS (Linear Multi-Step Method) – Dezelfde snelheid als Euler, maar vermoedelijk nauwkeuriger.

Ancestrale samplers

Merk je op dat sommige samplernamen één enkele letter “a” hebben?
  • Euler a
  • DPM2 a
  • DPM++ 2S a
  • DPM++ 2S a Karras
Dit zijn ancestrale samplers. Een ancestrale sampler voegt bij elke samplingstap ruis toe aan de afbeelding. Het zijn stochastische samplers omdat het samplingresultaat enige willekeur bevat. Wees je ervan bewust dat veel andere samplers ook stochastisch zijn, zelfs als hun namen geen “a” bevatten. Het nadeel van het gebruik van een ancestrale sampler is dat de afbeelding mogelijk niet convergeert. Vergelijk hieronder de afbeeldingen die zijn gegenereerd met Euler a en Euler. Euler a convergeert niet. (samplingstappen 2–40)
Euler convergeert. (samplingstappen 2-40)
Afbeeldingen die met Euler a zijn gegenereerd convergeren niet bij hoge samplingstappen, terwijl afbeeldingen van Euler goed convergeren. Voor reproduceerbaarheid is het wenselijk dat de afbeelding convergeert. Als je lichte variaties wilt genereren, moet je een variatie-seed gebruiken.

Karras-ruisschema

De samplers met het label “Karras” gebruiken het ruisschema dat wordt aanbevolen in de Karras-artikel. Als je goed kijkt, zie je dat de stapgroottes van de ruis tegen het einde kleiner zijn. Deze aanpassing verbetert de kwaliteit van de afbeeldingen.

DDIM en PLMS

DDIM (Denoising Diffusion Implicit Model) en PLMS (Pseudo Linear Multi-Step Method) waren de samplers die bij de oorspronkelijke Stable Diffusion v1 waren inbegrepen. DDIM is een van de eerste samplers die voor diffusiemodellen zijn ontworpen, terwijl PLMS een nieuwer en sneller alternatief voor DDIM is. Ze worden over het algemeen als verouderd beschouwd en worden niet meer veel gebruikt.

DPM en DPM++

DPM (Diffusion Probabilistic Model Solver) en DPM++ zijn nieuwe samplers die zijn ontworpen voor diffusiemodellen en in 2022 zijn uitgebracht. Ze vertegenwoordigen een familie van solvers met een vergelijkbare architectuur. DPM en DPM2 lijken op elkaar, waarbij DPM2 van de tweede orde is (nauwkeuriger maar langzamer). DPM++ is een verbetering ten opzichte van DPM. DPM adaptive past de stapgrootte adaptief aan. Het kan traag zijn, omdat het geen voltooiing binnen het opgegeven aantal samplingstappen garandeert.

UniPC

UniPC (Unified Predictor-Corrector) is een nieuwe sampler die in 2023 is uitgebracht. Geïnspireerd door de predictor-corrector-methode in ODE-solvers kan deze in 5-10 stappen beeldgeneratie van hoge kwaliteit bereiken.

Een sampler kiezen

In dit gedeelte geef ik enkele objectieve vergelijkingen om je te helpen beslissen.

Afbeeldingsconvergentie

In dit gedeelte genereer ik dezelfde afbeelding met verschillende samplers met maximaal 40 samplingstappen. De laatste afbeelding bij de 40e stap wordt gebruikt als referentie om te evalueren hoe snel de sampling convergeert, waarbij de Euler-methode als benchmark dient.
Euler, DDIM, PLMS, LMS Karras en Heun
Laten we eerst Euler, DDIM, PLMS, LMS Karras en Heun als groep bekijken, omdat ze old-school ODE-solvers of oorspronkelijke diffusiesolvers vertegenwoordigen. DDIM convergeert bij ongeveer hetzelfde aantal stappen als Euler, maar met meer variaties door de injectie van willekeurige ruis tijdens de samplingstappen.
PLMS presteerde niet goed in deze test. LMS Karras lijkt moeite te hebben met convergeren en stabiliseert op een hogere baseline. Heun convergeert sneller, maar is twee keer zo langzaam omdat het een methode van de tweede orde is. Daarom moeten we Heun bij 30 stappen vergelijken met Euler bij 15 stappen, bijvoorbeeld.
Ancestrale samplers
Als een stabiele, reproduceerbare afbeelding je doel is, moet je het gebruik van ancestrale samplers vermijden, omdat ze allemaal niet convergeren.
DPM and DPM2
DPM fast convergeerde niet goed. DPM2 en DPM2 Karras presteren beter dan Euler, maar opnieuw ten koste van twee keer zo langzaam zijn. DPM adaptive presteert bedrieglijk goed omdat het zijn eigen adaptieve samplingstappen gebruikt. Het kan erg langzaam zijn.
DPM++-solvers
DPM++ SDE en DPM++ SDE Karras hebben dezelfde tekortkoming als ancestrale samplers. Ze convergeren niet alleen niet, maar de afbeeldingen fluctueren ook aanzienlijk wanneer het aantal stappen verandert. DPM++ 2M en DPM++ 2M Karras presteren goed. De Karras-variant convergeert sneller wanneer het aantal stappen hoog genoeg is.
UniPC
UniPC convergeert iets langzamer dan Euler, maar niet al te slecht.

Snelheid

Hoewel DPM adaptive goed presteert in convergentie, is het ook de langzaamste. Je hebt misschien gemerkt dat de rest van de rendertijden in twee groepen uiteenvalt, waarbij de eerste groep ongeveer evenveel tijd kost (ongeveer 1x), en de andere groep ongeveer twee keer zo lang kost (ongeveer 2x). Dit weerspiegelt de orde van de solvers. 2e-orde solvers zijn weliswaar nauwkeuriger, maar moeten de denoising U-Net twee keer evalueren. Ze zijn dus 2x langzamer.

Kwaliteit

Natuurlijk betekenen snelheid en convergentie niets als de afbeeldingen er waardeloos uitzien. Eindafbeeldingen Laten we eerst naar voorbeelden van de afbeelding kijken.
DPM++ fast faalde behoorlijk slecht. Ancestrale samples convergeerden niet naar de afbeelding waar andere samplers naartoe convergeerden. Ancestrale samplers hebben de neiging te convergeren naar een afbeelding van een kitten, terwijl de deterministische de neiging hebben te convergeren naar een kat. Er zijn geen juiste antwoorden zolang ze er voor jou goed uitzien. Perceptuele kwaliteit Een afbeelding kan er nog steeds goed uitzien, zelfs als deze niet is geconvergeerd. Laten we kijken hoe snel elke sampler een afbeelding van hoge kwaliteit kan produceren. Je zult perceptuele kwaliteit gemeten zien met BRISQUE (Blind/Referenceless Beeldruimtelijke kwaliteitsbeoordelaar). Het meet de kwaliteit van natuurlijke afbeeldingen. DDIM doet het hier verrassend goed en is in staat om binnen de groep de afbeelding van de hoogste kwaliteit te produceren in slechts 8 stappen.

Dus… welke is de beste?

Hier zijn mijn aanbevelingen:
  1. Als je iets snels, convergerends, nieuws en met behoorlijke kwaliteit wilt gebruiken, zijn uitstekende keuzes
  • DPM++ 2M Karras met 20 – 30 stappen
  • UniPC met 20-30 stappen.
  1. Als je afbeeldingen van goede kwaliteit wilt en je niet om convergentie geeft, zijn goede keuzes
  • DPM++ SDE Karras met 10-15 stappen (Opmerking: dit is een tragere sampler)
  • DDIM met 10-15 stappen.
  1. Vermijd het gebruik van ancestrale samplers als je stabiele, reproduceerbare afbeeldingen verkiest.
  2. Euler en Heun zijn prima keuzes als je iets eenvoudigs verkiest. Verlaag het aantal stappen voor Heun om tijd te besparen.
Laatst gewijzigd op 10 augustus 2026