santa hat
deerdeer nosedeer glow
Sign In

最近工作的总结

4

通过近几个月来的学习,对于模型融合的控制方面有些微的感触,如果说的不对欢迎指正

以下内容尽可能不会涉及到专业术语,我会用夸张或者模糊比喻的手法来说

1.什么是模型融合

模型融合就是你看见了A的构图,看见了B的笔触,看见了C的脑子(tag识别),看到了d的......,总之你就是看到了某个模型的某个优点,然后想吧他们结合到一起,这个操作就是模型融合(当然融合所有缺点做反向模型也是可以的)

2.模型融合的方法

一个是直接融合,就是简单的加权求和,还有差值(这个我不常用),优点是参数简单,缺点是没法精准控制,属于早期的技术。

还有一个是MBW(分块加权),这个就是吧模型的in层和out层还有中间层和文本编码器都拆开,方便各取所需。这几项是什么概念可以简单的说一下:in层属于是概念层,比如说1girl,通过文本编码器解码之后到in层,他会对这个单词做解析,什么是1girl?是一个女孩还是一个福瑞,或者是一个机娘,根据不同的in层构成会有不同的理解,然后通过中间层转述给out。什么是out,他属于是一个画笔,或者说是我说你画的画的部分,这个女孩或者福瑞或者机娘是单线条风格,或者是写实风格,亦或是油画风格,是靠out层调整的。

值得注意的是,如果in层不会输出彩色概念的话,这个模型大概率是不会输出彩色图片的(这点缺乏考证,属于个人经验,不准确)

另外一个方法就是超级融合了,简言之就是将lora融合进模型中,这部分也可以使用MBW分层,不过我不常用就不展开说了。超级融合lora的好处是可以预见的结果,在文生图中直接测试lora的权重,将合适的参数直接带入进去融合,结果大概率和添加lora一致。(至于为什么要融到大模型中而不是直接叠加用,属于我个人的习惯,也是某个时期产出比较高的原因)。缺点是只能融合lora,后面新的优化算法产生的调整模型好像无法正常融合,而且对lora本身的维数有要求。某些情况下还会导致崩手崩脚(之前不知道原因,现在想想应该是破坏了原有的in层导致构图崩坏吧)

3.模型的后处理

很多情况下,不管是MBW还是直接融合或者超级融合。模型的体积会越来越大,这个体积增大不一定是正面的。所以在这种情况下需要对模型进行处理,使用模型格式转换插件可以对模型进行处理,简单且方便。我常用的参数是:精度:fp16、压缩方案:舍弃ema权重、模型格式:safetensors、显示额外设置:其他:delete 其余convert、Fix clip打勾。一般情况下,此时模型会减小到1.9-2.1G且对出图影响不大。(当然也有那种很大的大模型,但是那种动辄8、90g的大小就不是我们个人用户可以玩得了)

工作繁忙,就不加图示了,基本上这些都是常用的插件和操作,大家应该也都有一套自己的可行理论了,所以本文仅作留档和交流,也希望大佬指正错误,可以让我更进一步。

4