欢迎光临散文网 会员登陆 & 注册

NovelAI模型在AutoDL平台多种显卡上图像生成的超级大评

2022-10-23 15:06 作者:P90君  | 我要投稿

还在无脑3090吗?什么分辨率比较合适?加了--xformer到底能加速多少?会对画面有影响吗?

走过路过不要错过,来看看工作量超级大的本超级大评测吧!

建议配合我的另一篇文章食用:震惊!你的显卡性能越低,生成的图片越有可能变异


要点前瞻

  • 不同显卡在不同分辨率下的推理速度和性价比对比

  • xformers对性能、性价比和图片画质的影响

  • 黑图现象及其解决方案测试

  • 其他的图片对比


1 实验设置

1.1 目的

比较不同显卡在用NovelAI模型做text2img生成的性能与性价比。img2img、AutoDL平台的用户、用自己的显卡、自己训练NovelAI模型、做其他任务的人也可以以此为参考(相关度由高到低)。


1.2 参测显卡

A5000,2080TI,A4000,3080,3090,V100,TITAN XP,A40,A100 PCIe 40G,A100 40G,A100 80G,3080TI,P40。

基本能测的卡都参与测试,除了3070,3060,4090和1080ti。也许用自己电脑的人更关心这些卡的数据,但是狼多肉少,这些卡我抢不到。

上述显卡的显存和算力参数参见:https://www.autodl.com/docs/gpu/#gpu_2


1.3 环境

环境为我自己的懒狗包,Python 3.10.4,PyTorch 1.12.1,CUDA 11.3

镜像Readme:https://www.codewithgpu.com/i/AUTOMATIC1111/stable-diffusion-webui/SDwebui-LazyDog


1.4 参数

Prompt:

(((masterpiece))), (((best quality))), ((ultra-detailed)), (illustration), (detailed light), ((an extremely delicate and beautiful)), (beautiful detailed eyes), (sunlight), (angel), solo, young girls, dynamic angle, floating, bare_shoulders, looking_at_viewer ,wings, arms_up, halo, Floating white silk, (Holy Light), just like silver stars imploding we absorb the light of day, (((elegant)))

Negtive prompt:

owres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, missing fingers, bad hands, missing arms, large breasts

Sampler: Euler a, CFG scale: 7, Seed: 3528433752, Model hash: 925997e9(animefull-final-pruned), Clip skip: 2, ENSD: 31337, no hiresfix

以上prompt来自于元素法典-圣光法(有修改):

https://docs.qq.com/doc/DWHl3am5Zb05QbGVs?&u=d105b60e326b4332a049f5733808dda8

图1.1 圣光法-中图设置,CFG steps 43

如未说明,均默认为启用混合精度推理(也是webui默认的)。


1.5 分辨率设置

中图:512*768,150 steps

这是NovelAI官网默认的尺寸。150 steps 是为了拉长时间更容易对比,以及消除偶然的时间波动。

大图:768*1152,150 steps

超大图:1024*1536,75 steps

这个尺寸跑150步太花时间了,所以降了一半。

每个分辨率跑3-5次。


1.6 度量标准

显存占用显卡占用率,这两个不用我解释吧。

推理时间:生成一张图花费的时间.

单图花费:单位为分,计算公式为 显卡每小时租金/(3600秒/推理时间)*100。意义是租了这块显卡后一个小时内不停地生成图片,平均每张图片的花费金额(注意本实验中steps和日常跑图的steps的差距)

优惠单图花费:单位为分,AutoDL会有日常的优惠价,以此作为租金计算单图花费。由于优惠价有变动,本项有时效性,仅供参考。

拟真单图花费:单位为分,计算公式为 显卡每小时租金/(3600秒/(推理时间+停顿时间))*100。因为实际使用不一定不停地生成图片,可能有一段时间显卡不干活,用户欣赏、挑选图片或者调整超参,因此计算包括停顿时间后单图花费。停顿时间有三档:30,60,120秒。

为什么停顿这么长的时间?因为实验步数为75,150,而实际跑图没那么多,一般在20-50步间。150步停顿120秒,相当于25步停顿20秒,其实很合理。

加速比:计算使用Xformers后加速了多少。计算公式为 减少的时间/原时间


2 结果

数据链接:

链接:https://pan.baidu.com/s/19n7U4DSHFjuxiP1eUt7xzw?pwd=4nvk 

提取码:4nvk


2.1 总体数据

