专门用于训练优化的 SimpleTuner 

SimpleTuner 是一个专门用于训练优化的一组实验脚本的存储库。该项目旨在简化代码,重点是使代码易于阅读和理解。此代码库作为共享的学术练习,欢迎做出贡献。

设计理念

  • 简单性:旨在为大多数用例提供良好的默认设置,因此需要的修补工作较少。
  • 多功能性:设计用于处理各种图像数量 – 从小型数据集到大量集合。
  • 尖端功能:仅包含已证明有效的功能,避免添加未经测试的选项。

教程

在开始学习本教程之前,请完整阅读此自述文件,因为它包含您可能需要首先了解的重要信息。

如需在不阅读完整文档的情况下快速入门,可以使用快速入门指南。

对于内存受限的系统,请参阅 DeepSpeed 文档,该文档介绍了如何使用 🤗Accelerate 配置 Microsoft 的 DeepSpeed 以实现优化器状态卸载。


特征

  • 多 GPU 训练
  • 图像和字幕功能(嵌入)会提前缓存到硬盘驱动器上,以便训练运行得更快,内存消耗更少
  • 宽高比:支持各种图像大小和宽高比,支持宽屏和纵向训练。
  • 炼油机 LoRA 或 SDXL 的完整 u-net 培训
  • 大多数模型都可以在 24G GPU 上训练,甚至可以在较低的基础分辨率下训练到 16G。
    • 使用小于 16G VRAM 的 PixArt、SDXL、SD3 和 SD 2.x 的 LoRA 训练
  • DeepSpeed 集成允许在 12G VRAM 上训练 SDXL 的全 u-net,尽管速度非常慢。
  • 量化 LoRA 训练,使用低精度基础模型或文本编码器权重来减少 VRAM 消耗,同时仍允许 DreamBooth。
  • 可选的 EMA(指数移动平均)权重网络,用于抵消模型过拟合并提高训练稳定性。注意:这不适用于 LoRA.
  • 直接从兼容 S3 的存储提供商处进行训练,无需昂贵的本地存储。(使用 Cloudflare R2 和 Wasabi S3 测试)
  • 仅适用于 SDXL 和 SD 1.x/2.x,完整的 ControlNet 模型训练(不是 ControlLoRA 或 ControlLite)
  • 用于轻量级、高质量扩散模型的专家培训组合
  • Webhook 支持更新,例如。包含您的训练进度、验证和错误的 Discord 频道
  • 与 Hugging Face Hub 集成,实现无缝模型上传和漂亮的自动生成模型卡。

Flux.1

包括对 Flux.1 的初步培训支持:

  • 使用优化方法进行低损耗训练
    • 保留开发模型的蒸馏质量
    • 或者,将 CFG 重新引入模型,并以牺牲推理速度为代价来提高其创造力。
  • LoRA 或通过 DeepSpeed ZeRO 进行全面调优
  • 尚不支持 ControlNet 训练
  • 训练 Schnell 或 Dev 模型
  • 使用或用于节省大量内存来量化基础模型--base_model_precisionint8-quantofp8-quanto

请参阅硬件要求快速入门指南

PixArt Sigma

SimpleTuner 与 PixArt Sigma 进行了广泛的培训集成 – 600M 和 900M 型号都可以轻松加载。

  • 不支持文本编码器训练,因为 T5 非常庞大。
  • LoRA 和完全调整都按预期工作
  • 尚不支持 ControlNet 训练
  • 两阶段 PixArt 培训支持(请参阅:MIXTURE_OF_EXPERTS)

请参阅 PixArt 快速入门指南以开始训练。

Stable Diffusion 2.0 & 2.1

众所周知,Stable Diffusion 2.1 在微调过程中会遇到困难,但事实并非如此。SimpleTuner 的相关功能包括:

  • 仅训练文本编码器的后续层
  • 在终端时间步长上强制执行零 SNR,而不是偏移噪声,以获得更清晰的图像。
  • 在训练过程中使用 EMA(指数移动平均线)来确保我们不会“炸毁”模型。
  • 能够在多个数据集上进行训练,每个数据集具有不同的基本分辨率,例如。同时提供 512px 和 768px 图像

Stable Diffusion 3

  • 像往常一样支持 LoRA 和完全微调。
  • ControlNet 尚未实现。
  • 尚不支持某些功能,例如分段时间步长选择和强制长提示加权。
  • 参数已经过优化,以获得最佳结果,并通过从头开始的 SD3 模型训练进行验证

请参阅 Stable Diffusion 3 快速入门以开始使用。

wai Kolors

基于 SDXL 的模型,使用 ChatGLM(通用语言模型)6B 作为其文本编码器,使隐藏维度大小增加了一倍,并大大提高了提示嵌入中包含的局部细节级别。

Kolors 支持几乎与 SDXL 一样深,但不包括 ControlNet 训练支持。

github: bghira/SimpleTuner: A general fine-tuning kit geared toward diffusion models. (github.com)

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部