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 圖像生成中,每分鐘圖像生成次數翻了一番。

圖 1. NVIDIA TensorRT 加速使每分鐘的圖像生成次數翻倍
圖像生成: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。
?