基于GhostReview的模型改进的问题及GhostReview中LoRA兼容性测试的问题
大家好,我是GhostInShell。回应一下之前看到的两个问题,最近实在没什么时间,而且我既不是程序员又不是设计师,这个纯粹业余。但回应问题实在太浪费时间了,而且本身就很忙.....每个人都有自己的见解,所以我也不多解释了,大家想看眼我的观点就看,不喜欢关掉就ok了。而且我一再强调GhostReview是研究框架,从来都没觉得GhostReview就是正确答案,做出来只是抛砖引玉,希望有更多人研究这事,不认同部分不就不用呗。还有Python不是闭源的,不认同的人自己去写啊!喷人之前好好想想自己又做了什么了?键盘侠就这么“正义”凛然吗?
基于GhostReview的模型改进的问题
关于如何使用GhostReview进行模型改进,其实可以看之前模型改进的文章里面有写,改进标准。如果纯粹基于GhostReview,改进方法:
1.美学评分,这个没什么好说的,如果想要提高,就模型抽奖。这部分是争议性最多的,但至少sd1系列和sdxl的refiner模型就是用LAION的。至于为什么base不用stability.ai员工mcmonkey4eva在reddit上面的解释,美学评分作为transformer的输入会影响prompts,现在用的美学评分不是最精确的,但是其他的都有局限性。资料来源:https://www.reddit.com/r/StableDiffusion/comments/14v3fri/sdxl_simplified_explanation_of_aesthetics_score/

而且至少LAION用了17.6W条SAC和25W条AVA的真实评分对,用这个做我觉得没啥问题。当然知乎上有做模型评价的给我介绍了,HPSV2,另一个评分体系,看数据是准确性挺高的,但只有50个人参与评价,所以最近我也加在了评测上面。

2.Clip,用的就是SDXL其中的ViT-L/14,知乎上有人建议用2021年的clipscore论文的方法,我最近没时间,也会上。模型过拟合在Prompt精准度上面就是会有问题,这没啥好说的。3&4.风格兼容性及LoRA兼容性,正确答案就在targetimage里面,模型能产出对应的那些图片就是改进。事实上,大量模型的问题就是出在过拟合,过拟合导致风格完全固定,无法对其他风格的prompts做出反应,风格兼容性及LoRA兼容性自然就差了。我文章里面每一个方法都有说,github上面都有对应的图片,主要看是不是有心去改进。
最后,GhostReview的核心是一个研究框架,我始终觉得自己就是一个傻逼,用什么方法的问题,傻逼能知道的就那一点点知识。所以知乎上提的HPSV2,Clipscore的建议,我都是听的。东西差从来不是问题,问题是不知道朝什么方向进步。GhostMix 1.0那就是垃圾,但是1.1到1.2,1.2听改进意见完善肢体错误之后做出来的2.0,不就挺好的嘛。
回应关于LoRA的兼容性属不属于ckpt的性能的质疑:
本来不想说,但是事实上很多模型制作者把乱七八糟一大堆的LoRA融进ckpt里,某些模型还直接将Add detailed LoRA融入ckpt中,所以我才有测LoRA兼容性的想法。
至于有些人质疑LoRA的兼容性到底属不属于ckpt的性能,理由是LoRA是线性相加,因为训练用的底模跟使用LoRA的底模不同,所以相加出来不一样的数值,假设原本加出来是A,使用时加出来是B,B不可能等于A,所以LoRA兼容性就不属于ckpt的性能。
我觉得每个人都有自己的观点非常好,真理总是越辩越明的,因为GhostReview这套框架也是没有任何参考的情况下我个人做出来的,所以有质疑很正常,但我想说说我自己的观点。
首先,从原来上理解LoRA到底是什么非常重要。

经常有人拿上图说,这就是LoRA。的确这是LoRA原论文里面的简介,但是具体LoRA在SD的那个位置,对SD是怎么影响的,其实一点都没有说清楚。直接下结论,LoRA是对UNET和CLIP中的CrossAttentionBlock进行局部的修改,达到控制生成图片的效果。如果不了解什么是CrossAttentionBlock,UNET和CLIP,请看琥珀青叶(Lyocis)的作者做的SD原理视频。如果不想知道原理,那就从侧面理解。下图是SD lora项目讨论区,关于LoRA训练难度的参数图。从参数量图可以知道,在rank=16的情况下无论在UNET还是在CLIP,LoRA的可训练参数量连UNET和CLIP的1%都不到。即使扩大8倍,就是dim=128,也不到整体可训练参数量的5%。Dreambooth和LoRA的本质区别就在这里,Dreambooth是全参数的微调,而LoRA只是小参数的微调。我们使用LoRA是希望LoRA能够很好的发挥,而如果融了一大堆LoRA又怎么能不影响其他LoRA的效果呢?

所以我才选择对LoRA兼容性进行测试,当然上述都是建立在LoRA本身是一个训练良好的前提之下。这就说到我GhostReview这套框架的结果上面了,在LoRA部分,我是选择了Civitai历史最高评价的前16个风格化LoRA。我选的是历史最高评价的LoRA,有小人书这些动漫的,有3Drender这些3D的,有FilmGirl这些真人的。我没法评价一个LoRA到底是不是训练良好的LoRA,但是可以通过侧面来告诉我。因为多人用,多人给出好评,而大家的模型差异很大,所以侧面告诉我,这个LoRA本身是没有问题的。而且为什么其他ckpt都能很好的兼容LoRA,而就某些一眼过拟合的ckpt不能呢?这难道不是ckpt的一个性能吗?