在Meteor Lake上测试基于Stable Diffusion的AI应用

news2024/11/16 15:49:48

上个月刚刚推出的英特尔新一代Meteor Lake CPU,预示着AI PC的新时代到来。AI PC可以不依赖服务器直接在PC端处理AI推理工作负载,例如生成图像或转录音频。这些芯片的正式名称为Intel Core Ultra处理器,是首款配备专门用于处理人工智能任务的 NPU(神经处理单元)的芯片。

为了更好地了解Meteor Lake CPU,我们测试了英特尔适用于 Audacity 和 GIMP(开源音频和图像编辑器)的 OpenVINO 插件和其它相关的AI应用,包含仅 CPU 模式、NPU 模式和 GPU 模式下运行了所有测试。我们进行的测试有:

  • OpenVINO Stable Diffusion:在 GIMP 中生成图像。
  • OpenVINO Noise Reduction:消除 Audacity 中的背景噪音。
  • OpenVINO Music Generation: Audacity 中的文本转音乐功能。
  • OpenVINO Whisper Transcription:在 Audacity 中将音频转录为文本。
OpenVINO

OpenVINO™是英特尔针对自家硬件平台开发的一套深度学习工具库,包含推断库,模型优化等等一系列与深度学习模型部署相关的功能。OpenVINO™工具包是用于快速开发应用程序和解决方案的综合工具包,可解决各种任务,包括模拟人类视觉,自动语音识别,自然语言处理,推荐系统等。该工具包基于最新一代的人工神经网络,包括卷积神经网络(CNN),循环和基于注意力的网络,可在英特尔®硬件上扩展计算机视觉和非视觉工作负载,从而最大限度地提高性能。它通过从边缘到云的高性能,人工智能和深度学习推理来加速应用程序。OpenVINO 插件专门识别 Meteor Lake 笔记本电脑的 NPU 并将其作为设备选项呈现。值得注意的是,虽然 OpenVINO 软件/插件可以在任何 x86 硬件上运行,最新的几个版本甚至加入了对Arm平台的支持,但它们专门针对 Intel CPU 和 GPU 进行了优化所以会有更好的性能。

测试 1:基于Stable Diffusion的GIMP 图像生成

图片来源:Tom’s Hardware

为 GIMP 安装英特尔的 OpenVINO 插件是一项相对复杂的任务,本文不包含如何在GIMP里安装OpenVINO插件,具体的安装过程我会再写另外一篇博文来阐述,也可参阅此Github项目。插件安装设置完成后,GIMP 将具有四个 OpenVINO 插件:Semantic-Segmentation、Style-Transfer、Super-Resolution和Stable-Diffusion。

Stable-Diffusion for GIMP 是一个图像生成器,需要 十几 秒到几分钟才能输出图像。在Stable-Diffusion里可以选择多种不同的模型,我们在测试中选择了 SD_1_5_square_int8,因为它是目前能支持Meteor Lake NPU 作为输出设备的模型之一。测试中发现SD_1_5_square_int8 的输出有点难看,因为它给你的看起来像是凌乱的手指画,而不是逼真的图像,但重点是看看它完成每项任务的速度有多快。

在使用Stable-Diffusion SD_1_5_square_int8 模型中,我们可以在Meteor Lake上选择四种不同的设备来处理输出的不同部分:Text部分使用GPU,Unet+使用GPU,Unet-使用NPU, VAE使用CPU。所有四个设备可以是相同的,也可以切换它们。

图片来源:Tom’s Hardware

当我们同时使用GPU和NPU时,在Meteor Lake 笔记本电脑上生成图像仅花费 16 秒。当我们单独使用 GPU 时,这些时间增加了几秒,而当我们使用 NPU 时,这些时间几乎增加了一倍(31秒)。单独使用 CPU 的时间是最高的,分别为 59.5 秒和 61 秒。

下图是使用SD_1_5_square_int8 模型驾驶汽车的猫时,会得到下图这样的结果。如果想要更好看的输出,则需要使用SD_1_5_square 等模型,它可以生成逼真的图像,但是这个模型目前还没有NPU的支持。

图片来源:Tom’s Hardware

测试 2:Whisper Transcription

图片来源:Tom’s Hardware

Audacity OpenVINO Whisper Transcription 插件将使用您的 CPU、GPU 或 NPU将剪辑中的语音转换为带有时间戳的文本文件。我们在测试中使用 Open AI 的 Whisper AI基本转录模型,因为这是插件内置的模型。两台Meteor Lake测试平台完成的时间为48.8秒和52.1秒。考虑到源材料的长度是原来的 23 倍以上,这已经相当不错了。

测试 3:Audacity OpenVINO Noise Reduction

图片来源:Tom’s Hardware

Audacity 插件 OpenVINO 噪声抑制可消除剪辑中的背景噪声。因此,我们选取​​了用于转录的23 分钟音频片段,并在其上运行了噪声抑制插件。运行噪声抑制插件时,可以选择 CPU、GPU 或 NPU 作为处理设备。但每次转录只能使用一个设备,因此不会混合 GPU 和 NPU 或 CPU 和 GPU。两台Meteor Lake测试机器的完成时间分别为934秒和1054秒。

