logo
pub

使用 FluxGym 进行低显存 Flux LoRA 训练

简介

FluxGym 是一个网页界面,专门用来在低显存(比如 12G、16G 等等)下训练 Flux LoRAs。这个工具是由 Black Forest Labs 开发的,基于 Kohya-ss/sd-scripts,目标是让显卡不太强大的用户也能轻松训练。这个笔记总结了用户们常遇到的问题,以及一些解决方案。

问题描述

使用 FluxGym 的时候,用户们会遇到各种问题,比如显存占用过高、实现上的问题,还有训练结果的不一致。

常见的问题有:

  • 优化后显存需求仍然太高
  • 训练结果有差异
  • 环境配置导致的错误
  • 在低显存设置下,训练时间慢

问题 1:显存使用过高

即使进行了优化,一些用户还是觉得显存使用太高。比如:

更新:刚发现 Florence-2 的自动字幕没有清理缓存……这样一来直接能省下 4GB 的显存!现在,20G 的选项只需 16G 就能运行了。

链接: GitHub 变更

解决方案:

  • 确保从 GitHub 拉取最新版本。
  • 在合适的地方,使用 torch.cuda.empty_cache() 函数来手动清理缓存。

问题 2:训练配置

有些用户不太清楚怎么调整训练参数以获得更好的结果。举个例子:

这个基础配置是适合 4090 吗?还是还可以通过其他配置来提高速度?

对比一下:

  • A4500:58 分钟(1300 步)
  • 4090:20 分钟(1200 步)

解决方案:

  • 在高级选项卡里,定制比如轮次、学习率和分辨率等设置。
  • 设置调整的例子:
    https://x.com/cocktailpeanut/status/1832113636367876446
    

问题 3:环境设置问题

很多错误都是因为环境和依赖的问题。比如:

return Variable._execution_engine.run_backward( # 调用 C++ 引擎执行反向传播,持续了一个半小时。

解决方案:

  • 确保 Python 兼容性,并检查所有依赖是否正确安装。
  • 查阅这个讨论获取帮助:
    https://github.com/pinokiofactory/factory/discussions/6
    

问题 4:训练结果不一致

用户们反映训练结果不一致。比如:

有没有人知道怎么调整设置,才能在原始训练和预期效果不符的时候改善结果?

解决方案:

  • 根据数据集的质量和大小,回顾并调整步骤和轮次等参数。
  • 进行更细致的工作时,使用更高的分辨率:
    https://x.com/cocktailpeanut/status/1832098084794356081
    

额外小贴士

小贴士 1:及时更新

定期检查更新,以便受益于新的优化。

小贴士 2:使用合适的数据集

优质且标记良好的数据集能带来更好的训练效果。

小贴士 3:参与社区互动

参与相关论坛和讨论,获取支持和建议。

遵循这些策略和小贴士,能让你在低显存下充分利用 FluxGym 来训练 Flux LoRAs。祝你训练愉快!