0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[画像生成AI大全]Kサンプラー実践編: サンプラーとは

0
Posted at

一言で言うと

ノイズを除去する「アルゴリズム」。調理法(煮る、焼く、蒸す)のように、同じ材料でも仕上がりが変わる。


サンプラーの分類

┌─────────────────────────────────────────────────────────┐
│                                                         │
│  【決定論的サンプラー(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

次回は「スケジューラーとは」─ サンプラーと組み合わせる「火加減」の設定

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?