見出し画像

自己流/ SDXL:Pony モデル作成でのコツ

初投稿します
Novaシリーズを作っているモデル作成グループTeam-C所属Crodyです
この記事では自分がモデルを作るときに何をしているかを書き込みます



前書き

ところで誰という方も多いと思うので今まで作ったモデルの中から厳選して画像を張ります

NovaAsianV3 (公開中)
NovaRealityV6 (公開中)
NovaAnimalV2 (公開中)

最近だとFluxやSD3などが出てきており精度が高まっていますが、モデルサイズ問題が解決しておらず現状ではSD1.5/SDXL/Ponyが一番良いとされています
自分はFluxへの参入はtorchがfloat8(torch.float8)に完全対応したらと決めています
それまではしばらくPonyに専念していきます

記事を読むにあたっての環境構築

今回の記事ではkaggle上でのGPU環境下でマージを行なっております
あらかじめアカウントを作っておきましょう
Kaggle

今回マージするために使用するツールはオリジナルマージキットのChattiori-Model-Merger(以降マージャー)です
こちらからインストール

この記事では簡易PythonソフトUniversal-Model-Merge-Scripter(以降スクリプター)を使う時の構文を記していきます
こちらからインストール

スクリプターを使えばtxtファイルからJupiter Notebookを直接作れるのでおすすめです

モデルインストール系のスクリプター構文

スクリプター上でモデルをダウンロードする時は
(チェックポイントモデル):+モデル名, リンク
(LoRA/LyCORISモデル):+モデル名, リンク, %LR

スクリプター上でモデルを消去する時は
-モデル名

モデルの枝切り(Prune,PR)をする時は
PR モデル名 枝切り後名
と書きます

Ponyの特徴と懸念点

Pony系の特徴として次のことが挙げられる

  1. プロンプトに対する柔軟性が高い

  2. スコアや絵の特徴で幅広い画風ができる

  3. 背景が苦手

  4. リアル系になると顔パターンが少ない

今自分がやっているのは後半二つの克服、そのために使う方法がDAREマージと階層マージです
今回はそれ以外にもよく使っているマージ法も紹介します

マージ方法

Weighted Sum / Sum Twice / Triple Sum

Weighted Sum(WS)はおそらく一番シンプルなマージ方法で、二つのモデルを合わせて1になるように混ぜます
例えばモデルAをモデルBと7:3で混ぜ、モデルAB
を作る時は
(スクリプター構文): CM A + B 0.3 AB
と書きます
Sum Twice(ST), Triple Sum(TRS)は三つのモデルを混ぜる方法で、前者はWSを二回分後者は全てを足して1に考えます
モデルA,B,Cをアルファ0.4,ベータ0.3で混ぜてモデルXを作る時
ST(スクリプター構文): CM A + B +S C 0.4 0.3 X
>> X | A:B:C = 0.42:0.28:0.3
TRS(スクリプター構文): CM A + B +T C 0.4 0.3 X
>> X | A:B:C = 0.3:0.4:0.3
となります

Add Difference

Add Difference(AD)はベースに他のモデル二つの差をマージする方法で、ベースは濃度が変化しないという特徴があります
ベースをA, BからCを引いた差を0.3でマージする場合
(スクリプター構文): CM A + B - C 0.3 X
となります

DAREマージ

DAREマージはエンコーダの違う2つのモデルU-netを用いてマージする方法で、SDXLとPonyのように構造が一緒だが互換性の無いモデルをマージするのに有効的です
(スクリプター構文): CM A +D B 0.3 0.1 AB
(前の数字は濃度、後は近似度合を表す)

※階層マージで組み合わせる場合はどの階層も1に設定しないようにする(インプットができなくなるため)
またベースを0にしないとエンコーダが狂うので注意

例えばPonyモデルを作る場合はベースにPony,組み合わせるモデルをSDXLにするとできます

階層マージ

