Stable Diffusion 加速高达211.2%:Aitemplate、TensorRT、OneFlow 和 Xformers 加速测试

Stable Diffusion 加速高达211.2%:Aitemplate、TensorRT、OneFlow 和 Xformers 加速测试

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。

  1. 像 1660s 和 1080 这样的 GPU 不支持 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,生成 512*512 图像、20 步耗时 15.74s,可用性较差。

GPU 性能对比

性价比对比

5. 选择建议

5.1 RTX 4090 性价比最高,但我们推荐部署 RTX 3090。

例如,使用 runpod 测试计算每个 GPU 的“每美元迭代次数”,代表 GPU 的性价比。

很明显,在相似利用率下,RTX 4090 的性价比高于 RTX 3090。此外,RTX 3090 优于同级别的其他 GPU,如 A5000 和 A4000。

性价比数据

针对 Stable Diffusion 模型选择 RTX 4090 需视具体情况而定:

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

这与 https://timdettmers.com/2023/01/30/which-gpu-for-deep-learning/ 的研究结果一致。更多 GPU 数据请参考下图。

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 维护。免费分享开源扩展。

推荐阅读

  1. 如何轻松安装 Stable Diffusion 2.1
  2. Lora AI 生成图像——艺术的未来
  3. Stable Diffusion GTX 1650:终极指南