这是一个相当 CPU 密集型的工作负载,因为我们看到处于 CPU 模式的笔记本电脑的工作负载最高。在 NPU 上运行并没有什么帮助。 Swift Go 和 IdeaPad Pro 5i 在 NPU 模式下运行速度都非常慢。

测试 4:OpenVINO Music Generation

图片来源:Tom’s Hardware

Audacity 的其他有趣的 OpenVINO 插件之一使用 Stable Audio(Stability AI 的音乐模型)根据文本提示生成曲调。在我们的测试中,要求一首 30 秒的歌曲,提示为“爵士乐”,6 个插值步骤和 20 个推理步骤。这里有五种不同的设备设置:Text Encoder Device、Unet + Device、Unet – Device、VAE Decoder Device和 VAE Encoder Device。您可以选择 CPU、GPU 或(在 Unet + / – 上)NPU。 两台Meteor Lake的测试成绩分别为55秒和57秒。

图片来源:Tom’s Hardware

NPU 减轻 CPU 负担

NPU还有另外一个更大的价值在我们前面的测试中并未体现出来,那就是它如何减轻 CPU 的负载。例如,当我们在 Acer Swift 14 Go 上运行 NPU 专用工作负载并打开任务管理器时,CPU 利用率仅为 2%,而 NPU 利用率为 100%。

图片来源:Tom’s Hardware

但当我在 CPU 模式下运行相同的工作负载时,处理器在任务期间被固定在 60%。

图片来源:Tom’s Hardware

由此可见,当把AI的工作负载放到NPU上执行时,能极大地释放CPU的工作量。如果我们不插电,依靠 NPU 可能会节省电量以延长电池寿命。此外,随着 NPU 承担 AI 工作负载,CPU 可以自由地做其他事情。

Meteor Lake

