一言で言うと
ノイズを除去する「アルゴリズム」。調理法(煮る、焼く、蒸す)のように、同じ材料でも仕上がりが変わる。
サンプラーの分類
┌─────────────────────────────────────────────────────────┐
│ │
│ 【決定論的サンプラー(Deterministic)】 │
│ ・同じシードなら常に同じ結果 │
│ ・再現性が高い │
│ ・例:euler, heun, dpmpp_2m, dpmpp_3m_sde, ddim │
│ │
│ 【確率論的サンプラー(Stochastic / Ancestral)】 │
│ ・各ステップでノイズを追加 │
│ ・同じシードでも結果が変わることがある │
│ ・創造性・多様性が高い │
│ ・例:euler_ancestral, dpmpp_2s_ancestral, dpmpp_sde │
│ │
│ 見分け方:「_a」「_ancestral」「_sde」が付くものは確率論的 │
│ │
└─────────────────────────────────────────────────────────┘
全サンプラー一覧と特徴
基本サンプラー(Euler系)
┌──────────────────────┬──────────────────────────────────────┐
│ サンプラー │ 特徴 │
├──────────────────────┼──────────────────────────────────────┤
│ euler │ 最もシンプル。高速で安定。 │
│ │ 15-20ステップで良い結果。 │
│ │ 迷ったらまずこれ。 │
├──────────────────────┼──────────────────────────────────────┤
│ euler_cfg_pp │ eulerのCFG++版。 │
│ │ 低CFGでも品質を維持。 │
├──────────────────────┼──────────────────────────────────────┤
│ euler_ancestral │ eulerに各ステップでノイズを追加。 │
│ (euler_a) │ 創造的・多様な結果。 │
│ │ 再現性は低い。 │
├──────────────────────┼──────────────────────────────────────┤
│ euler_ancestral_ │ euler_ancestralのCFG++版。 │
│ cfg_pp │ │
├──────────────────────┼──────────────────────────────────────┤
│ heun │ eulerより高精度(2次精度)。 │
│ │ ただし2倍遅い。 │
│ │ 30ステップのheun ≒ 60ステップのeuler│
├──────────────────────┼──────────────────────────────────────┤
│ heunpp2 │ heunの改良版。より安定。 │
└──────────────────────┴──────────────────────────────────────┘
DPMソルバー系
┌──────────────────────┬──────────────────────────────────────┐
│ サンプラー │ 特徴 │
├──────────────────────┼──────────────────────────────────────┤
│ dpm_2 │ DPM-Solver 2次精度。 │
│ │ eulerより高品質だが2倍遅い。 │
├──────────────────────┼──────────────────────────────────────┤
│ dpm_2_ancestral │ dpm_2の確率論的版。 │
│ │ 多様性あり、収束しにくい。 │
├──────────────────────┼──────────────────────────────────────┤
│ dpm_fast │ 高速だが品質は低め。 │
│ │ 収束が悪い。非推奨。 │
├──────────────────────┼──────────────────────────────────────┤
│ dpm_adaptive │ ステップ数を自動調整。 │
│ │ 収束は良いが非常に遅い。 │
└──────────────────────┴──────────────────────────────────────┘
DPM++ソルバー系(最も人気)
┌──────────────────────┬──────────────────────────────────────┐
│ サンプラー │ 特徴 │
├──────────────────────┼──────────────────────────────────────┤
│ dpmpp_2m │ ★最も人気★ DPM++ 2M。 │
│ │ 20-30ステップで高品質。 │
│ │ Karrasスケジューラと相性◎。 │
├──────────────────────┼──────────────────────────────────────┤
│ dpmpp_2m_cfg_pp │ dpmpp_2mのCFG++版。 │
├──────────────────────┼──────────────────────────────────────┤
│ dpmpp_2m_sde │ dpmpp_2mにSDE(確率的微分方程式)追加│
│ │ テクスチャが豊か。やや遅い。 │
├──────────────────────┼──────────────────────────────────────┤
│ dpmpp_2m_sde_gpu │ dpmpp_2m_sdeのGPU最適化版。 │
│ │ GPU並列処理で高速化。 │
├──────────────────────┼──────────────────────────────────────┤
│ dpmpp_2m_sde_heun │ dpmpp_2m_sdeにheun法を適用。 │
│ │ より高精度だがさらに遅い。 │
├──────────────────────┼──────────────────────────────────────┤
│ dpmpp_2s_ancestral │ DPM++ 2Sの確率論的版。 │
│ │ 創造的だが収束しにくい。 │
├──────────────────────┼──────────────────────────────────────┤
│ dpmpp_sde │ DPM++ SDE。テクスチャ・深みが出る。 │
│ │ 10-15ステップでも良質。 │
│ │ ★品質重視ならこれ★ │
├──────────────────────┼──────────────────────────────────────┤
│ dpmpp_sde_gpu │ dpmpp_sdeのGPU最適化版。 │
├──────────────────────┼──────────────────────────────────────┤
│ dpmpp_3m_sde │ DPM++ 3M SDE。最高精度。 │
│ │ 30-40ステップ推奨。 │
│ │ 大規模アップスケールに強い。 │
├──────────────────────┼──────────────────────────────────────┤
│ dpmpp_3m_sde_gpu │ dpmpp_3m_sdeのGPU最適化版。 │
└──────────────────────┴──────────────────────────────────────┘
その他のサンプラー
┌──────────────────────┬──────────────────────────────────────┐
│ サンプラー │ 特徴 │
├──────────────────────┼──────────────────────────────────────┤
│ lms │ Linear Multi-Step。古典的手法。 │
│ │ 安定だが現代ではあまり使わない。 │
├──────────────────────┼──────────────────────────────────────┤
│ ddpm │ 元祖拡散モデル。非常に遅い。 │
│ │ 通常は使わない。 │
├──────────────────────┼──────────────────────────────────────┤
│ ddim │ DDIMスケジューラ専用。 │
│ │ ddim_uniformと組み合わせ。 │
│ │ 決定論的で高速。 │
├──────────────────────┼──────────────────────────────────────┤
│ lcm │ Latent Consistency Model用。 │
│ │ 4-8ステップの超高速生成。 │
│ │ LCM LoRA使用時に。 │
├──────────────────────┼──────────────────────────────────────┤
│ uni_pc │ UniPC。10-15ステップで高速高品質。 │
│ │ sgm_uniformスケジューラ推奨。 │
├──────────────────────┼──────────────────────────────────────┤
│ uni_pc_bh2 │ uni_pcの改良版。 │
├──────────────────────┼──────────────────────────────────────┤
│ deis │ DEIS。10ステップでも高品質。 │
│ │ 高速ドラフト生成に最適。 │
├──────────────────────┼──────────────────────────────────────┤
│ ipndm / ipndm_v │ Improved PNDM。安定・高速。 │
├──────────────────────┼──────────────────────────────────────┤
│ res_multistep │ Residual Multi-Step。新しめの手法。 │
│ (+ cfg_pp, ancestral)│ │
├──────────────────────┼──────────────────────────────────────┤
│ gradient_estimation │ 勾配推定ベース。実験的。 │
├──────────────────────┼──────────────────────────────────────┤
│ er_sde │ ER-SDE。実験的。 │
├──────────────────────┼──────────────────────────────────────┤
│ sa_solver │ SA-Solver。実験的。 │
│ sa_solver_pece │ │
└──────────────────────┴──────────────────────────────────────┘
用途別おすすめ
┌─────────────────────────────────────────────────────────┐
│ │
│ 【迷ったらこれ】 │
│ dpmpp_2m + karras(20-30ステップ) │
│ → 最もバランスが良い定番構成 │
│ │
│ 【高速生成】 │
│ euler(15-20ステップ) │
│ uni_pc(10-15ステップ) │
│ → 速度重視のテスト・実験向け │
│ │
│ 【超高速(4-8ステップ)】 │
│ lcm + LCM LoRA │
│ → リアルタイムプレビュー向け │
│ │
│ 【最高品質】 │
│ dpmpp_sde + karras(30-40ステップ) │
│ dpmpp_3m_sde + exponential(30-40ステップ) │
│ → 最終出力・印刷用 │
│ │
│ 【創造的・多様な結果】 │
│ euler_ancestral │
│ dpmpp_2s_ancestral │
│ → 同じシードでも変化が欲しいとき │
│ │
│ 【再現性重視】 │
│ euler, dpmpp_2m など決定論的サンプラー │
│ → ancestral/sde系は避ける │
│ │
└─────────────────────────────────────────────────────────┘
収束性の比較
収束 = ステップ数を増やしても画像が変わらなくなること
【よく収束する(安定)】
euler, heun, dpmpp_2m, dpmpp_3m_sde, uni_pc
【収束しにくい(変化し続ける)】
euler_ancestral, dpmpp_2s_ancestral, dpmpp_sde
→ 安定した結果が欲しいなら収束するサンプラーを選ぶ
→ 多様性が欲しいなら収束しにくいサンプラーを選ぶ
速度の比較
【高速(1x)】
euler, lms, ddim, lcm, deis, uni_pc
【中速(1.5-2x)】
heun, dpm_2, dpmpp_2m, dpmpp_sde
【低速(2x以上)】
dpm_adaptive, dpmpp_3m_sde, dpmpp_2m_sde_heun
※ 2次精度のサンプラーは基本的に2倍遅い
※ _gpu 版はGPU並列処理で高速化
まとめ
| 用途 | おすすめサンプラー | ステップ数 |
|---|---|---|
| 汎用・定番 | dpmpp_2m | 20-30 |
| 高速テスト | euler | 15-20 |
| 超高速 | lcm(+ LCM LoRA) | 4-8 |
| 最高品質 | dpmpp_sde / dpmpp_3m_sde | 30-40 |
| 創造性重視 | euler_ancestral | 20-30 |
| 低ステップ高品質 | uni_pc / deis | 10-15 |
次回は「スケジューラーとは」─ サンプラーと組み合わせる「火加減」の設定