1. 引言
Stable Diffusion 是一种基于扩散模型的图像生成技术,能够根据文本生成高质量的图像,适用于 CG、插画和高分辨率壁纸等领域。
然而,由于计算过程复杂,Stable Diffusion 的图像生成速度常常成为瓶颈。为了解决这个问题,novita.ai 对包括 Xformers、Aitemplate、TensorRT 和 OneFlow 在内的加速方法进行了一系列对比测试。
本文将介绍这些加速方法的原理和性能测试结果,并提供不同显卡的成本效益考虑因素,以帮助在部署时做出明智的选择。
测试结果表明,在 RTX 3090 上,OneFlow 相比 Xformers 实现了 211.2% 的加速比;在 RTX 4090 上,加速比为 205.6%。因此,在部署 Stable Diffusion 时,首选 GPU 是 RTX 3090。

2. 加速方案原理与特性对比
首先,我们整理了可用于加速 Stable Diffusion 的各种方案。

我们选取了 Xformers、Aitemplate、TensorRT 和 OneFlow 作为加速方案。NvFuser 的原理与 Xformers 相似,均采用 FlashAttention 技术。DeepSpeed 和 colossal 主要用于训练加速,而 OpenAI Triton 则作为模型部署引擎,适用于批量加速而非模型优化延迟场景。因此,这些方案未被纳入比较。
目前,我们正在不同 GPU 上测试 WebUI 基础方案以及四种加速方案(Xformers、Aitemplate、TensorRT 和 OneFlow)的性能。
我们使用 VoltaML 评估 Aitemplate 的加速效果,使用 Stable Diffusion WebUI 评估 Xformers 的加速效果,使用官方 TensorRT 示例评估 TensorRT 的性能,并将 OneFlow 集成到 Diffusions 中测试其加速效果。

3. 加速方案测试
接下来,我们将介绍相关测试配置,并向您展示实际测试结果。
3.1 测试配置
本轮测试的性能指标为每秒迭代次数(its/s)。
图像设置:512*512,步数 100
提示词:一个美丽的女孩,最佳质量,超精细,极致细节 CG 统一 8k 壁纸,最佳插画,极其精致美丽的漂浮画面,高分辨率。
负向提示词:低分辨率,解剖结构错误,手部错误,文字错误,手指缺失,额外手指,手指数量不足,裁剪,最差质量,低质量,正常质量,JPEG 伪影,签名,水印,用户名,模糊,脚部错误,身体融合。
采样器:Euler a
模型:Stable Diffusion 1.5
3.2 测试结果
经过一系列测试,我们在各种 GPU 上获得了性能测试结果,如下所示:

从上表可以看出,加速效果对比为:OneFlow > TensorRT > Aitemplate > Xformers。
在 RTX 3090 上,OneFlow 相对 Xformers 实现了 211.2% 的加速比;在 RTX 4090 上,加速比为 205.6%。

4. GPU 性能与性价比对比
我们对不同 GPU 进行了性价比分析,得出以下结论:
结论 1:从性价比角度看,RTX 4090 GPU 价值最高。
结论 2:极低端 GPU 会增加整体成本。RTX 2080Ti 可能在初期重投资与整体成本之间取得平衡。
结论 3:性能最差的 GPU
本次测试中,我们选取了几款显存大于 6GB 的低端 GPU,包括 M60、1660s 和 1080。
像 1660s 和 1080 这样的 GPU 不支持 TensorRT、Aitemplate 和 OneFlow 等加速方案,可能是由于显存不足或 GPU 不兼容。
其中,1660s(1080)在生成 512*512 图像、20 步耗时 7.66s(7.57s)时达到 2.61 it/s(2.64 it/s),表明具有一定的可用性。
而 M60 仅达到 1.27 it/s,生成 512*512 图像、20 步耗时 15.74s,可用性较差。


5. 选择建议
5.1 RTX 4090 性价比最高,但我们推荐部署 RTX 3090。
例如,使用 runpod 测试计算每个 GPU 的“每美元迭代次数”,代表 GPU 的性价比。
很明显,在相似利用率下,RTX 4090 的性价比高于 RTX 3090。此外,RTX 3090 优于同级别的其他 GPU,如 A5000 和 A4000。

针对 Stable Diffusion 模型选择 RTX 4090 需视具体情况而定:
- 实际性价比取决于利用率(每小时使用时长/60 分钟)× its/$。根据服务模式及预估利用率,如果 RTX 4090 的利用率与使用两块 RTX 3090 相近,则 RTX 4090 的性价比更高。然而,如果部署两块 RTX 3090 实例能通过增加并发支持和请求处理来提高利用率,那么 RTX 3090 可能更优。利用率需根据具体场景分析。
- its/$ 代表推理性能,而更大的显存可缓存更多模型,减少模型加载时间,显著加速图像生成过程。RTX 3090 和 RTX 4090 均配备 24GB 显存,但如果基于显存用量优化 Stable Diffusion WebUI,RTX 3090 在显存成本上可能具有优势。
- 如果优先考虑推理速度,RTX 4090 是最佳选择,因为其推理时间约为 RTX 3090 的一半。
这与 https://timdettmers.com/2023/01/30/which-gpu-for-deep-learning/ 的研究结果一致。更多 GPU 数据请参考下图。

当 GPU 时间在处理链中占比较小时,可以选择性能略低于 RTX 3090 的 GPU,包括 A5000、A10G、RTX 3080、RTX 3080Ti 和 RTX 2080Ti 等。
如果您有任何疑问,或希望探索更多 Stable Diffusion 的加速选项,欢迎通过我们的 Discord 联系我们。
欢迎加入,与 novita.ai 一起探索 Stable Diffusion 的能力!
novita.ai 提供 Stable Diffusion API 以及数百种快速且经济的 AI 图像生成 API,覆盖 10,000 个模型。🎯 最快 2 秒生成,按量付费,每张标准图像最低仅需 $0.0015,您可以添加自己的模型并免去 GPU 维护。免费分享开源扩展。
推荐阅读
