この記事では、Stable Diffusionの「Clip Skip(クリップスキップ)」の意味や設定方法を解説しています。
CivitAiでモデルやLORAのサンプル画像を見ていると、Generation Dataの欄に「Clip Skip」の数値が指定されていることがあります。
「Clip Skip」の数値を設定しないと、サンプルと同じ画像にはならないので、「Clip Skip」とは何か、その設定方法を理解しておく必要があります。
Clip Skip とは?
「Clip Skip」とは、画像生成処理のスキップ回数を設定できる項目です。
Stable Diffusionで画像生成するとき、いくつかの層(レイヤー)に分かれて内部処理が実行されています。
「Clip Skip」の数値を変えることで、この内部処理をスキップできるのです。
「Clip Skip1」は内部処理を最後まで終わらせる、「Clip Skip2」は1つ手前で内部処理を終わらせるという具合になります。
内部処理を最後まで終わらせるのか、いくつスキップするのかを指定するのが「Clip Skip」なのです。
この内部処理は、プロンプトの受け渡しを層ごとに分割して行っています。
そのため、プロンプトがどれくらいイラストに反映されるのかという問題に直結しているのです。
Clip Skipの数値を変えると、生成される画像も変わるので、かなり重要な値といえます。
「Clip Skip」の詳細について、GitHubのQ&Aがとても参考になります。
GitHub 「What exactly is clip skip ?」
ちなみに、初期設定では「Clip Skip1」となっています。
最近は「Clip Skip2」で追加学習を行っているモデルが多いので、CivitAiのGeneration Dataで「Clip Skip2」に指定されることが増えています。
「Clip Skip2」に指定されているサンプルで、初期設定「Clip Skip1」のまま画像を生成しても、モデルのサンプル画像と同じにならないわけです。
プロンプトやサンプラーが同じなのに違う画像が出てくるのは、Stable Diffusion初心者からすれば意味が分かりませんよね。
とりあえず、モデルのサンプル画像をマネてみたいという人は「Clip Skip」の値を必ず設定してください。
独自の画像を生成する場合は、「Clip Skip」の値を1と2で試してみて、好みの方を選ぶのがいいと思います。
正解がないので、「Clip Skip」の値はどれがいいか、試してみるしかないのです。
Clip Skipの設定方法(追加方法)
Stable Diffusionの初期状態では「Clip Skip」の項目がありませんので、手動で「Clip Skip」追加する必要があります。
ここでは、AUTOMATIC1111 WebUIに「Clip Skip」を追加する方法を紹介します。
「Settings」 → 「User Interface」 → 「Quicksettings list」を探してください。
「Quicksettings list」の欄に「,CLIP_stop_at_last_layers」と入力します。
「Apply settings」をクリック→「Reload UI」をクリックで終了です。
Stable Diffusionトップ画面の上部に「Clip Skip」の項目が追加されています。
以上、Clip Skipの意味と設定と追加方法について解説しました。必要に応じてクリップスキップの調整を行ってみてくださいね。