Sumeshi FLUX.1 S 🍣

详情

模型描述

注意: 该模型基于 Schnell,但需要使用指导尺度为 3 或 5、CFG 尺度为 3 或更高(非指导尺度),以及 20 步或更多。必须与 clip_l_sumeshi_f1s 一起使用。(它是右侧菜单中的 234.74 MB 文件。)

这是一个用于验证去蒸馏和启用 CFG 是否有效的实验性动漫模型。负向提示在一定程度上有效。由于此模型使用 CFG,即使步数相同,生成时间也比普通 FLUX 模型长约两倍。由于模型训练不足,输出可能模糊,风格也可能因提示而失真。

24/09/23 更新

添加了 v004G。这是一个通过引入指导来减少低步数输出(约 20 步)模糊性的测试模型。明亮和暗色输出的模糊性均有所降低。由于为节省时间而使用了极限参数进行训练,模型对提示的响应变差。推荐参数已更新,请参阅“使用方法(v004G)”部分。经验证,我们怀疑有两个因素导致模糊,因此在训练中加强了这些部分。

  • 指导参数:v002E 中该参数被填为零,而我们改用 He 初始化,并结合 FineTune 和 network_args "in_dims" 进行了一定训练,使指导尺度能正常工作。但原因尚不明确,当尺度值非 3 或 5 时,输出似乎异常。

  • 时间步采样:此前使用的是 discrete_flow_shift 3.2,但怀疑其导致低步数时响应不佳。验证结果显示,不使用 shift 且减小 sigmoid_scale 能降低模糊性。然而,训练不足会导致背景噪点增多,因此仍需进一步探索超参数。

使用方法(v004G)

  • 分辨率:与其他 FLUX 模型相同

  • (蒸馏)指导尺度:3 或 5

  • CFG 尺度:推荐 6 ~ 9(建议 7)(尺度 1 无法生成正常输出)

  • 步数:20 ~ 30(非约 4 步)

  • (蒸馏)指导尺度:3 或 5(因基于 Schnell 模型,此设置无效)

使用方法(v002E 旧版)

  • 分辨率:与其他 FLUX 模型相同

  • CFG 尺度:3.5 ~ 7(尺度 1 无法生成正常输出)

  • 步数:20 ~ 60(非约 4 步)

  • (蒸馏)指导尺度:0(因基于 Schnell 模型,此设置无效)

  • 采样器:Euler

  • 调度器:Simple, Beta

提示格式(源自 Kohaku-XL-Epsilon )

<1girl/1boy/1other/...>, <character>, <series>, <artists>, <general tags>,<quality tags>, <year tags>, <meta tags>, <rating tags>

由于训练数据量较小, 标签几乎无效。训练主要聚焦于女性角色,因此可能难以生成男性或其他非人物。因使用 hakubooru 构建数据集,提示格式与 KohakuXL 格式一致。但根据实验,该格式并非严格必需,模型对自然语言也能部分理解语义。

特殊标签

  • 质量标签:masterpiece, best quality, great quality, good quality, normal quality, low quality, worst quality

  • 评级标签:safe, sensitive, nsfw, explicit

  • 日期标签:newest, recent, mid, early, old

训练

  1. 数据集准备

    我使用了基于 hakubooru 的自定义脚本。

    排除标签:traditional_media, photo_(medium), scan, animated, animated_gif, lowres, non-web_source, variant_set, tall image, duplicate, pixel-perfect_duplicate

    最小 Post ID:1,000,000

  2. 键添加

    我向 Schnell 模型添加了以 "guidance_in" 为键的全零张量。该张量根据 flux/src/flux/model.py 推测,调整为 Dev 中对应键的形状。这是因为当模型名称不含 'schnell' 时,若缺少这些键,训练器无法正常运行。由于这些键被填充为零,我理解到,与 Schnell 模型一样,指导功能不会生效。因我能力有限,强行添加了该部分,不确定是否为正确做法。

  3. 训练

    基本假设是:训练越多,网络重构越充分,蒸馏被解除得越彻底,CFG 也就越能发挥作用。

    使用单张 RTX 4090 进行训练,采用 LoRA 方法并合并结果。

    使用 sd-scripts 进行训练。基础设置如下(指导值设为 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

    --

    He 初始化 "guidance_in" 层

    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 张图像(重复10次 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--

资源(许可证)

许可证

Apache2.0

致谢

  • black-forest-labs:感谢发布优秀的开源模型。

  • kohya-ss:感谢发布关键的训练脚本及快速更新。

  • Kohaku-Blueleaf:感谢广泛发布数据集脚本和多种训练条件。

此模型生成的图像

未找到图像。