🦊CFG
参考
サンプリングする際、どれくらいプロンプトに従わせるか?というパラメータです
ただし、CFGを8から12に変えたところでプロンプトに従うようになるかというとよくわかりません
CFGを2や3といった極端に低い値にするとプロンプトに縛られることなくモデルがのびのびと画像生成を行うので面白い絵がでることはあります
計算式を見れば分かりますが、CFG 0のとき、Negative PromptがPositive Promptとして動きます
ネガティブプロンプトの予測×(1 - CFG scale) + プロンプトの予測×CFG scale
😭うまくいかない組み合わせ
🦊ComfyUIでやってみる
DPM++ 2M Karrasでstep数20だとcfg25を超えてくると赤信号です
https://gyazo.com/2726d797e03185230ce53475d48d707b
$ DPM++ 2M Karras / Step数 20 / CFG 8
https://gyazo.com/262e228b7207b827b105bfad833d3ac5
$ DPM++ 2M Karras / Step数 20 / CFG 30
https://gyazo.com/375e367784f6446fcc1e4a0a93fbc0cb
あまりこだわるパラメータではないので今後は基本的に
table:KSample
steps 20
cfg 8
sampler_name dpmpp_2m ppが++のことです
scheduler karras
LCMは特殊でstep数3 ~ 8、CFGが1 ~ 1.5でうまく生成できます
CFGを1丁度にすると、ネガティブプロンプトが無視されるらしいので、注意
蒸留モデル
Flux.1-devやHiDream-I1-Devがそうですが(上のLCMもそう)、ベースモデルに蒸留ということをして高速・軽量に動作するようにしたモデルがあります
蒸留前のモデルは条件付き(positive)+非条件付き(negative)を別々に計算しますが、蒸留によって一回の計算で済むようになります
蒸留モデルではCFGを1にして生成するのですが、CFGを1にしたとき上手く生成できる、というよりは従来のCFGをオフ(つまりCFG=1)にして、代わりに蒸留時に組み込まれたDistilled CFG Scale(ComfyUIでは例えばFluxGuidanceノード)を使うという感じです