Sumeshi FLUX.1 S 🍣
詳細
ファイルをダウンロード
このバージョンについて
モデル説明
注意: このモデルはSchnellベースのモデルですが、ガイドanceスケール3または5、CFGスケール3以上、20ステップ以上が必要です。付属のclip_l_sumeshi_f1sと併用してください。(右メニューの234.74 MBのファイルです。)
注意: このモデルはSchnellベースのモデルですが、ガイドanceスケール3または5、CFGスケール3以上、20ステップ以上が必要です。付属のclip_l_sumeshi_f1sと併用してください。(右メニューの234.74 MBのファイルです。)
私の英語はひどいので、翻訳ツールを使っています。
これは、デディスティリングとCFGの有効化が機能するかを検証するための実験的なアニメモデルです。ある程度有効なネガティブプロンプトを使用できます。このモデルはCFGを使用しているため、同じステップ数でも通常のFLUXモデルの約2倍の時間がかかります。 モデルの学習が十分でないため、プロンプトによって出力がぼやけたりスタイルが不安定になったりする可能性があります。
24/09/23 更新
v004Gを追加しました。これは、ガイドanceを導入することで低ステップ出力(約20ステップ)のぼやけを軽減することを目的とした試験モデルです。明るい・暗い出力ともにぼやけが軽減されています。時間短縮のため、限界を押し詰めたパラメータで学習したため、プロンプトへの応答性が低下しています。推奨パラメータが更新されていますので、Usage(v004G)のセクションをご覧ください。 検証の結果、ぼやけの原因として2つの要因が推測されたため、それらの部分を学習で強化しました。
ガイドanceパラメータ: v002Eではゼロで埋めていましたが、これをHe初期化し、FineTuneとnetwork_args "in_dims"を用いてある程度学習させることで、ガイドanceスケールが正しく機能するようになりました。理由は不明ですが、スケール3および5以外の値では出力が異常になるようです。
タイムステップサンプリング: これまでdiscrete_flow_shift 3.2を使用していましたが、これが低ステップでの応答性低下の原因ではないかと推測しました。検証により、シフトを使用せず、sigmoid_scaleを小さくするとぼやけが軽減されることがわかりました。ただし、学習が不十分だと背景がノイジーになるため、さらにハイパーパラメータの探索が必要です。
使用法(v004G)
解像度: 他のFLUXモデルと同様
(デディスティリング済み)ガイドanceスケール: 3または5
CFGスケール: 6〜9(推奨は7) (スケール1ではまともな出力が得られません)
ステップ: 20〜30(4ステップ程度では使用しないでください)
(デディスティリング済み)ガイドanceスケール: 3または5(Schnellベースモデルのため機能しません)
使用法(v002E 古い版)
解像度: 他のFLUXモデルと同様
CFGスケール: 3.5〜7(スケール1ではまともな出力が得られません)
ステップ: 20〜60(4ステップ程度では使用しないでください)
(デディスティリング済み)ガイドanceスケール: 0(Schnellベースモデルのため機能しません)
サンプラー: Euler
スケジューラ: Simple, Beta
プロンプト形式(Kohaku-XL-Epsilonより)
<1girl/1boy/1other/...>, <character>, <series>, <artists>, <general tags>,<quality tags>, <year tags>, <meta tags>, <rating tags>
学習データ量が少ないため、
特殊タグ
品質タグ: masterpiece, best quality, great quality, good quality, normal quality, low quality, worst quality
レーティングタグ: safe, sensitive, nsfw, explicit
日付タグ: newest, recent, mid, early, old
学習
データセット準備
hakubooru をベースにカスタムスクリプトを使用しました。
除外タグ: traditional_media,photo_(medium),scan,animated,animated_gif,lowres,non-web_source,variant_set,tall image,duplicate,pixel-perfect_duplicate
最小投稿ID: 1,000,000
キーの追加
Schnellモデルに、キー"guidance_in"を持つゼロで埋められたテンソルを追加しました。このテンソルは、flux/src/flux/model.pyから推測されるDevの対応するキーの形状に合わせています。これは、モデル名に'schnell'が含まれていない場合、これらのキーが欠けているとトレーナーが正しく動作しなかったためです。ゼロで埋められているため、Schnellモデルと同様にガイドanceは機能しないと認識しています。私のスキルが不足しており、強引に追加したため、これが正しい方法かどうかは不明です。
学習
基本的には、学習を重ねるほどネットワークが再構築され、デディスティリングが解除されてCFGが利用可能になると仮定して学習を進めました。
単一のRTX 4090を使用して学習しました。LoRA方式で学習し、結果をマージしています。
学習にはsd-scriptsを使用しました。基本設定は以下の通りです(ガイドance値は7に設定していますが、前述のようにゼロテンソルであるため特に意味はありません)。
accelerate launch --num_cpu_threads_per_process 4 flux_train_network.py --network_module networks.lora_flux --sdpa --gradient_checkpointing --cache_latents --cache_latents_to_disk --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --max_data_loader_n_workers 1 --save_model_as "safetensors" --mixed_precision "bf16" --fp8_base --save_precision "bf16" --full_bf16 --min_bucket_reso 320 --max_bucket_reso 1536 --seed 1 --max_train_epochs 1 --keep_tokens_separator "|||" --network_dim 32 --network_alpha 32 --unet_lr 1e-4 --text_encoder_lr 5e-5 --train_batch_size 3 --gradient_accumulation_steps 2 --optimizer_type adamw8bit --lr_scheduler="constant_with_warmup" --lr_warmup_steps 100 --vae_batch_size 8 --cache_info --guidance_scale 7 --timestep_sampling shift --model_prediction_type raw --discrete_flow_shift 3.2 --loss_type l2 --highvram以下のデータセットをこの順序で学習しました。
3,893画像(res512 bs4 / res768 bs2 / res1024 bs1, acc4)1エポック
60,000画像(res768 bs3 acc2)1エポック
36,000画像(res1024 bs1 acc3)1エポック
3,000画像(res1024 bs1 acc1)1エポック
18,000画像(res1024 bs1 acc3)1エポック
モデルとCLIP_Lにマージ
693画像(res1024 bs1 acc3)1エポック
693画像(res1024 bs1 acc3 warmup50)1エポック
693画像(res1024 bs1 acc3 warmup50)10エポック
693画像(res1024 bs1 acc3 warmup50)15エポック
モデルとCLIP_Lにマージ
543画像(res1024 bs1 acc3 warmup50 --optimizer_args "betas=0.9,0.95" "eps=1e-06" "weight_decay=0.1" --caption_dropout_rate 0.1 --shuffle_caption --network_train_unet_only)20エポック
モデルとCLIP_Lにマージ
21,000画像(res1024 bs1 acc3 warmup50 timestep_sampling sigmoid sigmoid_scale2)15エポック
21,000画像(res1024 bs1 acc3 warmup50 sigmoid_scale2 discrete_flow_shift3.5)15エポック
モデルとCLIP_Lにマージ
-この学習ではCLIPのみマージ-
3,893画像(res1024 bs2 acc1 warmup50 unet_lr5e-5 text_encoder_lr2.5e-5 sigmoid_scale2.5 discrete_flow_shift3 --network_args "loraplus_lr_ratio=8")3エポック
3,893画像(res1024 bs2 acc1 warmup50 unet_lr5e-5 text_encoder_lr2.5e-5 sigmoid_scale2 discrete_flow_shift3 --network_args "loraplus_lr_ratio=8")1エポック
CLIP_Lのみにマージ
--
"guidance_in"層をHe初期化
3,893画像(フルファインチューン res1024 bs2 acc1 afafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" lr5e-6 warmup50 guidance_scale3.5 max_grad_norm 0.0 timesteps_sampling discrete_flow_shift 3.1582)1エポック
3,893画像(res1024 bs2 acc1 warmup50 guidance_scale1 timesteps_sampling sigmoid sigmoid_scale 0.5 --network_args "in_dims=[8,8,8,8,8]")4エポック
3,893画像(res512 bs2 acc1 warmup50 guidance_scale1 timesteps_sampling sigmoid sigmoid_scale 0.3 --network_args "in_dims=[8,8,8,8,8]")12エポック
543画像(repeats10 res512 bs4 acc1 warmup50 unet_lr3e-4 guidance_scale1 timesteps_sampling sigmoid sigmoid_scale 0.3 --network_args "in_dims=[8,8,8,8,8]")4エポック
モデルとCLIP_Lにマージ
--v004G--
リソース(ライセンス)
FLUX.1-schnell (Apache2.0)
ライセンス
Apache2.0
謝辞
black-forest-labs: 優れたオープンソースモデルの公開に感謝します。
kohya-ss: 必須の学習スクリプトの公開と迅速なアップデートに感謝します。
Kohaku-Blueleaf: データセット用スクリプトおよび多様な学習条件の幅広い公開に感謝します。



