Kohaku-XL Delta

详情

模型描述

Kohaku XL Δelta

最优秀的SDXL动漫基础模型之一,使用消费级硬件训练而成。

加入我们:https://discord.gg/tPBsKDyRR5

简介

Kohaku XL Delta 是 Kohaku XL 系列的第四次重大迭代,拥有360万张图像的数据集,采用LyCORIS微调[1],使用消费级硬件训练,并完全开源。

使用方法

以下是一种简单格式,让使用此模型变得轻而易举:

<1girl/1boy/1other/...>, <角色>, <系列>, <画师>, <特殊标签>, <通用标签>

特殊标签(质量、评级和日期)实际上属于通用标签。但建议将这些标签统一置于通用标签之前。

虽然 Kohaku XL Delta 已能高度还原少数画师的风格,但强烈建议用户融合多个画师标签,以探索新风格,而非试图复制任何特定画师的风格。

标签

所有在 Danbooru 中受欢迎度至少为 1000 的标签均应有效。

所有在 Danbooru 中受欢迎度至少为 100 的标签,在高强调下可能有效。

请记得移除标签中的所有下划线。(短标签中的下划线无需移除,它们很可能是表情符号标签的一部分。)

特殊标签

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

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

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

质量标签

质量标签依据每个评级类别中“收藏数”(fav_count)的百分位排名分配,以避免对NSFW内容产生偏见(Animagine XL v3 曾遇到此问题),从高到低依次为:第95、85、75、50、25和10百分位。这形成了七个不同的质量等级,由六个阈值分隔。

评级标签

通用:safe
敏感:sensitive
可疑:nsfw
明确:nsfw, explicit

注意:在训练过程中,标记为“explicit”的内容也被视为“nsfw”,以确保全面理解。

日期标签

日期标签基于图像的上传日期,因为元数据中不包含实际创作日期。

时间段分类如下:

  • 2005~2010:old
  • 2011~2014:early
  • 2015~2017:mid
  • 2018~2020:recent
  • 2021~2024:newest

强调权重

由于训练周期较短,部分标签可能未被充分学习。通过实验发现,将“强调权重”提高至1.5至2.5之间仍可获得良好效果,尤其适用于角色或画师标签。

对于使用 sd-webui 的用户,请确保版本 ≥ 1.8.0,并将强调模式切换为“No norm”,以避免潜在的 NaN 问题。

分辨率

本模型训练所用分辨率为 ARB 1024x1024,最小分辨率为 256,最大分辨率为 4096。这意味着您可以使用标准的 SDXL 分辨率。但建议选择略高于 1024x1024 的分辨率,并推荐使用 hires-fix 以获得更佳效果。

更多信息请参阅所提供的样本图像元数据。

模型的诞生过程

数据集

本模型的训练数据集来源于 HakuBooru,从 danbooru2023 数据集中精选了 360 万张图像。[2][3]

选择流程如下:从 ID 0 至 2,999,999 中选取 100 万条帖子,从 ID 3,000,000 至 4,999,999 中再选 100 万条,再选取 ID 5,000,000 之后的所有帖子,总计 410 万条。经过过滤删除的帖子、黄金账户帖子以及无图像的帖子(可能为 GIF 或 MP4),最终数据集包含 360 万张图像。

选择过程基本随机,但使用了固定种子以确保可复现性。

进一步处理

  • 标签打乱:每一步中,通用标签的顺序均被打乱。
  • 标签丢弃:每一步中,随机丢弃 10% 的通用标签。

训练

Kohaku XL Delta 的训练借助了 LyCORIS 项目和 kohya-ss/sd-scripts 的训练器。[1][4]

基础模型优化

我们的研究发现,在小到中等规模微调(尤其使用较小批次)时,对 CLIP 中的 "token_embedding" 和 "position_embedding",或 openCLIP 中的 "positional_embedding" 进行训练可能并无益处。[5][6]

因此,我们恢复了 TE1 和 TE2 模型的原始 token 和 position embeddings。随后,我们通过加权求和(权重=0.5)合并了恢复的 gamma rev2 和 beta7 模型,形成了 Kohaku XL Delta 的基础模型。

该基础模型被称为 "delta-pre2" 或 "delta base",是一个未经进一步训练的预版本,其能力介于 Kohaku XL gamma rev2 和 Kohaku XL beta7 之间。

