ComfyUI-NAG
https://github.com/ChenDarYen/ComfyUI-NAGChenDarYen/ComfyUI-NAG
⚠️ComfyUI(ハッシュ値1bcda6d、10/26以降で起動しない問題が起きています。
一度目のもの(上記ハッシュ値の10/26発生)については修正済み、このノードをアンインストールして入れ直すと機能するようです。
https://github.com/ChenDarYen/ComfyUI-NAG/issues/55ComfyUI側メジャーバージョンの0.3.69以降にも再び別の問題が発生して起動しなくなっています。
3.68以前のComfyUIに戻せば動作可能なようです。
https://github.com/ChenDarYen/ComfyUI-NAG/issues/53#issue-3629676396 暫定対応としてこちらの修正を加えると3.69以降でも動作するらしいです。
NAGを実装するComfyUIカスタムノード
CFGがlatentに適用するのに対し、NAGはattention mapに適用することでより繊細に制御する
蒸留モデルにもNegative promptを適用できる
少し留意すべき点として、「非常に長い」プロンプト(具体的な閾値は未検証)を入力するとTransformer関連のエラーを吐いて動作しなくなる(何故か通常のKSamplerノードも巻き込み付け替えても再起動しない限り動作しなくなる)事があります。
ComfyUI自体を再起動したら直りますが、このような現象が起きたら(再起動後に)プロンプトを短くするか(再起動後に)通常のKSamplerノードを使いましょう。
少なくともそれぞれのモデルの1回に受け付けるトークン量程度なら問題なさそう。詳細な文章、構造化した書き方(JSON風など)、SD1.5時代のような繰り返しトークンでの制御を試みるなどでトークン数が少なくとも本来の受付数の3倍程度?を超えると不味そうな感じ(繰り返すがちゃんと調べてはいない)
パラメータ
nag_scale
cfgと同じ計算(ただし加算方式なので0で無効)
推奨値: 3~8
nag_tau
正規化の閾値
推奨値 1.0 ~ 2.5
nag_alpha
処理したattentionを下のattentionにどれくらいブレンドするか
推奨値: 0.1 ~ 0.3
tauとalphaの値を調整してアーティファクトが出なくなったらscaleで調整するのがオススメ(by 公式)
比較 (Flux.1 dev)
positive: An illustration of Van Gogh
negative: Van Gogh's style
https://gyazo.com/5f0f3ff5dc0c506adc37e02933c1bd40https://gyazo.com/550e7d0be6bef040fb292b5907f908c2
NAGなし / NAGあり
Flux
https://gyazo.com/8ad32e4a3548e60c9b4745e918527fbe
Flux.1_dev_NAG.json
🟩KsamplerはKSamplerWithNAGノードに置き換える
🟨NAG用としてNegative promptとは別にCLIP Text Encodeノードを追加する
Flux (with SamplerCustomAdvanced)
https://gyazo.com/5cc7ef7e38f05cdd4d86906340dbf36c
Flux.1_dev_NAG_SamplerCustomAdvanced.json
Wan2.1 with Self Forcing
https://gyazo.com/3f76fd92d20d953258d62f65c2dbcd3e
Wan2.1_T2V_14B_lightx2v_NAG.json
(スパゲッティ気味)Wan2.2 with Self Forcing&Wan2.1-Fun-Reward-LoRAs(KSamplerWithNAG (Advanced)ノードを使用)
KSamplerWithNAG (Advanced)ノード_wan2.2.json
SamplerCustomWithNAGノードがいつの間にか増えてた。
多分🦊SamplerCustomノードのNAG版
🦊SamplerCustomAdvancedノードについてははじめからNAGCFGGuiderノードを繋げばNAGが使えるので追加する意味はない(はじめからGuiderを外付けしてるので…)
他のNAG実装
Wan2.1/Wan2.2ならComfyUI-KJNodes
Stable Diffusion 1.5/SDXLならhttps://github.com/pamparamm/sd-perturbed-attentionpamparamm/sd-perturbed-attention