背景や顔パターンのみを変えたい時は階層マージを用います
(スクリプター構文では数字の箇所を以下の20個の値を"0,0.1,0.2,…0.3,0.1"のように"で囲んだものと入れ替える)
各階層は次のようになっています

 BASE: エンコーダ、基本0
構造ディテール系
 IN0:輪郭、コントラスト、指
 IN1:背景、距離感、衣装
 IN2:ボディ構造
 IN3:ボディ構造
 IN4:人物構図、設計、衣装
 IN5:人物構図、設計、顔
トーン、構図系
 IN6:衣装
 IN7:人物・身体構造描写
 IN8:質感、立体感
中間総括
 MID:中間濃度(見た目をどちらに近づけるか)
構造系
 OUT0:腹、腰、顔の特徴、目、年齢
 OUT1:上半身、顔の形
 OUT2:ボディ、顔基礎、鼻、耳
 OUT3:体色、口、顎
テクスチャ系
 OUT4:全体、照明
 OUT5:全体、照明
 OUT6:輪郭
 OUT7:全体の色感、輪郭の混合状態
 OUT8:出力、全体輪郭、色感

LoRAマージ

LoRAをモデル内に混ぜる方法(LB)です
複数のLoRAを混ぜることができますが混ぜた後は必ず枝切り(PR)をしましょう
モデルAにLoRA Pを0.2, Qを0.3混ぜる時
(スクリプター構文): LB A P:0.2,Q:0.3 X

実践例

アジア系

+YB, https://civitai.com/models/409856/yaminabepony?modelVersionId=735173
+AB, https://civitai.com/models/681726/or-pony-asian-beauty?modelVersionId=763034
+X9, https://civitai.com/api/download/models/163192?type=Model&format=SafeTensor&size=full&fp=bf16

CM YB + AB 0.3 PonyAsian
-YB
-AB

CM PonyAsian +D X9 "0,0,0,0,0,0,0,0,0,0,0,0.1,0.4,0.5,0.3,0,0,0,0,0" AsianTest
-X9

結果

多少はアジアっぽくなる>>_BD_PonyやPony GeminiXを入れるのがオススメ

メタデータ
score_9, score_8_up, score_7_up, score_6_up, score_5_up, score_4_up, realistic, photo, dynamic angle, dramatic shadows, raw lighting, detailed face hair and eyes, detailed skin, BREAK, 1girl, (cute:1.2), innocent and alluring, long hair, alternative vibe, brown eyes, large breasts, white turtleneck sweater, leather suspenders, portrait, outdoor, forest, generous, serene
Negative prompt: score_6, score_5, score_4, nude, nsfw, ugly, deformed face, source_anime, source_furry, source_cartoon, 2d, art, cartoon, jpeg artifacts, normal quality, worst quality, low quality, missing fingers, extra digits, fewer digits, bad eye
Steps: 30, Sampler: Euler a, CFG scale: 6, Global Seed: 3217571258, Seed: 1275763925, Size: 768x1280

(初公開)Nova Animal V2

+HY, https://civitai.com/models/125492/haydens-yiffmix?modelVersionId=855162
+NF, https://huggingface.co/Chattiori/ChattioriMixesXL/blob/main/NovaFurryV4.safetensors

+DR, https://civitai.com/models/644327/disgustinglyreal
+AN, https://civitai.com/models/145820/anthromerge-xl

+NA, https://huggingface.co/Chattiori/ChattioriMixesXL/blob/main/NovaAsianV34.safetensors
+NR, https://civitai.com/models/453428/nova-reality?modelVersionId=839396

+FR, https://civitai.com/models/484952/furryfication-slider-pony, %LR
+FF, https://civitai.com/models/488546/fluffy-fur, %LR
+SC, https://civitai.com/models/488321?modelVersionId=543249, %LR

CM NA + NR 0.3 _A
-NA
-NR

LB _A FR:1.3 _B
-_A

PR _B _C
-_B

CM HY + NF 0.25 _D
-HY
-NF

CM DR + AN 0.35 _E
-DR
-AN

CM _D +D _E 0.35 _F
-_D
-_E

CM _F + _C 0.3 _G
-_F
-_C

LB _G FF:0.3,SC:0.3 _H
-_G
-FF
-SC

PR _H _I
-_H

+RP, https://civitai.com/models/139565?modelVersionId=294470

CM _I +D RP "0,0.45,0,0.3,0.3,0,0,0,0,0.2,0.4,0,0,0,0,0,0,0,0,0,0.4,0.8,0.8,0.8,1,1" _J
-_I
-RP

LB _J FR:0.6 _K
-_J
-FR

PR _K NovaAnimalV2
-_K

※NovaAnimalV2作成時に留意したポイント

  • NovaFurryとの区別化>>アニメ系にしない

  • 鮮明な毛質とコントラスト・色感

  • 写真で撮ったかのような見た目>>2.8D~リアル系



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