如何使AMD GPU AI推理速度提升10倍

前言

在互联网上出现了大量图像生成模型之后,NVIDIA 抓住了支持这个图像生成时代的机会。但由于其在强大 GPU 市场上的垄断,我们别无选择。

但是,经过漫长的等待之后,出现了一种新的替代方案,那就是 AMD 的 GPU。

是的,AMD 和微软正在努力与 NVIDIA 竞争,这对我们而言是图像生成领域的转折点。现在,我们不仅能在游戏领域,还能在图像生成领域拥有经济实惠的选择。

在这篇文章中,我们将引导您了解如何在 AMD Radeon GPU 上运行 AI 图像生成软件 Stable Diffusion。我们将尽量让事情变得简单易懂。


要求:

以下是在 AMD GPU 上使用Stable Diffusion所需的条件:

- AMD Radeon 6000 或 7000 系列 GPU

- 最新的 AMD 驱动程序

- Windows 10 或 11 64 位

- 至少 8GB RAM

- 已安装 Git 和 Python

我们在配备Ryzen 5 3600X CPU16GB VRAM的Radeon RX 6800上运行它。

微软 推出了一款名为Olive 的 酷炫新工具 ,它可以优化 Stable Diffusion,使其在 AMD 硬件上运行速度更快。Microsoft Olive 是一款 Python 程序,可让 AI 模型在 AMD GPU 上超快速运行。它采用 Stable Diffusion 等现有模型,并将其转换为 AMD GPU 可以理解的格式。

它还可以压缩和缩小模型,从而减少显卡占用的空间。这一点很重要,因为这些 AI 模型有数百万个参数,可以瞬间耗尽 GPU 内存。
现在,安装完上述必备软件后,你将要忍受图像生成的长时间消耗。生成一张图片几乎需要 10-20 分钟,这对我们来说是一场噩梦。

但这不是问题,因为  有 Microsoft Olive ,它可以使我们的图像生成速度更快。

AMD 声称, 与前一阶段相比,他们的图像生成速度 提高了 9.9 倍,这意味着速度从 每秒 1.87 次迭代提高到了 每秒18.59 次迭代。

特征:

在准备Stable Diffusion时,Olive 做了几件关键的事情:

-模型转换:将原始模型从PyTorch格式转换为AMD GPU 偏好的格式(ONNX) 。

-图形优化:简化并删除模型转换过程中不必要的代码,让模型比以前更轻,运行速度更快。

-量化:将数学精度从 32 位浮点数降低到 16 位浮点数。这会缩小模型以使用更少的 GPU 内存,同时保持准确性。

这可让您充分利用 AMD 硬件的 AI 软件。它会自动调整模型,使其在 Radeon GPU 上更快地运行。


使用 Microsoft Olive 安装 Automatic1111:

安装有几个步骤,但非常简单。以下是您需要执行的操作:

1.首先,安装Windows版Git。

2.现在,从其官方主页安装AnacndaMiniconda 。 (确保在安装时将 Anaconda 或 Miniconda 目录路径添加到环境变量中。)

3. 如果您尚未安装这些驱动程序,请从 官方页面获取 AMD 软件和驱动程序:适用于 AMD GPU 的 Adrenalin Edition 23.7.2 或更新版本。

建议定期更新 AMD GPU 的驱动程序以获得更好的性能。

4. 打开Anaconda 或 Miniconda终端(无论您安装了什么)。

5. 通过在命令提示符中输入以下命令来创建新环境:

这里需要 Python 最低版本 3.9。我们使用的是 Python 3.10.6 版本。因此,我们必须通过键入这些命令来安装和创建具有所需版本的环境。这里,“ sd_olive ”是我们为虚拟目录定义的名称。您可以选择自己的名称,但请确保不要使用任何预定义的 Python 关键字。

conda create --name sd_olive python=3.10.6

如果您发现错误(“ 未找到 python ”),则表示您遇到了 python 版本兼容性问题。我们遇到的情况是安装 python 3.10.6 版本或 python 3.10.9 版本。目前不支持 python 3.11x 版本。


6.现在,激活环境:

conda activate sd_olive


7.现在,您处于虚拟环境中。输入以下命令创建一个新文件夹:

mkdir sd-test

再次输入以下内容移动到该文件夹:

cd sd-test


8. 输入以下命令克隆 GitHub 存储库:

