logo
pub

优化 OneTrainer 设置和 Flux.1 LoRA 以及 DoRA 训练的技巧(快 20%)

训练前准备

选择模型

首先,确认你选的是正确的 Flux AI 模型。OneTrainer 支持各种模型,比如 Flux.1 的开发版、专业版和快速版。确保你用的模型适合你的项目。

  1. 获取模型:从官方渠道下载你想要的模型,比如 Hugging Face。
  2. 加载模型:在 OneTrainer 中,去模型设置那儿加载模型文件。

设置环境

  1. 硬件要求

    • GPU:至少要 3060,4090 性能更好,训练会更快。
    • 显存 (VRAM):至少要 12GB,可以支持更高的分辨率。
    • RAM:最低 10GB RAM,越高越好。
  2. 软件要求

    • 操作系统:已经验证过 Windows 和 Linux。
    • 依赖项:确保安装了所有依赖项。可以查 OneTrainer 的文档,看看需要哪些库和工具。

详细设置和配置

概念标签/常规设置

  1. 重复次数:把 Repeats 设为 1。通过训练标签页的 Number of Epochs 来管理重复次数。
  2. 提示词来源:如果想用一个“触发词”,而不是每张图片都有单独的说明,就用“从单个文本文件”这个选项。把这个设置指向一个包含你触发词/短语的文本文件。

训练标签

分辨率设置

  1. 为了更好的质量
    • Resolution 设置为 768 或 1024,这样输出的质量会更高。
  2. EMA 设置
    • EMA:在 SDXL 训练时使用。
    • EMA GPU:为了节省显存,设置 EMA 从“GPU”到“OFF”。
  3. 学习率
    • 一个起始点可以是 0.0003 或 0.0004,具体根据你的需求调整。
  4. 训练周期
    • 一般来说,40 个周期效果不错。根据你的数据集复杂性来调整。

LoRA 标签

  1. 秩和 alpha
    • 保持这些值相同(比如 64/64,32/32)或者根据学习率做相应调整。
  2. 生成的 LoRA 模型
    • 如果在最新的 ComfyUI 版本中使用,确保更新已生效。

性能优化

  1. 梯度检查点
    • 如果你感觉速度慢,可以尝试关闭这个选项,特别是你的硬件显存足够的时候。
  2. bf16 vs nfloat4
    • 在“模型”标签中,把 Override Prior Data Type 切换到 bf16,这样也可能提高质量。这个设置会影响显存和速度。

处理采样问题

  • 有的用户在采样时遇到显存不足(OOM)错误。确保你的 GPU 显存足够。
  • 定期更新 OneTrainer,能把 bug 修复和补丁都包括进来,解决这类问题。

多概念训练的小贴士

当前限制

  • 在同一会话中训练多个不同触发词的多个角色,通常会失败。
  • 不同的物体或场景(比如训练鞋和特定车型)效果会更好。

最佳实践

  1. 简短描述
    • 使用短小、自然的描述,这样在几百步内通常会有不错的效果。
  2. 堆叠 LoRA
    • 把一个概念和角色的 LoRA 叠加,效果会好于同时训练。

描述和数据管理

  • 小心整理你的训练数据。周期数取决于数据的复杂性。
  • 简短而精准的描述能大大提高训练效率。

常见问题

Q1: 我能用 OneTrainer 训练非 Flux.1 模型吗?

可以,OneTrainer 支持 SD 1.5、SDXL 等。设置会根据模型有所不同。

Q2: OneTrainer 会自动把概念名作为触发词吗?

是的,概念名可以当作触发词。确保它对你的项目有意义。

Q3: 如何在训练时有效管理显存?

Gradient Checkpointing 设置为 CPU_OFFLOAD,这样可以减少显存使用,同时对速度影响不大。

Q4: 使用 NF4 和全精度层有什么影响?

NF4 可以减少显存使用,但可能会稍微降低质量。而全精度层能保持质量,但需要更多的显存。

Q5: 如何减小我的 LoRA 模型大小?

可以降低 RankAlpha 的值,或者把 LoRA weight data type 设置为 bfloat16。这样会减小模型大小,但可能会影响质量。

Q6: OneTrainer 能处理多分辨率训练吗?

可以,OneTrainer 支持多分辨率训练。可以按照 OneTrainer wiki 的指南设置。

Q7: 用 DoRA 时我的图像出现粉色静态,该怎么办?

检查你的注意力层设置。避免在注意力层使用“full”,这可能会导致问题。

Q8: 如何在 OneTrainer 中处理多个主题?

通过为不同主题设置不同的重复值来进行平衡训练。仔细组织数据,确保两个主题都得到平等的训练。

Q9: OneTrainer 有类似“分割模式”的功能吗?

OneTrainer 没有“分割模式”。相反,可以使用 CPU_OFFLOAD 的设置来更有效地管理显存。

Q10: 可以调整 OneTrainer 设置来提高高显存使用下的质量吗?

可以,增加分辨率,并调整数据类型和梯度检查点设置来提升质量。


这个指南提供了使用 OneTrainer 和 Flux AI 模型的所有必要步骤、设置和故障排除提示。祝你训练愉快!