サンプラー完全ガイド|Euler・DPM++・LCMの違いと選び方

サンプラー完全ガイド|Euler・DPM++・LCMの違いと選び方

画像生成AIでパラメータを調整していると、「サンプラー」という設定項目に出会います。Euler、DPM++、LCMなど多くの選択肢があり、どれを選べばよいか迷う方も多いでしょう。

本記事では、主要なサンプラーの仕組みと特徴を整理し、用途に応じた選び方を解説します。

サンプラーとは何か

Stable Diffusionは、ランダムなノイズ画像から少しずつノイズを除去して最終画像を生成します。このノイズ除去を繰り返す手順(アルゴリズム)がサンプラーです。

サンプラーによって、ノイズの除去方法や計算の進め方が異なります。その結果、同じプロンプト・同じseedでも、サンプラーが違えば出力画像の質感・ディテール・収束速度が変わります。

主要サンプラーの分類と特徴

Euler系(Euler / Euler a)

もっとも基本的なサンプラーです。1次のオイラー法に基づいており、計算がシンプルで1ステップあたりの処理が高速です。

  • Euler: 決定論的。同じパラメータなら同じ結果を返す
  • Euler a(Euler Ancestral): 各ステップでノイズを再注入するため、ステップ数を変えると画像が大きく変化する。多様性が高い反面、再現性はやや低い

DPM++系(DPM++ 2M / DPM++ 2M Karras / DPM++ SDE Karras)

DPM-Solver++に基づくサンプラー群で、SD1.5〜SDXL世代で広く使われてきました。少ないステップ数でも高品質な結果を得やすいのが特徴です。

  • DPM++ 2M: 2次のマルチステップ法。安定性と品質のバランスが良い
  • DPM++ 2M Karras: Karrasスケジューラーと組み合わせた定番設定。終盤のノイズ除去が細かくなるため、質感が変化する傾向がある
  • DPM++ SDE Karras: 確率的微分方程式(SDE)を使用。ノイズの再注入があるため多様性が高く、確率的なノイズ再注入により、出力のバリエーションが大きくなる。ただし生成速度はやや遅い

LCM(Latent Consistency Model)

厳密にはサンプラーではなく蒸留ベースの推論手法ですが、UIツール上ではサンプラーとして選択するためここで紹介します。

蒸留技術を用いて、わずか4〜8ステップで画像を生成できるサンプラーです。通常のサンプラーが20〜30ステップ必要とするところを大幅に短縮できます。

  • 超高速な生成が可能
  • リアルタイムプレビューやプロンプトの試行錯誤に最適
  • 対応するLoRAやモデルが必要な場合がある

DDIM(Denoising Diffusion Implicit Models)

初期から存在する決定論的サンプラーです。同じ設定で必ず同じ結果が得られるため、再現性を重視する場面で有用です。

  • ステップ数を変えても画像の構図が大きく崩れにくい
  • DPM++系と比べると、同じステップ数での収束が遅い傾向がある

UniPC(Unified Predictor-Corrector)

予測子-修正子法を統合したサンプラーで、少ないステップ数(10〜15)でも高品質な出力を得られます。

  • 低ステップでの安定性が高い

サンプラー比較表

サンプラー速度品質推奨ステップ数再現性特徴
Euler速い標準15〜20高いシンプルで扱いやすい
Euler a速い標準15〜25低い多様な結果が出やすい
DPM++ 2M Karras普通高い20〜30高い現在の定番
DPM++ SDE Karrasやや遅い高い25〜40低いテクスチャが豊か
LCM非常に速い標準4〜8高い超少ステップ特化
DDIM普通標準20〜50非常に高い決定論的で安定
UniPC速い高い10〜15高い少ステップでも高品質

※ 品質はモデルやプロンプトに大きく依存するため参考値です

スケジューラーの違い

サンプラーとセットで設定するのがスケジューラーです。スケジューラーは、各ステップでノイズをどれくらいの割合で除去するかを制御します。

A1111/Forgeではサンプラー名にスケジューラーが組み込まれています(例: DPM++ 2M Karras)が、ComfyUIではサンプラーとスケジューラーを別々に設定します。

スケジューラー特徴
Normal均等にノイズを除去。標準的な挙動
Karras序盤は大きく、終盤は細かくノイズを除去。終盤の微細な変化に影響する
Exponential指数的にノイズレベルを変化させる。滑らかな収束が特徴
SGM Uniform均等間隔でスケジュールを設定。蒸留モデルとの相性が良い場合がある

SD1.5やSDXLの非蒸留モデルでは、Karrasスケジューラーが好まれる傾向があります。ただしモデルによって最適なスケジューラーは異なります。DPM++系サンプラーとの組み合わせが広く使われています。

ステップ数との関係

ステップ数は「ノイズ除去を何回繰り返すか」を決めるパラメータです。

  • ステップ数が少ない: 生成が速いが、ディテールが粗くなることがある
  • ステップ数が多い: ディテールが増すが、一定以上では改善が頭打ちになる。処理時間も比例して増加する

サンプラーごとに「十分な品質に達する最低ステップ数」が異なります。LCMは4ステップで十分な一方、DPM++ SDE Karrasは25ステップ以上が推奨されます。必要以上にステップ数を増やしても品質はほぼ変わらないため、サンプラーに合った適切なステップ数を選ぶことが重要です。

おすすめの組み合わせ

汎用(迷ったらこれ)

DPM++ 2M Karras / 20〜30ステップ

品質・速度・安定性のバランスが取りやすく、多くのモデルで安定した結果が得られます。初心者から上級者まで幅広く使える定番設定です。

高速生成

Euler / 15〜20ステップ または LCM / 4〜8ステップ

プロンプトの調整中や大量生成時に有用です。LCMは対応モデルやLoRAが必要ですが、圧倒的な速度が得られます。

高品質重視

DPM++ SDE Karras / 25〜40ステップ

テクスチャや細部の描写を重視する場合に向いています。生成時間は長くなりますが、テクスチャ表現に変化が出やすい設定です。

z-image-turboでの推奨設定

当ブログで使用しているz-image-turboは蒸留モデルであり、通常のSD系モデルとは挙動が異なります。

項目設定値
サンプラーeuler
スケジューラーddim_uniform
ステップ数8
CFG1.0

蒸留モデルではガイダンスがモデル内部に組み込まれているため、CFGは1.0固定です。また、少ないステップ数に最適化されているため、ステップ数を増やしても品質向上にはつながりません。蒸留モデルを使う場合は、モデル側の推奨設定に従うのが基本です。

まとめ

サンプラーの選択は画像生成の品質と速度に直結しますが、「絶対的な正解」はありません。使用するモデルとの相性もあるため、まずは**DPM++ 2M Karras(20〜30ステップ)**を基準にして、必要に応じて他のサンプラーを試してみてください。

蒸留モデルを使用する場合は、モデルの推奨設定をそのまま使うのが最も確実です。サンプラーやステップ数を変更しても改善しないことが多いため、プロンプトの工夫に時間を使う方が効果的です。

関連記事