Stable Diffusion是一种基于扩散模型的图像生成技术,能够从文本生成高质量的图像,适用于CG,插图和高分辨率壁纸等领域。
但是它计算过程复杂,使得它的生成速度较慢。所以研究人员就创造了各种提高其速度的方式,比如Xformers、Aitemplate、TensorRT和onflow。在本人中我们将对这些加速方法进行了一系列对比测试。
在本文中,我们将介绍这些加速方法的原理和性能测试结果,并提供对不同显卡的成本效益总结,我们的目标时在并在2秒内生成高质量的图像。
通过我们的试验与RTX 3090上的Xformers相比,OneFlow实现了211.2%的加速,在RTX 4090上实现了205.6%的加速。所以一个高配的GPU还是很必要的。
加速方案原理及特性
以下表格整理了目前能够看到的加速方案
本文使用Xformers, Aitemplate, TensorRT和onflow进行测试。因为NvFuser在原理上与Xformers相似,都使用了FlashAttention技术。DeepSpeed和colossalAI主要是为训练加速而设计的,而OpenAI Triton则是一个模型部署引擎,适用于批大小的加速,但不适用于优化延迟场景,所以这些都包含在本文中。
我们使用VoltaML来评估Aitemplate的加速效果,使用Stable Diffusion web来评估Xformers的加速,使用官方TensorRT示例来评估TensorRT的性能,并将OneFlow集成到Diffusion中来测试其加速度。
加速方案测试
接下来,我们将介绍相关的测试配置
1、测试设置
我们的性能度量是每秒迭代数(its/s)。图像设置为512*512,步骤100
提示词为:A beautiful girl, best quality, ultra-detailed, extremely detailed CG unity 8k wallpaper, best illustration, an extremely delicate and beautiful, floating, high resolution.
Negative提示: Low resolution, 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, bad feet, fused body.
Sampler: Euler a
模型:Stable Diffusion 1.5
2、测试结果
在各种gpu上的性能测试结果,如下图所示(上图第一行为Xformers,第三行为Aitemplate ,第四行为OneFlow ):
加速度比较如下:OneFlow > TensorRT > Aitemplate > Xformers。
与RTX 3090上的Xformers相比,OneFlow实现了211.2%的相对加速,在RTX 4090上实现了205.6%的加速。
以下是一个结果:
GPU性价比
通过对不同的gpu进行了成本效益分析,得到以下结论:
从性价比角度来看,RTX4090 GPU性价比最高,目前RTX 2080Ti是最高性价比,极低端的gpu会增加整体成本。所以不建议用低端入门级GPU。
我们这里选择的几个低端gpu,包括M60、1660s和1080,问题如下:
1、GPU如1660和1080不支持加速方案,如TensorRT, Aitemplate,和OneFlow,可能是由于内存不足或GPU不兼容
2、其中1660s(1080)在生成512*512的20步图像,耗时7.66s (7.57s),达到2.61 it/s (2.64 it/s),虽然慢,但是可以用,如果你时间富裕或者只是玩一下可以考虑
3、M60达到1.27 it/s, 20步生成512*512图像需要15.74s,比1660s又慢了1倍
选择的建议
1、虽然RTX 4090有最高的速度,但RTX 3090也是可以考虑,RTX 3090的性能优于其他同级别的gpu,如A5000和A4000(下面价格基于云服务提供商的GPU价格计算,自购肯定RTX 4090,因为比3090差不了多少钱)。
2、更大的VRAM允许缓存更多的模型,减少模型加载时间,并显著加快图像生成过程。
RTX 3090和RTX 4090都有24GB的VRAM,但如果稳定扩散web是基于VRAM使用进行优化,RTX 3090可能在VRAM成本上有优势。如果优先考虑推理速度,RTX 4090是最佳选择,因为它的推理时间大约是RTX 3090的一半。
3、不同gpu的更多详细信息,请参阅下面的图表。
以上就是完整的测试,希望对你有所帮助。
作者:Omniinfer