作者的个人Blog(HY's Blog):https://blog.yanghong.dev

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1423727.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java EE 5 SDK架构

Java EE 5 SDK架构 大型组织每天都要处理大量数据和多用户的相关事务。为管理该组织如此大型而又复杂的系统,开发了企业应用程序。企业应用程序是在服务器上托管的应用程序,通过计算机网络同时向大量用户提供服务。这种应用程序可采用各种技术开发,如Java EE 5。Java EE 5平…

Git--07--GitExtension

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、GitExtension下载GitExtension官网下载教程 二、GitExtension安装三、GitExtension配置四、GitExtension使用 一、GitExtension下载 官网下载: http…

day38 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

动态规划是前一个状态推导过来的&#xff0c;贪心是局部最优解。 class Solution { public:int fib(int n) {int a0;int b1;int res0;if(n1) return 1;for(int i2;i<n;i){resab;ab;bres;}return res;} }; 可以由前面状态推出后面状态&#xff0c;是动态规划。由于始终只要后…

【正点原子STM32】IWDG 独立看门狗(简介、工作原理、IWDG寄存器配置操作步骤、IWDG溢出时间计算、IWDG配置步骤、独立看门狗流程)

一、IWDG简介 IWDG有什么作用&#xff1f; 二、IWDG工作原理 三、IWDG框图 四、IWDG寄存器 键寄存器&#xff08;IWDG_KR&#xff09;预分频器寄存器 (IWDG_PR)重装载寄存器(IWDG_RLR) 状态寄存器(IWDG_SR) 寄存器配置操作步骤 五、IWDG溢出时间计算 IWDG溢出时间计算公式…

delphi fmxui 做的一些跨平台app

pascal语音显然已经没落&#xff0c;但delphi还在坚挺着&#xff0c;每年都会发布新版本&#xff0c; 主要是做跨平台应用。 如果你觉得qt qml 写android app 比较麻烦&#xff0c;那可以尝试delphi 12&#xff0c;可以用c builder 尝试 android&#xff0c;ios 开发 下面的…

burp靶场--xss下篇【16-30】

burp靶场–xss下篇【16-30】 https://portswigger.net/web-security/all-labs#cross-site-scripting 实验16&#xff1a;允许使用一些 SVG 标记的反射型 XSS ### 实验要求&#xff1a; 该实验室有一个简单的反射型 XSS漏洞。该网站阻止了常见标签&#xff0c;但错过了一些 S…

基于flask的个人博客项目从0到1

项目展示(持续完善中…) 首页 文章时间线页面 笔记页面 留言页面 关于页面 后台页面-文章管理 后台页面-笔记页面 后台页面-分类 后台管理-新增标签 后台管理-标签页面 后台管理-新增标签 后台管理-关于页面 2.项目详述 该博客开源地址点击跳转&#xff0c;该项目已部署上…

分析HarmonyOS应用/服务的CPU活动性能

CPU Profiler 性能分析是用来分析CPU性能瓶颈的工具&#xff0c;可以实时查看应用/服务的CPU使用率和线程活动&#xff0c;也可以查看记录的方法跟踪数据、方法采样数据和系统跟踪数据的详情。基于CPU性能分析&#xff0c;您可以了解在一段时间内执行了哪些方法&#xff0c;以及…

伦敦银交易时遇到横盘震荡行情怎么办?

做伦敦银的投资者很怕碰到震荡行情&#xff0c;因为我们做伦敦银交易&#xff0c;一般会去寻找高概率入场的机会&#xff0c;而发现高概率机会的方法多数是建立在顺势交易的基础上。什么方法对应什么样的行情&#xff0c;那应对横盘震荡&#xff0c;我们该怎么办呢&#xff1f;…

福布斯财富增长榜前十富豪身价暴增3.5万亿!他们致富的秘诀究竟是?

按照《福布斯》最新的数据显示&#xff0c;今年全球前十位财富增长最多的富豪的身家总共增加了4900亿美元&#xff08;约3.5万人民币&#xff09;&#xff0c;大家可能对于3.5万亿没什么概念&#xff0c;但是换算一下&#xff0c;中国一共才14亿人&#xff0c;如果把这3.5万亿平…

探讨Go语言在构建HTTP代理时的优势和挑战

亲爱的读者&#xff0c;让我们一起来探讨一下Go语言在构建HTTP代理时的优势和挑战。 首先&#xff0c;让我们来谈谈Go语言在构建HTTP代理时的优势。Go语言是一种高性能的编程语言&#xff0c;它具有简洁、高效的特点&#xff0c;非常适合构建高效的代理服务器。使用Go语言&…

SAM:基于 prompt 的通用图像分割模型

Paper: Kirillov A, Mintun E, Ravi N, et al. Segment anything[J]. arXiv preprint arXiv:2304.02643, 2023. Introduction: https://segment-anything.com/ Code: https://github.com/facebookresearch/segment-anything SAM 是 Meta AI 开发的一款基于 prompt 的通用视觉大…

笔记---中国剩余定理

全程学自y总 AcWing.204.表达整数的奇怪方式 给定 2 n 2n 2n 个整数 a a a1, a a a2,…, a a an 和 m m m1, m m m2,…, m m mn&#xff0c;求一个最小的非负整数 x x x&#xff0c;满足 ∀ i ∈ [ 1 , n ] , x ≡ m ∀i∈[1,n],x≡m ∀i∈[1,n],x≡mi ( m o d a (mod a (…

AI-数学-高中-14-函数零点存在定理和运用

原作者视频&#xff1a;【函数综合】【考点精华】1零点存在性定理的运用&#xff08;基础&#xff09;_哔哩哔哩_bilibili 1.定义&#xff1a; 2.零点存在定义&#xff1a; 2.函数零点与图像焦点的转化 零点如果不好求&#xff0c;将函数化成两个函数再画图&#xff0c;看函数…

Elasticsearch:构建自定义分析器指南

在本博客中&#xff0c;我们将介绍不同的内置字符过滤器、分词器和分词过滤器&#xff0c;以及如何创建适合我们需求的自定义分析器。更多关于分析器的知识&#xff0c;请详细阅读文章&#xff1a; 开始使用 Elasticsearch &#xff08;3&#xff09; Elasticsearch: analyzer…

uni-app在hbuilderx打开微信开发工具运行

一、运行设置配置微信开发者工具路径 运行-运行到小程序模拟器-运行设置 配置微信开发工具的安装路径&#xff08;可浏览文件位置选择&#xff09;&#xff1b;web服务器端口号在第二步骤获得&#xff1b; 二、打开微信开发者工具设置-安全设置 打开服务端口开关&#xff0…

C# webbrowser控件设置代理IP访问网站

目录 前言 一、WebBrowser控件简介 二、代理IP简介 三、设置WebBrowser控件的代理IP 1. 引入相关命名空间 2. 定义修改代理IP的函数 3. 修改代理IP 4. 取消代理IP设置 四、使用WebBrowser控件访问代理IP 五、完整示例代码 总结 前言 C# WebBrowser控件是一个非常常…

Linux+服务器后台运行程序

在Linux服务器直接运行程序&#xff0c;程序运行的时间较长&#xff0c;程序经常会因为网络连接问题异常终止&#xff0c;一直盯着程序运行又费时费力&#xff0c;这时后台运行程序是更好的解决方式。But&#xff0c;如果服务器重启了&#xff0c;那所有进程都断掉了&#xff0…

ArrayList集合初始化长度是多少,初始化的时候分配内存空间吗

ArrayList一旦初始化&#xff0c;在内存中就会分配空间吗 是的&#xff0c;当ArrayList在Java中初始化时&#xff0c;即使它没有添加任何元素&#xff0c;也会立即分配内存空间。具体来说&#xff0c;对于默认构造函数创建的ArrayList&#xff08;即不指定初始容量&#xff09…