
う~ん、時間がかかるよぉ・・・

ユキ、どうしたの?

あ、管理人さ~ん。画像生成に時間がかかって・・・
もう少し早くならないかな?

そうだね、生成時間はPCのスペックや使用するモデル、設定なんかが影響するけど。
ワークフローに組み入れるだけで高速化できるLoRAがあるから使ってみる?
ComfyUIで画像を生成していると、「もう少し生成時間を短くできないかな?」と思うことがあります。
特に高解像度の画像を生成すると、ステップ数が増えるほど処理時間も長くなり、何枚も試行錯誤したいときには待ち時間が気になってしまいます。
そこで今回は、画像生成を高速化するためのLoRA、
DMD2 Speed LoRA
をComfyUIで使ってみました。
DMD2 Speed LoRAは、SDXLやPony、Illustrious系のモデルで利用できる高速化向けのLoRAです。公開されているモデル情報では、少ないステップ数での生成を想定しており、8 steps、LoRA weight 0.7、LCM sampler、CFG 1.4~1.8などが推奨されています。
実際に通常設定とDMD2 Speed LoRAを使用した場合を比較し、どのくらい生成時間を短縮できるのか、画質にどのような違いが出るのかを確認してみます。
DMD2 Speed LoRAとは?
DMD2 Speed LoRAは、DMD2(Distribution Matching Distillation)を利用した画像生成高速化用のLoRAです。
通常の画像生成では、KSamplerなどで設定したステップ数だけ画像を段階的に生成していきます。
30stepで生成している場合、基本的には30回の処理を行うことになります。
ステップ数を減らせば生成時間は短くできますが、単純にステップ数だけを減らすと、画質や描写の安定性が低下することがあります。
DMD2 Speed LoRAは、こうした少ないステップ数での生成を可能にするためのLoRAです。
つまり、「LoRAを追加したからGPUの処理そのものが速くなる」というより、
「少ないステップ数でも画像を生成しやすくすることで、結果として生成時間を短縮する」
という仕組みと考えると分かりやすいでしょう。
実際、モデルの公開情報でも「LoRA自体が直接速度を上げるのではなく、より少ないステップ数で良好な結果を得られるようにするもの」と説明されています。
DMD2 Speed LoRAを使うメリット
DMD2 Speed LoRAを利用する最大のメリットは、生成に必要なステップ数を大幅に減らせることです。
通常20~30 steps程度で生成しているところを、8steps程度まで減らして生成できます。
もちろん、使用するモデルや解像度、Samplerなどによって結果は変わります。
それでも、1枚あたりの生成時間が短くなれば、同じ時間でより多くの画像を試せるようになります。
ComfyUIにDMD2 Speed LoRAを導入する
DMD2 Speed LoRAはStabilityMatrixのモデルブラウザからダウンロードできます。
StabilityMatrixをお使いでない方はCivitaiのページからダウンロードしてください。
ワークフローにLoRA Loaderを追加する
通常のLoRAと同じように配置します。
公開されているDMD2 Speed LoRA [SDXL / Pony / Illustrious]では、LoRA weight 0.7が推奨値として紹介されています。
ただし、使用するモデルによって適した強度が変わる可能性があるため、0.7を基準にしながら実際の生成結果を確認するのがおすすめです。
専用の設定に変更する
DMD2 Speed LoRAを使用するときは、LoRAを追加するだけではなく、Samplerやステップ数などの設定も変更する必要があります。
公開されている推奨設定では、
Steps:8
LoRA Weight:0.7
Sampler:LCM
Scheduler:Normal または Simple
CFG:1.4~1.8
が紹介されています。
通常の画像生成で使用している設定をそのまま流用するのではなく、DMD2 Speed LoRA向けの設定に変更しなければなりません。
特にステップ数を減らしただけで、SamplerやCFGを通常設定のままにすると、画像が崩れることがあります。
実際に画像を生成、比較してみる
それでは、実際にComfyUIで画像を生成してみます。
DMD2 Speed LoRAは生成時間に影響するステップ数やサンプラー、スケールなどの設定を変更しなければなりませんが、通常生成はチェックポイントの推奨設定、高速生成はLoRAの推奨設定で生成してみようと思います。
使用するチェックポイントは「WAI-illustrious-SDXL」です
LoRA無しで生成した設定値は
ステップ数:25
CFGスケール:5.0
サンプラー:Euler a
スケジューラ:normal



どれも18.6秒ほどで生成できました。
次にLoRAありバージョンです。
ステップ数:8
CFGスケール:1.4
サンプラー:lcm
スケジューラ:simple



どれも7.0秒ほどで生成できました。2.5倍速いことになります。
画質はどうなる?
高速化すると気になるのが画質です。
サイバーパンク風の画像では差は感じないのですが、プールサードのシーンが顕著です。
光の表現や肌についている水の表現がかなり簡素化されています。
かなり分かりやすいレベルなのでこのままではお勧めできません。
設定で何とかならないか
というわけで試行錯誤してきました。
・スケジューラをnormalにする→ほぼ変化なし、生成時間も変化なし。
・CFGスケールを1.8にする→色が破綻でダメ
・ステップを12にする→あまり差はなし、生成時間が9.8秒に
・サンプラーをEuler aにする→通常生成に近づいてきた
・さらにステップを10にする→最初のと比べるとかなり良い。生成時間も8.3秒と通常と比べると2倍以上速い。

結局のところ元のチェックポイントの推奨設定をベースに、step数とCFGスケールを調整した形になりました。
注意点
DMD2 Speed LoRAは便利ですが、いくつか注意点があります。
まず、通常のLoRAとは使い方が異なることです。
キャラクターLoRAのように、
「とりあえず追加すればキャラクターが出る」
というものではありません。
DMD2 Speed LoRAでは、ステップ数やSampler、CFGなども合わせて設定する必要があります。
また、すべてのモデルで同じ結果になるとは限りません。
公開されているDMD2 Speed LoRAはSDXLやPony、Illustrious系での利用が想定されていますが、使用するチェックポイントによって相性が変わる可能性があります。
そのため、
「推奨設定をそのまま使う」→「生成結果を確認する」→「必要に応じて調整する」
という流れがおすすめです。
まとめ

おお~快適快適~

ユキ、すごく早いね・・・

これでもっとたくさん画像が作れるぞー!
今回は、ComfyUIで使える高速化LoRA、
DMD2 Speed LoRA
を紹介しました。
DMD2 Speed LoRAは、単純にGPUの処理速度を上げるLoRAではありません。
少ないステップ数でも実用的な画像を生成できるようにすることで、1枚あたりの生成時間を短縮できるのが大きな特徴です。
公開されている推奨設定では、8 steps、LoRA weight 0.7、LCM、CFG 1.4~1.8などが紹介されています。
画像生成では、1枚の生成時間が数分違うだけでも、何十枚、何百枚と生成すると大きな差になります。
画質と生成速度を比較しながら、自分の環境に合った設定を探してみてください。



コメント