算法:LoKr[7]

模型使用 LoKr 算法进行训练,所有模块均启用完整矩阵,因子为 2~8,旨在验证 LoRA/LyCORIS 在训练基础模型中的适用性。

原始 LoKr 文件大小低于 800MB,且 TE 未被冻结。原始 LoKr 文件也作为 "delta-lokr" 版本提供。

详细设置请参阅 LyCORIS 配置文件。

其他训练细节

- 硬件:双 RTX 3090
- 训练图像数:3,665,398
- 批次大小:4
- 梯度累积步数:16
- 等效批次大小:128
- 总轮数:1
- 总步数:28638
- 优化器:Lion8bit
- 学习率:UNet 为 4e-5 / TE 为 1e-5
- 学习率调度器:Constant
- 预热步数:100
- 权重衰减:0.1
- Betas:0.9, 0.95
- 最小 SNR Gamma:5
- 分辨率:1024x1024
- 最小桶分辨率:256
- 最大桶分辨率:4096
- 混合精度:FP16

警告:bitsandbytes 版本 0.36.0~0.41.0 在 8bit 优化器中存在严重漏洞,可能导致训练失败,务必更新。[8]

训练成本

使用 DDP 在两块 RTX 3090 上训练,完成 360 万张图像的 1 轮训练耗时约 17 至 18 天。每步等效批次大小为 128 的训练耗时约 51 至 51.5 秒。

最终合并

最终模型由基础模型与训练后的 LoKr 模型以权重 1.0 合并而成。因此,该模型是完全训练的,训练后未与 Anxl3/PonyXL6 进行任何合并。

未来计划

Delta 很可能是 Kohaku XL 的最后一次重大更新,但这并不意味着我将停止对它的改进,也无法保证这确实是最终版本。

我正在考虑再运行几轮训练,或将数据集扩充至 500 万张图像。此外,我也在考虑尝试使用更大的配置进行 DoKr 实验性调整。

(有趣的是,Delta 一开始也只是个实验,但效果如此出色,最终成为正式发布版本!)

特别致谢

AngelBottomless & Nyanko7:danbooru2023 数据集[3]
Kohya-ss:训练器[4]
ChatGPT/GPT4:优化本模型卡片


AI艺术应当看起来像AI,而非人类。


参考与资源

参考文献

[1] Shih-Ying Yeh, Yu-Guan Hsieh, Zhidong Gao, Bernard B W Yang, Giyeong Oh, & Yanmin Gong (2024). Navigating Text-To-Image Customization: From LyCORIS Fine-Tuning to Model Evaluation. In The Twelfth International Conference on Learning Representations.

[2] HakuBooru - 用于Booru风格图像平台的文本-图像数据集生成器。https://github.com/KohakuBlueleaf/HakuBooru

[3] Danbooru2023:大规模众包标注动漫插图数据集。
https://huggingface.co/datasets/nyanko7/danbooru2023

[4] kohya-ss/sd-scripts。
https://github.com/kohya-ss/sd-scripts

[5] Transformers:Pytorch、TensorFlow 和 JAX 的最先进机器学习框架。
https://github.com/huggingface/transformers/blob/b647acdb53d251cec126b79e505bac11821d7c93/src/transformers/models/clip/modeling_clip.py#L204-L205

[6] OpenCLIP - CLIP 的开源实现。
https://github.com/mlfoundations/open_clip/blob/73fa7f03a33da53653f61841eb6d69aef161e521/src/open_clip/transformer.py#L598-L604

[7] LyCORIS - LoRA 之外的其他秩适应实现,用于 Stable Diffusion。
https://github.com/KohakuBlueleaf/LyCORIS/blob/main/docs/Algo-Details.md#lokr

[8] TimDettmers/bitsandbytes - 问题 659/152/227/262 - 缩进错误长期导致漏洞。
https://github.com/TimDettmers/bitsandbytes/issues/659

资源

许可证

本模型依据 Fair-AI-Public-License-1.0-SD 发布
更多信息请访问:
Freedom of Development (freedevproject.org)

附录

如需了解更多详情或配置信息,请下载附件文件或访问我的 Hugging Face 页面:
https://huggingface.co/KBlueLeaf/Kohaku-XL-Delta

此模型生成的图像

未找到图像。