先把当时的情况摆出来。同时挂两个风格 LoRA,各自权重都设 1.0,出图风格互相打架,颜色和构图都不受控。
把日志和配置对完,能解释这个现象的基本就这几处。多个 LoRA 同时满权重会让影响叠加放大。还有一种是两个 LoRA 训练的基底模型不同。
不容易想到的是,触发词互相冲突,提示词被反复强调。还有一种情况,权重过高导致画面崩坏或过饱和。
动手时先把总权重控制在合理范围
pipe.set_adapters(['style_a','style_b'], adapter_weights=[0.7, 0.5])
随后用融合比例代替直接叠加
pipe.fuse_lora(lora_scale=0.6)
再往下检查两个 LoRA 的基底是否一致
python -c "print(base.config._name_or_path)"
固定种子做参数对比
python -c "print(pipe(prompt, generator=torch.manual_seed(42)).images[0].size)"
当时还开着另一个排查窗口,两边日志对照着看才定位到。
别只看报错消失,验证要多做一步。两张卡风格能同时体现又不互相压制,颜色与构图稳定,重跑结果可复现。
多 LoRA 叠加时总权重超过一点五很容易崩,先各自单独调到满意,再按较低权重组合。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。