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

上个月刚刚推出的英特尔新一代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.mfbz.cn/a/358967.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

外包干了8个月,技术退步明显...

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

Java 的 Map 與 List

通過重新new 一個ArrayList 轉化 resTask.setList(new ArrayList<Group>(custMap.values())); 无序的Map List 有序的数据放到Map&#xff0c;就变成无序。 List排序 按照code 的字母进行排序A-Z resTask.getListData().sort(Comparator.comparing(Gmer::getCode));…

深度强化学习(王树森)笔记08

深度强化学习&#xff08;DRL&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。本文在ChatGPT辅助下完成。 参考链接 Deep Reinforcement Learning官方链接&#xff1a;https://github.com/wangshusen/DRL 源代码链接&#xff1a;https://github.c…

【论文阅读|半监督小苹果检测方法S3AD】

论文题目 &#xff1a; : Semi-supervised Small Apple Detection in Orchard Environments 项目链接&#xff1a;https://www.inf.uni-hamburg.de/en/inst/ab/cv/people/wilms/mad.html 摘要&#xff08;Abstract&#xff09; 农作物检测是自动估产或水果采摘等精准农业应用不…

盘点热门的GPTS智能体,生产力远超原生ChatGPT4

OPENAI开放了GPTS智能体商店&#xff0c;类似于appstore的应用商店&#xff0c;在GPTS商店里面你可以发现并创建自定义版本的ChatGPT&#xff0c;这些版本结合了指令、额外知识和任何技能组合&#xff01; 本周精选 GPTS智能体不仅可以通过API的方式将你的私有化的数据和能力…

双链表的基本知识以及增删查改的实现

满怀热忱&#xff0c;前往梦的彼岸 前言 之前我们对单链表进行了非常细致的剖析&#xff0c;现在我们所面临的则是与之相对应的双链表&#xff0c;我会先告诉诸位它的基本知识&#xff0c;再接着把它的增删查改讲一下&#xff0c;ok&#xff0c;正文开始。 一.链表的种类 我…

机器学习和深度学习中的normalization(归一化)

在机器学习和深度学习中&#xff0c;normalization&#xff08;归一化&#xff09;是一种重要的数据预处理步骤&#xff0c;它的目的是改变数值数据的形式&#xff0c;以使其在一个固定的范围内&#xff0c;通常是 0 到 1&#xff0c;或者使其均值为 0&#xff0c;标准差为 1。…

Jenkins+Python自动化测试持续集成详细教程

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

基于Prompt Learning的信息抽取

PTR: Prompt Tuning with Rules for Text Classification 清华&#xff1b;liuzhiyuan&#xff1b;通过规则制定subpromptRelation Extraction as Open-book Examination: Retrieval-enhanced Prompt Tuning Relation Extraction as Open-book Examination: Retrieval-enhance…

JSP在线阅读系统myeclipse定制开发SQLServer数据库网页模式java编程jdbc

一、源码特点 JSP 小说在线阅读系统是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库 &#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为SQLServer2008&#…

KubeSphere 核心实战之四【在kubesphere平台上部署Ruoyi-cloud项目】(实操篇 4/4)

**《KubeSphere 核心实战系列》** KubeSphere 核心实战之一&#xff08;实操篇 1/4&#xff09; KubeSphere 核心实战之二&#xff08;实操篇 2/4&#xff09; KubeSphere 核心实战之三&#xff08;实操篇 3/4&#xff09; KubeSphere 核心实战之四&#xff08;实操篇 4/4&…

学会用Python分割、合并字符串

在很多情况下&#xff0c;我们需要对字符串进行分割或合并&#xff0c;以满足特定的需求&#xff0c;例如将字符串拆分成多个部分、将多个字符串合并成一个等等。Python提供了多种方法来进行字符串的分割和合并&#xff0c;本文将介绍其中几种常用的方法。 一、使用split()函数…

深度解析C++引用究竟是什么

首先看一段代码&#xff1a; #include<iostream> using namespace std; void fun(int*a){} void fun(int&a){} int main(){int a10;fun(&a);fun(a); }我们查看它的汇编结果时会发现引用和指针传参整个过程的汇编是一模一样的 我们再看下面这段代码&#xff1a…

HBase(docker版)简单部署和HBase shell操作实践

文章目录 说明HBase部署访问HBase Shell常见命令数据定义语言(DDL) 数据操作语言(DML)通用操作访问HBase WebUI 说明 本文适合HBase初学者快速搭建HBase环境&#xff0c;练习常见shell使用本文参考资料 《大数据技术原理和应用》&#xff08;林子雨 编著 第三版&#xff09;zh…

C++ 滑动窗口

目录 1、209. 长度最小的子数组 2、3. 无重复字符的最长子串 3、1004. 最大连续1的个数 III 4、1658. 将 x 减到 0 的最小操作数 5、904. 水果成篮 6、438. 找到字符串中所有字母异位词 7、30. 串联所有单词的子串 8、76. 最小覆盖子串 1、209. 长度最小的子数组 思路&…

存储监控工具:监控存储区域网络(SAN)

从托管应用程序到提供大型多媒体服务&#xff0c;组织都依靠其 IT 基础架构来提供无与伦比的最终用户体验。为了提供这种卓越的体验&#xff0c;必须大大提高应用程序的可用性和性能。在许多其他挑战中&#xff0c;存储区域网络 &#xff08;SAN&#xff09; 正好用于应对这些挑…

TPCC-MySQL

简介 TPC-C是专门针对联机交易处理系统&#xff08;OLTP系统&#xff09;的规范&#xff0c;一般情况下我们也把这类系统称为业务处理系统。 Tpcc-mysql是percona基于TPC-C(下面简写成TPCC)衍生出来的产品&#xff0c;专用于MySQL基准测试。其源码放在launchpad上&#xff0c…

使用xlsx、xlsx-style导出表格添加背景色;合并单元格部分样式缺失问题解决

这篇说一下使用xlsx-style导出excel时样式的设置。需要安装xlsx、xlsx-style、file-saver插件&#xff08;file-saver可以不装&#xff0c;用a标签代替也可以&#xff09;&#xff0c;安装时可能会碰到一些报错问题&#xff0c;可以去看下我之前一篇博客&#xff1a;纯前端导出…

C语言之刷到的怪题(i与sizeof(i)比较大小)

这个题目一般都是选择输出<。为什么呢&#xff1f;因为i是一个全局变量&#xff0c;并且没有初始化&#xff0c;那么i的值就等于0。i--之后就是-1了。而sizeof(i)求出的就是整形变量对应的大小4个字节。-1<4&#xff0c;因此就选择 输出<。其实不然&#xff0c;这个si…

QEMU - e1000全虚拟化前端与TAP/TUN后端流程简析

目录 1. Host -> Guest 2.Guest ->Host 3. 如何修改以支持TUN设备的后端&#xff1f; 4. 相关 QEMU 源码 5. 实验 1. Host -> Guest 2.Guest ->Host 3. 如何修改以支持TUN设备的后端&#xff1f; 1. 简单通过后端网卡名字来判断是TUN还是TAP。 2. 需要前端全…
最新文章