图2.1 总体数据


2.2 使用Xformers的数据

图2.2 Xformers数据




3 总体结论

以下显卡排名均分先后。

  • 综合考虑,最推荐 3080,3080TI,3090,A5000

  • 性价比三巨头为三个80:3080,2080TI,3080TI

  • 性价比第二档为 3090,A5000。他们速度和显存有优势,而且数量大好抢。

  • 小图没必要用太强的卡。

  • 专业卡用作图片生成性价比一般,只适合连续不断大量出高分辨率图。

  • P40和TITANXP看起来便宜,但是出图速度实在太慢,以至于性价比居然比最贵的A100 80G还差(A100的速度甩这两个老爷车n条街)(特惠区并不特惠)。

  • 相同种子和参数,不同型号的显卡出图确实有细微差别;同型号显卡,不论是同一张卡重启,还是不同卡,出图都是一样。

  • 超高分辨率(指1024+)的图细节明显少于更低的分辨率,出图速度更慢。最致命的是有概率出黑图。建议降低分辨率然后使用其他超分辨率模型。

  • 默认的半精度推理出黑图时,改用全精度有可能会修复,但是构图会有可感知乃至巨大的改变,并且速度受到巨大损失。

  • 启用xformers大图及以上有极为巨大的性能提升,极大幅度降低显存占用,并且有很大可能修复黑图。代价是部分细节可能有些许改变(有可能有巨大改变)。如果你不是非常吹毛求疵,强烈推荐使用xformers生成高分辨率的图片。

  • 避免黑图最有效的方法:降低分辨率,降低步数,别写那么长的prompt。如果硬要这么做,可以换不出黑图的卡。

  • AutoDL最推荐北京区,网速最快。泉州南京少碰,拉镜像特别慢,能等到你怀疑人生。(我泉州一个P40拉了两天还没拉完)


4 度量指标分析

4.1 推理时间

图4.1 推理时间(秒)排名

超大分辨率最能体现一张显卡的硬实力。推理时间的排名基本按照显卡的算力(混合精度算力)。

大图分辨率也基本按照显卡硬实力的排名,不过因为A100和V100开始吃不满,导致A100和后面的差距减小,V100掉了名次。

中图排名就群魔乱舞了。因为大多数显卡都吃不满载,高端专业卡的半精算力有劲没处使。排名显得非常混乱,猜测排名开始与显存性能和架构新旧相关。A100 PCIe 40G排名居然掉了那么多,A40又跑了上来,我是没想到的。当然,吊车尾两兄弟——TITANXP和P40,以及卡皇A100 80G的地位依然稳固。

此外,不同区域同一型号显卡速度没差别,所以一个区域没卡了可以去别的区域找同型号卡。


4.2 单图花费

图4.2 单图花费(分)排名

超大图和大图里,由于两个老爷车(P40和TITANXP)实在是太慢了,以至于其性价比甚至低于每小时贵达8块钱的A100 80G,远不如两个A100 40G,更别说A100的速度甩这两个老爷车n条街了。看起来好像老卡特惠,其实厂商比咱们精着呢。

中图里,因为高端卡和其他卡速度拉不开差距,租金又贵,导致其性价比低于超大图和大图。


4.3 拟真单图花费

不是所有人都不停地生成图片,我猜一般都是生成后有一段时间停顿再接着生成。停顿时间越久,越浪费钱,单图花费就越高,越便宜的卡就越有性价比优势。

由于性能不错、价格便宜,2080ti和3080在长停顿时间的场景里优势非常突出,几乎是首选。而在停顿120秒、中图的设置里,卡皇A100的性价比极低,单图花费几乎是两个80的5-10倍。虽然停顿120秒、中图的设置里TITANXP性价比第一,但是考虑到一分半钟的生成时间,还是别用它了。

大家普遍无脑选择的3090和A5000,因为本身价格有点小贵,在停顿时间很长的场景里性价比是远不如80系的。

图4.3 拟真单图花费30秒排名
图4.4 拟真单图花费60秒排名
图4.5 拟真单图花费120秒排名
图4.6 超大图花费趋势
图4.7 大图花费趋势
图4.8 中图花费趋势




4.4 Xformers对速度的影响

图4.9 开启Xformers后的耗时和加速比

Xformers(以下简称XF)对速度影响非常大,特别是大图和专业卡。

