
sampler または sampling method と呼ばれます。
サンプリングは Stable Diffusion モデルの一部にすぎません。モデル全体を理解したい場合は、「How Does Stable Diffusion Work?」の記事を読んでください。
以下は、実際のサンプリングプロセスです。サンプラーは徐々に、よりクリーンな画像を生成していきます。

サンプラーの概要
この記事の執筆時点では、Novita AI で利用できるサンプラーは 19 種類あり、この数は時間とともに増えているようです。それらの違いは何でしょうか?
古典的な ODE ソルバー
まずは比較的わかりやすいものから始めましょう。リストにあるサンプラーの一部は、100 年以上前に発明されました。これらは常微分方程式(ODE)の古典的なソルバーです。- Euler – 最も単純なソルバー。
- Heun – Euler より正確だが遅いバージョン。
- LMS (Linear Multi-Step Method) – Euler と同じ速度だが、おそらくより正確。
Ancestral サンプラー
一部のサンプラー名に、1 文字の “a” が含まれていることに気づきましたか?- Euler a
- DPM2 a
- DPM++ 2S a
- DPM++ 2S a Karras


Karras ノイズスケジュール
“Karras” とラベル付けされたサンプラーは、Karras article で推奨されているノイズスケジュールを使用します。よく見ると、終盤に近いほどノイズのステップサイズが小さくなっていることがわかります。この調整により、画像の品質が向上します。DDIM と PLMS
DDIM (Denoising Diffusion Implicit Model) と PLMS (Pseudo Linear Multi-Step Method) は、オリジナルの Stable Diffusion v1 に含まれていたサンプラーです。DDIM は拡散モデル向けに設計された最初期のサンプラーの 1 つであり、PLMS は DDIM より新しく高速な代替手段です。これらは一般的に古いものと見なされており、現在ではあまり広く使用されていません。DPM と DPM++
DPM (Diffusion Probabilistic Model Solver) と DPM++ は、2022 年にリリースされた拡散モデル向けの新しいサンプラーです。これらは類似したアーキテクチャを持つソルバー群を表しています。 DPM と DPM2 は似ていますが、DPM2 は二次(より正確だが遅い)です。 DPM++ は DPM の改良版です。 DPM adaptive はステップサイズを適応的に調整します。指定されたサンプリングステップ数内で完了する保証がないため、遅くなる場合があります。UniPC
UniPC (Unified Predictor-Corrector) は、2023 年にリリースされた新しいサンプラーです。ODE ソルバーの予測子・修正子法に着想を得ており、5〜10 ステップで高品質な画像生成を実現できます。サンプラーの選び方
このセクションでは、判断の助けとなる客観的な比較をいくつか示します。画像の収束
このセクションでは、最大 40 サンプリングステップで、異なるサンプラーを使用して同じ画像を生成します。40 ステップ目の最後の画像を基準として使用し、サンプリングがどれだけ速く収束するかを評価します。Euler 法をベンチマークとします。Euler、DDIM、PLMS、LMS Karras、Heunまず、Euler、DDIM、PLMS、LMS Karras、Heun を 1 つのグループとして見てみましょう。これらは古典的な ODE ソルバーまたはオリジナルの拡散ソルバーを代表するものです。DDIM は Euler とほぼ同じステップ数で収束しますが、サンプリングステップ中にランダムノイズが注入されるため、より多くの変動があります。

Ancestral サンプラー安定した再現可能な画像が目的であれば、ancestral サンプラーの使用は避けるべきです。いずれも収束しないためです。

DPM と DPM2DPM fast はあまりうまく収束しませんでした。DPM2 と DPM2 Karras は Euler より優れた結果を示しますが、やはり 2 倍遅くなるという代償があります。 DPM adaptive は独自の適応的サンプリングステップを使用するため、一見非常に良い結果に見えます。非常に遅くなる場合があります。

DPM++ ソルバーDPM++ SDE と DPM++ SDE Karras は、ancestral サンプラーと同じ欠点を抱えています。収束しないだけでなく、ステップ数が変わると画像も大きく変動します。 DPM++ 2M と DPM++ 2M Karras は良好な結果を示します。Karras バリアントは、ステップ数が十分に多い場合、より速く収束します。

UniPCUniPC は Euler より少し遅く収束しますが、それほど悪くはありません。

速度

品質
もちろん、画像がひどく見えるのであれば、速度や収束には意味がありません。 最終画像 まず画像のサンプルを見てみましょう。
では…どれが最適なのでしょうか?
私のおすすめは次のとおりです。- 高速で、収束し、新しく、十分な品質のものを使いたい場合、優れた選択肢は次のとおりです。
- 20 – 30 ステップの DPM++ 2M Karras
- 20-30 ステップの UniPC。
- 高品質な画像が欲しく、収束を気にしない場合、良い選択肢は次のとおりです。
- 10-15 ステップの DPM++ SDE Karras(注:これは遅いサンプラーです)
- 10-15 ステップの DDIM。
- 安定した再現可能な画像を好む場合は、ancestral サンプラーの使用を避けてください。
- シンプルなものを好む場合、Euler と Heun は良い選択肢です。時間を節約するには、Heun のステップ数を減らしてください。