Ubuntu 22.04安装英特尔显卡驱动玩转AIGC

本文将介绍如何使用EIV 用5行指令在快速搭建含英特尔显卡及OpenVINO的AI开发环境, 并简洁说明如何使用OpenVINO 及英特尔显卡优化文生图模型Stable Diffusion 的速度。

EIV (Edge Insight Vision) 具有一组预集成组件,专为边缘应用的计算机视觉和深度学习推理而设计,并针对英特尔®架构进行了优化。它作为容器化架构或独立运行时实现。

此软件包包含用于在英特尔处理器和英特尔显卡设备上安装英特尔®显卡驱动程序和为 OpenVINO™ 推理设置环境的脚本。

工作原理

EIV是一组预先验证的模块,作为容器化架构或独立运行时实现,用于在边缘部署计算机视觉和深度学习工作负载。该软件包包含面向针对英特尔®架构优化的计算机视觉和深度学习应用的英特尔®发行版 OpenVINO™ 工具套件。

图 1:视觉边缘洞察模块

EIV 安装三大模块

  • Docker
  • Intel® GPU drivers
  • The Intel® Distribution of OpenVINO™ toolkit (OpenVINO™) Docker image 2023.0

入门指南

按照此分步指南在 Linux* 上为您的目标系统安装英特尔® EIV。完成本指南后,您就可以在英特尔®处理器、iGPU 和英特尔®锐炫™显卡上试用示例应用程序了。

建议的系统要求

  • 处理器

第 10代 – 第 13 代智能英特尔®酷睿™处理器

英特尔®处理器 N 系列

英特尔®酷睿™ i3 处理器 N 系列

英特尔®锐炫™ A 系列显卡

  • 至少 8GB 内存
  • 至少 64GB 硬盘
  • 互联网连接
  • Ubuntu* 20.04 英特尔物联网或 Ubuntu* 22.04 英特尔物联网

准备目标系统

注意:如果主显示器设置为 dGPU,Ubuntu 22.04 安装将冻结。某些设备,例如ASUS IoT PE3000G具有默认的dGPU作为主显示器。在 BIOS 菜单中,选择高级 -> 图形配置 -> 主显示器,然后选择“IGFX”。保存更改并重新启动系统。接下来,继续安装 Ubuntu 22.04 和 EIV。EIV安装完成后,如果您希望使用dGPU作为主显示器,请转到BIOS并切换回“PEG插槽”。

确保目标系统具有全新的操作系统安装。请按照以下步骤安装 Ubuntu 操作系统:

将适用于英特尔硬件的 Ubuntu v20.04-IoT or Ubuntu v22.04-IoT Desktop ISO file下载到开发人员工作站。

  • 使用映像应用程序(如 balenaEtcher 应用程序)创建可启动闪存驱动器。
  • 刷新 USB 闪存驱动器后,关闭目标系统的电源,插入 USB 闪存驱动器,然后打开目标系统的电源。如果目标系统未从 USB 闪存驱动器启动,请在系统 BIOS 中更改启动优先级。
  • 按照提示安装具有默认配置的操作系统。有关详细说明,请参阅本指南。
  • 在代理环境中,请确保已在 /etc/环境中设置代理。

显卡驱动安装含EVI (如已安装Ubuntu 22.04 请直接从此处安装)。

在目标系统上运行以下命令以安装 EIV。

1. 安装 git 和 git 将 EIV 存储库克隆到 Ubuntu 系统中。


sudo apt -y install gitGit clone https://github.com/intel/edge-insights-vision.git

2. 更新系统上的软件包。


sudo apt-get update

3. 安装 python3-pip。


sudo apt-get -y install python3-pip

4. 将目录更改为edge-insights-vision并安装需求包。


cd edge-insights-visionpip3 install -r requirements.txt
图 2:安装需求包

5. 安装 EIV。

如果您的系统具有 dGPU,它会将您的内核升级到 6.2.8,并且您的系统将在安装过程中重新启动。重新启动后如果没有跑到100%, 请重复执行此命令 (由于需要重启,请在开始安装之前保存您的工作。) 


python3 eiv_install.py

PS. 中国区用户请将eiv_install.py 档第·25行  


def connect(host='http://google.com'):

改成


def connect(host='https://baidu.com'):

6. 安装完成后重新启动系统。

图3:成功安装EIV

如果 GPU 驱动程序未显示版本,请重新启动系统并运行此命令以查看驱动程序版本。


clinfo | grep 'Driver Version'

运行 Jupyter 笔记本教程

按照以下步骤启动 Jupyter 笔记本并运行基本教程以验证目标系统是否正常工作。

1. 成功安装后,将launch_notebooks.sh脚本更改为可执行文件并运行启动器脚本,如下所示:


cd edge-insights-vision
chmod +x launch_notebooks.sh
./launch_notebooks.sh

2. 打开浏览器并粘贴下面突出显示的 URL 以打开 Jupyter 笔记本。

图 4: Output of launch_notebooks.sh

3. 如果您在浏览器中看到以下页面代表所有 OpenVINO notebooks都可以用了。

图 5: Jupyter Notebook in the browser

4. 如果打开“notebooks”文件夹,则可以看到所有可用笔记本的列表。

5. 选择 notebook 236-stable-diffusion-v2/236-stable-diffusion-v2-optimum-demo-comparison.ipynb

6. 它允许从文字描述生成图像,并有助于比较在 CPU 和独立 GPU 上运行不同管道时的性能。

7. 在“显示可用设备信息”步骤中,您可以看到所有设备,这些设备可用于在此PC上进行推理。由于我的电脑中安装了独立的 GPU,因此列表中有 GPU.1 Intel (R) Arc (TM) Pro A40/A50。

8. 在此notebook中执行的第一个模型是托管在 Hugging Face 上的预训练 Pytorch 模型。https://huggingface.co/stabilityai/stable-diffusion-2-1 在此单元中,使用standard Stable Diffusion Pipeline在CPU上执行。

9. 它通过文本描述生成图像,如下所示,在我的电脑上推理大约需要 2 分钟。

10. 下一步使用OpenVINO进行稳定扩散 为此,将同一模型转换为 OpenVINO IR(Intermediate Representation)格式,并使用 OpenVINO 稳定扩散管道。CPU 用于推理。

对比于使用前已有了显着速度的改进,只需 1 分 16 秒。因此,仅应用 OpenVINO Stable Diffusion Pipeline,性能就提高了近 2 倍。

11. 最后一个实验是在刚装好的显卡上运行Stable Diffusion。将 GPU 设置为推理设备并运行这几行代码

可以在森林中看到新的红色汽车和进一步的性能改进!这次只需要43秒, 对比于原来的2分钟有了60%以上的提升

总  结

本文介绍如何使用EIV 用5行指令在快速搭建含英特尔显卡及OpenVINO的AI开发环境。并借由文生图模型Stable Diffusion说明了OpenVINO如何优化其推理速度。

如果您有兴趣生成更多图像,学习OpenVINO并评估设备上生成AI的性能,我鼓励您访问 https://github.com/intel/edge-insights-vision 并尝试自己运行OpenVINO!