超大图里,基本都有50%+的加速提升(也就是耗时砍半+)。最离谱的是A40,开了XF后加速比高达70%,相当于少了近3/4的耗时,本来垫底的速度直接杀入前列,挤到了3090前头,仅次于A100系列。

XF的加速表现随着分辨率降低而变差,到了中图,30系只有20%左右的加速比。但是专业卡基本都能保持在50%的加速比上,使得原本推理速度较差的专业卡有了一定补足。

但是A100的表现大跌眼镜,愧对了卡皇的名头。A100 80G在中图中甚至只有5%的加速,导致开了XF后其他卡的速度都能轻易赶上A100。

XF能显著减少显存占用。由图 2.1 和 2.2 可以看出,如果不加 XF,随着图片分辨率的增加,显存占用会以非常恐怖的速度增长(不过低显存会自适应减少占用),但是开了之后,除了模型基本的约4G占用,图片分辨率的增加只增加几百M的显存。


4.5 Xformers对性价比的影响

对于大图和超大图来说,开启XF能显著提高性价比,特别是专业卡。A5000开了XF后性价比直接赶超3090,而速度也相差无几;A40则性价比也有大提升,速度也超过了3090(3090恐成最大输家),不过因为本身租金就挺贵的,所以性价比排名没有太大提升,但是单图花费很接近不开XF时的性价比之王3080了。

小图性价比提升不如高分辨率那么大。加上推理速度也没有特别亮眼的提升,小图本来就出图快(别忘了这里的steps是150,实际只有20-50),XF开的必要性不是很大。

图4.10 Xformers对超大图性价比的影响
图4.11 Xformers对大图性价比的影响
图4.12 Xformers对中图性价比的影响



5 黑图分析

5.1 黑图是什么

黑图指在使用webui前端、NovelAI生成涂片时,出来的图片的全黑的现象。还有一个绿图现象,指出来的图片全绿,但是更加罕见,我目前没遇到过。


5.2 黑图发生的原因

目前尚不清楚。最有说服力的解释是在生成的过程中某些参数由于精度不足发生了溢出。

就我目前的使用经验来看,黑图高概率发生在生成超高分辨率大图(主要原因)、输入的prompt太长、steps太多的时候。

除了缩小图片、减少输入外,解决方案有两种:一个是普遍流传的全精度推理,另一个是开启XF(不知道网上有无流传,我是测试时偶然发现的)。


5.3 使用全精度推理修复黑图的结果

图5.1 全精度推理结果

因为黑图现象只发生在超大图的生成,所以只做这一分辨率的测试。3090没有黑图但是也参加测试,为了做对比全精度推理和默认的半精度的差距。A40未参与测试,因为当时没抢到卡。全精度推理有两种:一个是只用全精度的VAE(nohalfvae,nhv),一个是整个网络都全精度。

实验结果表明全精度推理不一定能解决黑图问题。只有2080TI和A100 PCIe 40G能解决,并且图片都有所改变。不过两个A100 PCIE 和 3090 的全精度倒是相差不大。

全精度推理的另一个问题是对性能影响过于严重。所有的显卡的推理时间都增加了至少一倍,V100还爆显存了。

图5.2 超大图图片比较,基准为3090半精。注意红圈圈出的变化。2080TI真的参数完全相同,变化这么大我也想不通为什么。


5.4 使用Xformers修复黑图的结果

我觉得这个比全精度推理靠谱多了。速度快,成功率还高,除了2080TI的黑图,其他都修复了。对比图见后面章节。

6 图片对比

6.1 不同显卡对画面有影响吗?

有,但是只是细节上一些变化,不AB对比看不出来。此外,对于同一型号显卡,同一台机重启、不同机器不同显卡的图没有差别。

图6.1 半精度推理时,A5000和3080TI大图分辨率的图片对比


6.2 Xformers对图片细节的改变

即使同一种子、同一参数,使用XF后每次出的图都有点变化,主要是物件的边缘。但是和显卡型号的改变一样,只是细节上一些变化,不AB对比看不出来。请自行衡量能不能接受这些改变。

如果不开XF,同一种子、参数和显卡型号出的图是完全一样的。

图6.2 开启XF后的小图对比

但是XF有很小的可能在某些显卡上让构图发生巨大改变。目前我只碰到一例。

图6.3 超大图设置,A4000开启XF。和图5.2对比,明显构图改变巨大。


NovelAI模型在AutoDL平台多种显卡上图像生成的超级大评的评论 (共 条)

分享到微博请遵守国家法律