当前位置:首页|资讯|Stable Diffusion|GitHub

使用OpenVINO在算力魔方上加速stable diffusion模型 | 开发者实战

作者:oneAPI技术汇发布时间:2023-05-18

01

什么是 stable diffusion 模型

Stable Diffusion 是 stability.ai 开源的 AI 图像生成模型,实现输入文字,生成图像的功能。Stable Diffusion 将 AI 图像生成提升到了全新高度,将引发媒体创作领域的革命。


引用自:https://github.com/Stability-AI/StableDiffusion


02

什么是算力魔方

算力魔方是一款可以DIY的迷你主机,采用了抽屉式设计,后续组装、升级、维护只需要拔插模块。


通过选择计算模块的版本,再搭配不同额 IO 模块可以组成丰富的配置,适应不同场景。性能不够时,可以升级计算模块提升算力, IO 接口不匹配时,可以更换 IO 模块调整功能,而无需重构整个系统。



基于 OpenVINO™ 在算力魔方上实现 Stable Diffusion 模型的推理加速,获得了14.9秒出图(不含模型初始化)的性能。



在图像生成过程中:CPU 占用16%,内存占用7.5GB, GPU 占用100%,显存利用率98.5%。



测试代码如下所示,方便读者在算力魔方上复现:

https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/225-stable-diffusion-text-to-image

(复制链接到浏览器打开)

那么接下来,我们就为大家划划重点,起来看看有哪些重要的步骤、以及生成的画作效果如何吧

在这个代码示例中,我们采用了 Stable Diffusion 模型,将模型转换为 OpenVINO™ 中间表示 ( IR ) 格式,以便它在英特尔® GPU 上获得高效运行。


另外,通过将 FP32 模型压缩到 FP16 ,我们将模型大小减少了一半(接近一半),而且运行所需的 RAM/VRAM 现在也少了很多。最重要的是,由于加入了英特尔® Xe 矩阵扩展( XMX ), GPU  处理速度也获得了显著提升。


以下是我运行这个 Notebook 得到的一些结果,非常有趣。借助英特尔锐炫™ A380 独立显卡,我可以实现大约每秒 6.0 次的迭代(未使用调试模式)。这意味着生成一幅下面的高质量图像通常只需不到 10 秒钟。


图1在基于 OpenVINO™ Notebooks 和算力魔方(英特尔锐炫™ A380 )的平台上,通过“ Stable Diffusion ”模型文本转图像功能生成的结果


看完了以上的 AI 作画的结果,你有没有心动、想自己动手试试呢?接下来,我们来看看你需要哪些主要步骤,就能在自己的机器上运行我们这个 Stable Diffusion 的 notebook 代码示例了



首先,这是 OpenVINO™ Notebooks 的仓库。它具有今天完成演示所需要的一切。

Stable Diffusion 位于 225-stable-diffusion-text-to-image 文件夹下。

在 notebook 代码示例中,我们不仅介绍了著名的文本转图像管道,还加入了图像转图像生成管道。但它的真正意义是什么?我们如何运行它?


管道


03

如何安装

如需安装 OpenVINO™ Notebooks ,您可参照此处的说明(适用于 Windows ):

https://github.com/openvinotoolkit/openvino_notebooks/wiki/Windows


如果您是 Linux 用户,可点击此链接:

https://github.com/openvinotoolkit/openvino_notebooks/wiki/Ubuntu


总体而言,您可实施以下几步:

安装 Python 3.10.x。(或下方内容)并创建一个虚拟环境

对目录实施 Git 克隆

安装所有的库和依赖项

运行 Jupyter Notebook

运行所有单元格并等待 =)

现在,查看代码。我们切实地优化 PyTorch 管道,并使用 OpenVINO™ 执行代码。



首次下载和转换可能需要一点时间。完成之后,您将得到一组 IR 文件。

为了方便,我已在这里将这些预训练的优化模型更新到 huggingface,大家可以直接下载使用:

https://huggingface.co/bes-dev/stable-diffusion-v1-4-openvino

(复制链接到浏览器打开)


现在,如果您有幸使用英特尔锐炫™ 独立显卡,您便可将下图中设备名称的代码改为“ GPU ”。默认情况下,它使用“ AUTO ”,并会自动切换至检测到的 GPU 。



让它在 GPU 上运行:


自动插件。它先使用 CPU ,然后自动切换至 GPU 。


04

结论

算力魔方是一款小巧而强大的计算设备,它们外形小巧、功耗低、接口丰富、可拓展性高,广泛用于教育、医疗保健、机器人、自动化和物联网等行业。


通过将算力魔方与 OpenVINO™ 相结合,可以实现各种复杂 AI 应用,包括加速 AI 模型的推理计算,实时图像和视频处理以及设备之间的低延迟通信等。


在算力魔方上评估 OpenVINO™ 的 AI 加速效果, OpenVINO™ Notebooks 无疑是首选。


欢迎在算力魔方上下载并安装 OpenVINO™ Notebooks 

https://github.com/openvinotoolkit/openvino_notebooks

(复制链接到浏览器打开)


祝你编码快乐!



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1