Stable Diffusion 是一款开源软件,生成式人工智能 基于图像的模型,使用户能够生成包含简单文本描述的图像。它在开发者中越来越受欢迎,为热门应用程序提供支持,例如 Wombo 和 Lensa。
最终用户通常通过将模型与用户界面和一组工具打包在一起的发行版访问模型。最流行的发行版是 Automatic 1111 Stable Diffusion Web UI。本文介绍了如何利用 NVIDIA TensorRT 可以将模型的性能提高一倍。它采用了一个使用 Automatic 1111 Stable Diffusion Web UI 的示例。
高效的生成式 AI 需要 GPU
Stable Diffusion 是一种深度学习模型,它使用扩散过程根据输入的文本和图像生成图像。虽然它可以成为增强创作者工作流程的有用工具,但该模型的计算量很大。在 CPU 等非专用硬件上,生成单批四张图像需要几分钟时间,这打破了工作流程,并可能成为许多开发者的障碍。
如果没有专用硬件,AI 功能会很慢,因为 CPU 本身并不是针对神经网络所需的高度并行操作而设计,而是针对通用任务进行优化。稳定扩散说明了为什么需要 GPU 来高效运行 AI.
NVIDIA TensorRT 可加速性能
GeForce RTX GPUs 擅长运行生成式 AI 模型所需的并行工作。它们还配备了名为 Tensor Cores 的功能,用于加速 AI 用例的矩阵运算。实现这些优化的最佳方式是使用 NVIDIA TensorRT SDK,这是一种高性能深度学习推理优化器。
TensorRT 提供层融合、精度校准、内核自动调整和其他功能,可显著提高深度学习模型的效率和速度。这使得它成为实时应用程序和 Stable Diffusion 等资源密集型任务不可或缺的一部分。
TensorRT 可大幅提升性能。与之前使用的加速方法(PyTorch xFormers)相比,在 Stable Diffusion Web UI 图像生成中,每分钟图像生成次数翻了一番。
图像生成:Stable Diffusion 1.5,512 x 512,批量大小 1,Automatic 1111 (适用于 NVIDIA )和 Mochi (适用于 Apple)的 Stable Diffusion Web UI
硬件:配备 Intel i9 12900K 的 GeForce RTX 4090;配备 76 个核心的 Apple M2 Ultra
在稳定扩散管道中实施 TensorRT
NVIDIA 已发布了 TensorRT 稳定扩散管道的演示,为开发者提供了一个参考实现,说明如何准备扩散模型并使用 TensorRT 加速这些模型。如果您有兴趣增强扩散管道并为您的应用带来快速推理,这是您的起点。
在此基础上,TensorRT 工作流应用于 Stable Diffusion 开发者常用的项目。在 Stable Diffusion Web UI 中实施 TensorRT 进一步普及了生成式 AI,并提供了广泛而轻松的访问。
此旅程始于 Windows 版 TensorRT Python 软件包的推出,该程序包大大简化了安装过程。即使是那些技术知识很少的人也可以轻松安装和开始使用 TensorRT.
安装后,它提供了直观的用户界面,可触发 TensorRT 引擎所需的提前编译。缓存机制大大缩短了编译时间。这些简化使用户能够专注于核心任务。集成非常灵活:动态形状使用户能够渲染不同的分辨率,并将对性能的影响降至最低。此实现为开发者提供了一个有用的工具。利用此插件增强您自己的 Stable Diffusion 工作流。
开始使用 TensorRT
要下载 Stable Diffusion Web UI TensorRT 扩展程序,请访问 NVIDIA/Stable-Diffusion-WebUI-TensorRT GitHub。查看 NVIDIA/TensorRT 演示 Stable Diffusion Pipeline 的加速。想要了解更多关于 Automatic 1111 TensorRT 扩展程序的详细信息,请参阅 Stable Diffusion Web UI 的 TensorRT 扩展。
如果您需要更详细的指导,了解如何将 TensorRT 集成到您的应用中,请参阅 如何开始使用 NVIDIA AI 为您的应用程序加速。了解如何配置您的工作流程,确定哪些优化方面至关重要,以及哪些细微更改可能产生重大影响。选择适合您的 AI 工作流的机器学习框架,并探索用于视频、图形设计、摄影和音频的 SDK。