セーブポイント

特にジャンルの決まってない雑記です。

NoobAI-XL V-pred 1.0使ってみた

最近はめっきり画像生成の話題とか追っていなかったのですが、今でも変わらず色々なモデルが発表されたりとかなんだりしているみたいですね。この界隈は常に一定の活気があり続けている気がします。

テキスト生成系のモデルなんかはすっかり大衆に受け入れられた感じ(ChatGPTとか)に思えますが、画像生成の類は批判を受けやすくそれを避けるためにどんどんクローズドなコミュニティになってそうな。
まあ色々あったので仕方がないといえば、まあ、そうか……。今ではゲームの改造とかに近いアングラコンテンツ感がある。

ところで、最近NoobAI-XLというモデルが話題みたいです。

civitai.com

略称を自らNAI-XLとしていて、それが表す通りNovelAI Diffusionからかなり影響を受けているみたいです。実際に、NovelAI Diffusion V3の技術レポートで公開されている手法をモデル学習の際に取り入れているという話を聞きました。実質、オープンソースのNovelAI Diffusionと言っても遜色ないように感じられます。

arxiv.org

zenn.dev

v-predictionについて

NoobAI-XLにはε-predとv-predという2つのバージョンが存在しています。この2つの違いはノイズ予測の手法の違いです。

ε-predictionは以前からのよくある生成の手法で、新しいのはv-predictionという方です。

dskjal.com

これは先ほど紹介したNovelAIの技術レポートでも掲載されている手法で、これのおかげで色の制御がより正しくできるようになるということみたいですね。

確かに以前のStable Diffusionのモデルでは暗い画像の生成ができないなあと思ったことがあり、こういう理由があったのかと理解が深まりました。

生成してみる

stable-diffusion-webui-reForgeを使います。

モデルのページで推奨の設定を見るとCFGが4~5と書いてあるのですが、CFG Scaleをそのままこの値に設定してしまうとプロンプトの制御が弱くなってしまうので、他のCFG制御系の拡張機能をあわせて使うことが推奨されているみたいです。

今回はreForgeに組み込みで入っているDynamicThresholding (CFG-Fix)というやつを使うことにします。(初めて使った)

本当によく分かってないので以下の内容は参考程度にしてください…

DynamicThresholdingのパラメータ設定

まず初期状態だと非常に操作できるパラメータが多いので、自分の場合はSimple Modeを有効にしてしまいました。わからんパラメータはどうせ触らないので

Mimic Scaleをモデルの推奨値の4~5に設定します。通常のCFG Scaleは今回8にしています。
ここで設定したMimic Scaleで設定しているCFG値で生成しているように見せかけるという仕組みらしいです。(どういう仕組み?)

色味とかの破綻を起こさずプロンプトでの画像の制御のしやすさだけ上げてくれるという理解でいいんでしょうか。

Threshold Percentileの方は説明も書いてくれてるんですが、よく分からないです……。そもそも閾値って何の閾値なんだ?これ
0.9とかにしてみると思ったような出力にならなかったので、1でいいかも。

他にはAPG's now your CFGRescaleCFGという拡張もreForgeには組み込みで入っています。どちらも元々ComfyUIのノードだったものを移植した拡張機能のようです。

APGのペーパーを確認したら投稿されたのが今年の10月らしくて、実装が速いですね……

huggingface.co

ここから追記分ですが、Mimic ModeとCFG ModeをどちらもHalf Cosine Downにするといいっぽい?出力結果としてはConstantと大きく変わるわけではないです
名前的に\cos xx \in \lbrack0,\pi / 2\rbrackの部分に従って制御をするんでしょうかね。

あとはお好みでHires fixとadetailerなどと合わせて使うと良いと思います。


とりあえず生成してみるとこんな風になりました。

いいかんじです。暗めのシーンも出力させてみました。