分享 FollowFox 这篇 Vodka V4 的训练复盘,难得看到一篇老实承认实验失败的,反而比成功案例更有参考价值。
他们要解决的问题是:Vodka 系列的写实图老有种"烤焦"的过曝感。诊断过程挺清晰:这毛病 SD1.5 原版没有,是训练引入的;而且很早期就焦了,后面再多 epoch 也不会更糟,说明是学习率太高把 UNET 烤过头了。他们还做了个交叉验证,把新模型的 TE 和 UNET 逐个换成老模型的,确认就是 UNET 的锅。
计划本来很简单:把 TE 和 UNET 的学习率解耦,TE 保持 1.5e-07,UNET 砍到 5e-8。结果坏就坏在他们顺手把 EveryDream2Trainer 升级了,PyTorch 上到 2.0、xformers 0.20,loss 计算方式从相对改成绝对,显存占用变了,25 epoch 的结果直接就更过拟合了。更要命的是他们没留旧分支,导致这实验根本没法做成受控对比。
最后换回 adamw 优化器凑合出个能看的模型,但焦的问题还在。他们干脆做了几个混合,拿 V4 和 D-adaptation 的 checkpoint 混,选了个最顺眼的当 V4 发了,让用户自己判断。
这里最大的教训其实和 AI 无关:做系列实验前一定要把基线环境冻住,别顺手升级工具链。