shadow:
这是一篇RunDiffusion发布的训练Wonderman的Lora经验总结,花了100个小时做了个验证,成功在Flux中训练了一个原本不存在的概念,训练的Lora表现非常出色。我们可以重点关注优化训练数据集所提到的方法。
接下来一起看下作者的经验总结:
Wonderman - By RunDiffusion.com
Proof of Concept Goals
概念验证目标
对于这个概念验证(POC),我们需要验证以下内容:
- 这个概念不能存在于Flux数据集中
- 这个概念需要存在,但仍允许创造性的灵活性
- 这个概念需要在90%的准确度范围内与主题相似
- 主题不能“接管”模型
我们使用了能找到的最低质量的数据。选择了1947年的Wonderman!Wonderman 已经是公开版权,所以可以自由分享。
先测试Flux,没有加Lora的Flux 认为“Wonderman”是“Superman”
或者是其他的超级英雄形象。
总之,Flux就是不认得Wonderman
准备训练的数据集
可以看到,作者准备的数据集质量有点低:低分辨率、裁剪过的、形状奇怪的、像素化的。最差的数据集,这并没有难倒作者!
数据清理策略
为了修复数据,我们需要:
- 修补背景、签名和文字等问题区域
- 向外扩展图像
- 放大图像,至少达到1024x1024以上
- 创建多样化的变体以增加数据量并提供多样化的数据
通过这些技术,我们能够将数据集扩展到13张。
为数据添加文本描述
我们不完全了解Flux偏好的文本描述风格。我们知道这个模型对完整的描述性句子反应良好,所以我们采用了这种方式。
以下是一些图像及其文本描述示例:
一个复古的《Wonderman》漫画封面。封面上有三个主要角色:穿绿色服装、胸前有大写字母“W”的Wonderman,穿黄色和黑色服装的女性,以及穿棕色服装的小人物。Wonderman和女性似乎处于动态姿势,暗示着动作或战斗。Wonderman手持一件细长锋利的物品,可能是一种武器。女性表情自信,目光看向观众。背景是绿色和黄色的混合,有一些抽象的设计。
.
神奇侠,一个男性超级英雄角色。他穿着绿色和红色的服装,胸前有一个大写字母“W”的徽章。神奇侠身材健壮,棕色头发,戴着黑色眼罩。他自信地站着,双手放在身体两侧。照片。
训练数据
作者的所有任务都是在配备RTX 4090 64GB 上执行的。请注意,32GB RAM是不够的,因为在缓存潜变量时可能会遇到显存不足错误。
作者使用了RunDiffusion.com来测试创建的LoRA,启动5个服务器并使用5个检查点来确定最佳收敛的一个。
训练工具使用了Ostris的ai-toolkit
默认配置为Rank 16,学习率为4e-4
在2200到2600步时看到了良好的收敛。即使是一些进入4000步范围的检查点也表现得相当不错。如果目标是更精细的细节,你可能需要将rank调整到32并降低学习率。如果这样做,你还需要运行更多的步数。
训练风格:使用简单的文本描述和清晰的示例来保持一致的风格是至关重要的。
训练概念:你可以选择描述性文本以避免干扰现有的标记,或者选择可能会干扰的通用文本,这取决于你的意图。这个选择应该是有意为之的。
为数据添加描述性文本从未如此重要。
你可以在单一的卡通概念上训练一个LoRA,同时仍能生成照片级真实的人物。你甚至可以为前景的卡通和背景的真实场景添加描述性文本!
训练LoRA的总时间大约是2到2.5小时。费用上的花费大约是1到2美元,甚至会更便宜。现在来看看结果吧!
500步
一开始在500步时,你会得到一些相似的结果。这主要是基线Flux。如果你正在训练一个已经存在的概念,那么即使在仅仅500步时你也会看到一些收敛。
Prompt: 一个《神奇侠》的复古漫画封面,展示了三个角色在一个动态的动作场景中。中央人物是神奇侠,表情自信,穿着绿色衬衫,系着黄色腰带,戴着红色手套。在他左边是一个表情担忧的女人,穿着黄色上衣和红色裙子。在右边有一个长着尖牙和利爪的怪物,似乎正在攻击这个男人。背景简洁,主要是蓝色,底部有一丝风景。文字“WONDER COMICS”和“第11期”表明这是一个系列中的一部分。
1250步
这里会开始有些分裂。要有耐心。它正在学习。
Prompt: 一个标题为《神奇侠漫画》的复古漫画封面。中央人物是神奇侠,他似乎处于战斗姿态,正向一个张着大嘴、露出尖牙的巨大威胁生物猛扑。在主要角色的下方,有一个穿着黄色连衣裙的女人,手里拿着一个小装置,可能是枪。她似乎很惊慌。在背景中,有一座未来感十足的塔楼,塔顶上站着几个人物。整体色调鲜艳,以黄色、绿色和紫色为主。
1750步
嘿!我们有进展了!此时,作为提示的文本描述应该能很好地展示我们的主题,但真正的测试是脱离文本描述,看看我们的主题是否依然存在。
Prompt: 神奇侠身穿绿红相间的服装,胸前有一个大大的“W”徽章,英勇地站立着。
2500步
他在那儿!我们现在可以更自由地提示,让Wonderman做其他事情。请记住,我们仍然会受到训练内容的限制,但至少我们有了一个很好的起点!
Prompt:
漫画风格插图:Wonderman在月球上逃离外星人。中心人物是Wonderman,一个男性超级英雄角色。他穿着绿色和红色的服装,胸前有一个大的“W”标志,穿着到膝盖的黑色靴子。Wonderman戴着黑色眼罩。
结论
这个概念验证为使用Flux工作提供了宝贵的经验。每个训练项目都有自己独特的挑战和复杂性。虽然Flux易于训练,但在开始之前需要明确定义目标。
作者在审查示例数据时,发现还需要额外的清理数据集。
这些问题影响了最终模型,导致了一些意外结果。例如,当提示“Wonderman”时,由于与“Superman”之间的相似性,模型偶尔会生成“超人”的元素,导致很多生成结果中出现了“披风”。
另一个问题是出现了多色紧身裤,有些样本显示为红色,而其他样本显示为绿色。此外,模型再次生成了紫色短裤,这直接是训练数据的结果。
作者相信,通过进一步的精炼和调整数据集,可以解决这些问题。解决这些不一致性将提高模型输出的准确性和质量。
原文链接:
https://hf-mirror.com/RunDiffusion/Wonderman-Flux-POC