git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml


9. 输入以下命令,转到Stable Diffusion安装目录:

cd stable-diffusion-webui-directml

如果出现错误“ 找不到指定的路径”,请关闭命令提示符。然后转到Stable Diffusion安装文件夹。在路径目录中键入 cmd 并按 Enter 键打开命令提示符。重复步骤 5 和步骤 6。在我们的例子中,我们将Stable Diffusion安装到 C: 驱动器中。(您的情况可能有所不同)


10. 输入以下命令来更新子模块:

git submodule update --init --recursive


11. 输入以下命令打开 WebUI

webui-user.bat

12. 现在,将看到一个新的本地主机网址,如下所示:“ http://127.0.0..... ”。只需将此 URL 复制并粘贴到您的 Web 浏览器中即可打开 Automatic1111。


13. 最后我们安装了 Automatic1111。现在,接下来我们必须下载用于优化的 Microsoft Olive 支持模型。


14.现在为了生成图像并对其进行优化,我们需要下载所需的模型。

确保选择正确的兼容模型进行下载和运行,因为目前 Hugging Face 或 CivitAI 上的模型并非都与 Microsoft Olive 完美兼容。目前只有 Stable Diffusion 1.5 运行良好。

15. 为了说明,我们从Hugging Face测试了Dreamshaper 模型。

现在,转到 Automatic1111 单击 ONNX 选项卡,并将复制的模型 ID 粘贴到输入框中。最后单击DOWNLOAD 即可下载模型。

如果您看到下载按钮后面有一个旋转的徽标,则表示模型处于下载状态。这可能需要一些时间,具体取决于您的网速,因为每个模型最多可达 5-8 GB。

下载模型后,您将收到一条确认消息,类似“模型已保存至 C:/........

16.现在,我们必须使用 Microsoft Olive 进行优化,否则我们会遇到错误。因此,单击 Olive 选项卡,然后再次单击 优化的 ONNX 模型, 并在ONNX 模型 ID下粘贴您下载的模型的复制 ID。在我们的例子中,它是“ Lykon/DreamShaper ”。

输入输出文件夹中,也粘贴相同的复制模型的 ID,删除带有斜线的所有内容(在我们的例子中它是“ DreamShaper ”),然后选择模型类型,无论是普通Stable Diffusion模型还是Stable Diffusion XL 模型。

17.最后点击“使用Olive优化模型” 按钮开始优化。

这需要一些时间在后台进行优化。您可以在命令提示符上查看状态,并且徽标会不断旋转,这意味着它正在进行中。


18. 几分钟后,您将看到“优化完成”消息。在我们的例子中,大约需要 5 分钟。

19.现在,您可以通过单击重新加载按钮并选择优化模型版本来生成图像。输入正面和负面的提示、设置,然后单击 生成按钮以生成图像。

这是输出。结果确实令人难以置信且逼真。它大约需要21 次迭代/秒

无论您使用什么模型,您都可以尝试 Stable Diffusion提示生成器 ,它将帮助您生成多个 AI 图像提示。


错误处理:


现在,如果您遇到与安装相关的错误,那么您应该按照我们的 AMD 错误教程进行操作 ,我们在其中列出了多个相关解决方案来修复它。

额外提示:

如果要检查优化确认,请键入此命令以通过生成 ONNX 模型来优化Stable Diffusion。优化可能需要一些时间:

python stable_diffusion.py --optimize

优化完成后,优化模型将存储在以下文件夹中:

olive\examples\directml\stable_diffusion\models\optimized\runwayml

模型文件夹将被命名为:  “stable-diffusion-v1-5”

如果您想检查支持哪些不同的型号,那么您可以输入以下命令:

python stable_diffusion.py --help

要检查优化的模型,您可以输入:

python stable_diffusion.py --interactive --num_images 2


结论:

因此,现在我们可以使用 Microsoft Olive 在 Amd GPU 上使用优化模型生成图像,Amd GPU 已成为图像生成领域的新玩家。

NVIDIA GPU 非常昂贵,但现在我们可以使用更便宜的替代品,即 AMD GPU,并深入探索艺术生成的真实感。


欢迎你分享你的作品到我们的平台上. http://www.shxcj.com 或者 www.2img.ai 让更多的人看到你的才华。

创作不易,觉得不错的话,点个赞吧!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值