見出し画像

reForgeがかなり頑張ってるという話@追加機能とか(2025/1)

reForgeについて、しばしば取り上げていますが、Githubのアクティビティを見ると頻繁に更新されているのはご存じですか?

「Activity」のログを見ていると、しばしば重要な変更点みたいなのがコメントされています。

今のところ、HunyuanVideoとかの追加はされていませんが、ComfyUIで採用された機能が追加されていたりしています。

参考まで、以下で紹介しているサンプラーに関連したログの比較を提示しておきます。

<ComfyUIのログ>2025/1/24確認

1日前

<reForgeのログ>2025/1/24確認

5時間前

ということで、このサンプラーについては、ComfyUIに対応して1日もしないうちにreForgeに対応という早さです。

いつの間にかDiffusersとtransformersが最新のに対応していたりしています。

インストール後にバージョンを確認
インストール後にバージョンを確認

これは新版Forgeのバージョンより最新のものを取り入れていることになります。

新版Forgeもしばしばアップデートされていますが、頻度はreForgeより少なくなっています。
Remove license-infringing / potentially malicious / obfuscated code by parsee-mizuhashi · Pull Request #2151 · lllyasviel/stable-diffusion-webui-forge

たまたまログを見ていたら、以前議論になっていたComfyUIからのコピーがらみの議論を踏まえたアップデートが新版Forgeにありました。興味がある方は参照してみてください。

ということで、reForgeはもともとA1111に近い感じのwebUIという立ち位置で、新版Forgeが新機能とか入れ込んでいくという感じでしたが、reForgeがComfyUIの内容を取り込んでいき、いつの間にか超えていきそうな勢いになっています。

さて、以下に最近reForgeに追加されていた機能について、4つぐらい紹介します。

①「Gradient estimation」というサンプラー

Interpreting and Improving Diffusion Models from an Optimization Perspective
参照の論文のようです。
この論文は、拡散モデル(Diffusion Models)を最適化の観点から解釈し、性能向上を目指した研究です。特に、デノイジング(ノイズ除去)を投影の近似として解釈し、拡散プロセス全体をユークリッド距離関数に基づく勾配降下法として分析しています。また、理論的な知見を活用し、従来のサンプリングアルゴリズム(DDIMなど)を一般化した新しいサンプリング手法を提案しています。
Implement gradient-estimation sampler by chaObserv · Pull Request #6554 · comfyanonymous/ComfyUI
上のページで、他のサンプラーとの比較を出しています。
誤差にも見えますが、低ステップでも質の低下が少ないということでしょうか。
印象としては、他のサンプラーと比較してスケジューラーの対応範囲が広そうな感じです。

reForgeの素晴らしい?ところは、ComfyUIよりXYプロットが作成しやすいところです。
使用するモデルや、プロンプトなどの内容によってサンプラーとスケジューラーの組み合わせてで結果はかなり変わると感じています。
reForgeはサンプラーとスケジューラーの組み合わせが非常に多いため、その評価がしやすいかと思います。

②ベータスケジューラーのαとβを変えられる!

Extend alpha/beta values range for beta scheduler. · Panchovix/stable-diffusion-webui-reForge@504494d

これは「設定」の「Scheduler parameters」で変更できるようです。

他の良く知らないスケジューラーの設定でも出来るらしいことが分かりました。

Betaは赤枠のところ

以前、ComfyUIで触って、HunyuanVideoでも使用したりするものです。

Betaスケジューラーとは?CR XY Plotも試してみた@ComfyUI|shiba*2


③MaHiRo CFGというビルトイン拡張機能が追加

Questions about MaHiRo (improved/alternate CFG) · comfyanonymous/ComfyUI · Discussion #6066

MaHiRoの仕組みについて、以下のように説明しています

  1. ネガティブガイダンスに従って生成された結果と、ポジティブガイダンスに従って生成された結果を比較します。

  2. コサイン類似度(cossim)で低い類似性が検出された場合、従来のCFG出力とポジティブガイダンスをマージします。

    • ポジティブとネガティブが全く関連性がない場合(例:ポジティブがネガティブの「反対」である場合)、ポジティブガイダンスを使用します。

    • ポジティブとネガティブが完全に関連している場合(例:ポジティブとネガティブが同じ場合)、CFGを使用し、その間を補間します。

  3. 最終的なガイダンスとして上記の結果を返します。

このように、MaHiRoはCFGの動作をよりスマートにし、生成結果の品質向上を目指しています。

設定は、CFGを期待するものより2低くすると良いらしいです。

ここでオンにする

ちなみにComfyUIにMaHiRoのノードがあります。ノードの名前がインパクトあって良かったです。「mahiro」とノードを検索すると出てきます。

④Torch Compile機能

Comparing 63443e6cae42a141729db15a639cfc5771a2807e...62eb2aa3c6c76b8cddb18d41b402f24d543e9378 · Panchovix/stable-diffusion-webui-reForge

--torch-compile

これを入力すると、torch compileが使えるらしい。

通常生成の20ステップで10.7s程度 ⇒ 10.0s

上の文言をコマンドラインに追加すると使用できますが、それほど早くならない。。。設定の影響かもしれませんが。。。


いいなと思ったら応援しよう!