NPU 与 GPU 相比,有什么差别?| 技术速览

编者按: 随着2024年被业界誉为“AI PC元年”,各大笔记本电脑厂商纷纷推出搭载NPU的全新AI PC,而在介绍产品性能时,“NPU”一词频频被提及。但NPU和我们所熟知的GPU之间的区别究竟是什么?

我们今天为大家分享的这篇文章将和大家一起初探NPU vs GPU。简而言之,NPU专为加速AI任务而设计,包括深度学习和推理,能够高效地处理大量数据,并利用专用存储器快速执行复杂的AI算法。与GPU相比,NPU体积更小、成本更低、能耗更小,且在特定AI任务中表现更优。

作者 | Pure Storage

编译 | 岳扬

如今,人工智能领域的软硬件很多都是专门为人工智能及神经网络操作的优化而定制的。这其中就包括神经网络处理单元(NPU),大家通常会将这种硬件与图形处理器(GPU)进行对比,因为两者都能加快人工智能任务的处理速度。NPU 这种硬件已经越来越常见了,它们专门为高效完成AI/ML任务而设计。但它们之间究竟有何不同呢?

接下来,我们将简要探讨 NPU 和 GPU 的区别,并考察、分析每种处理器的优势和不足。

01 NPU 是什么?

NPU 是神经网络处理单元(Neural Processing Unit)的缩写,这是一种用于提升人工智能和神经网络相关任务性能的专用硬件组件。

乍听之下,NPUs 可能会被误认为是仅限于科研实验室或军事基地的高科技产品,但实际上,虽然 NPUs 是一项较新的技术,但它们正变得越来越常见。不久之后,我们就能在台式机和笔记本电脑中见到 NPUs 的身影。目前,大多数现代智能手机,如近几年的 iPhone、Google Pixel 和三星 Galaxy,都已经在其主 CPU 中集成了 NPUs。

信不信由你,这张幻灯片是从 2013 年高通的 SoC(System-on-a-Chip)展示会上截取的。而“NPU”这一术语直到十年后才开始受到广泛关注。

NPU(神经网络处理单元)支持神经网络引擎和网络算法,正如其名称所示,这些算法不仅可用于已高度成熟的应用场景,比如自动驾驶(autonomous driving)和自然语言处理(NLP),也应用于人脸识别、语音识别和图像处理等日常生活场景。

02 GPU 是什么?

GPU 是图形处理单元(Graphics Processing Unit)的缩写。最初是为电子游戏和多媒体应用程序中的图形渲染场景而设计开发的,但现在 GPU 的用途已经被大大扩展,被广泛应用于各种需要并行处理复杂计算的应用场景。

GPU 的独特优势在于能够快速高效地并行处理数千个小任务,非常适合处理需要大量并行计算的复杂任务,比如图形渲染(rendering graphics)、物理模拟(simulating physics),甚至训练神经网络(training neural networks)。

03 NPU 与 GPU 的架构差异

从硬件架构上看,NPU 比 GPU 更适合进行并行计算。NPU 拥有更多的小型处理单元(smaller processing units),与 GPU 相比,还配备有专门的内存体系结构(memory hierarchies)和数据流优化策略(data flow optimizations),使得它们对深度学习任务的处理特别高效。相比之下,GPU 具有更多的多功能内核(versatile cores),这些内核通常可并行处理多种计算任务,但 NPU 对神经网络算法进行了针对性的优化设计。

NPU 特别擅长处理短期且重复性的任务。集成到现代计算机系统中后,NPU 可以减轻 GPU 处理神经网络时固有矩阵运算的负担,使 GPU 能够专注于图形渲染或通用计算任务。

与 GPU 相比,NPU 在密集型深度学习计算任务中表现更佳。自然语言处理(NLP)、语音识别和计算机视觉等应用场景均是 NPU 相对于 GPU 表现更佳的领域。GPU 的架构更为通用,但在处理大语言模型或边缘计算应用时可能难以与 NPU 相匹敌。

04 NPU 与 GPU 的性能差异

将它们直接进行比较时,NPU 与 GPU 最大的性能差异体现在功耗和移动设备的电池续航时间上。由于 NPU 是专门为神经网络操作而设计的,因此 NPU 能够以与 GPU 相近的处理速度完成同样的计算任务,但是消耗的电量要少得多。

NPU 和 GPU 在处理神经网络任务时表现出的不同性能,主要是因为神经网络本身的特点和应用需求,而不是简单地归因于这两种硬件架构上的不同。NPU 在硬件架构上针对 AI/ML 计算任务进行了优化,因此在处理最复杂的计算任务(如深度学习模型的推理和训练)时超越 GPU。

NPU内置的专门用于矩阵乘法(matrix multiplications)和激活函数(activation functions)的硬件,使得在实时语言翻译、自动驾驶汽车🚗图像识别以及医疗图像分析等任务中,NPU在性能和效率上均优于GPU。

05 如何集成?数据存储方面的需求如何?

在企业层面,NPU 可以融入现有的基础设施和数据处理流程。NPU 可与 CPU、GPU 及其他计算加速硬件共同部署于数据中心,共同为 AI 任务提供强大的算力。然而,当所有 AI/ML 计算任务都被整合到企业数据中心中时,可能会出现数据访问和数据存储等方面的问题。

经过全面优化的 NPU 和 GPU 在处理 AI/ML 计算任务时可以以极快的速度处理数据,以至于传统的存储系统可能难以跟上,从而导致数据检索和处理出现潜在瓶颈(potential bottlenecks)。

在实际应用中,NPU 并不需要特定的数据存储基础设施 —— 然而,要以峰值效率运行 NPU,则必须让它们能够极其快速地访问庞大的数据集。NPU在执行 AI/ML 任务时,需要大量数据来训练模型,并对新数据进行准确预测,同时要求快速的数据排序、分类、访问、修改和存储能力。企业级的解决方案通常是采用闪存存储(flash storage)和全托管的存储基础设施(holistically managed storage infrastructures)。

简而言之,NPU 是专门为执行神经网络操作而设计和构建的,因此在处理与 AI/ML 操作相关的小型重复性任务时特别有效。

乍一看,GPU 与 NPU 很相似:都是为同时执行小型操作而设计的硬件组件。然而,由于 NPU 对矩阵乘法和激活函数这样的任务进行了针对性的优化,因此在神经网络的计算任务方面具有明显优势。这使得 NPU 在处理深度学习计算任务方面优于 GPU,尤其是在功耗和处理速度方面。

原文链接:

https://www.techspot.com/news/103413-npu-vs-gpu-what-difference.html

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

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

相关文章

电水壶自复位热断循环测试合规性

在家用电器安全标准中,电水壶的安全性尤为重要,尤其是涉及热保护装置的部分。电水壶在日常使用中频繁接触高温水,极端情况下,温度可能异常升高。因此,为了确保用户的安全,热保护装置必须可靠工作。本文将探讨自复位热断路器(TCO)在电水壶中的作用,以及在100次循环测试…

如何在 Selenium 中获取网络调用请求?

引言 捕获网络请求对于理解网站的工作方式以及传输的数据至关重要。Selenium 作为一种 Web 自动化工具,可以用于捕获网络请求。本文将讨论如何使用 Selenium 在 Java 中捕获网络请求并从网站检索数据。 我们可以使用浏览器开发者工具轻松捕获网络请求或日志。大多数现代 Web…

Jupyter管理内核命令

1.显示有哪些内核 jupyter kernelspec list2.删除某个内核 jupyter kernelspec remove xxx3.添加某个内核 先激活环境 conda activate test_env然后安装ipykernel包 pip install ipykernel在虚拟环境中安装ipykernel包 python -m ipykernel install --name test_env安装过…

creating chat agent with langchain and openai getting no attribute error

题意: 使用 LangChain 和 OpenAI 创建聊天代理时遇到“没有属性错误”(Getting "no attribute" error when creating a chat agent with LangChain and OpenAI) 问题背景: Im trying to test a chat agent using the …

房产销售系统|基于java和vue的房产销售系统(源码+数据库+文档)

房产销售|房地产|卖房系统 目录 基于java和vue的房产销售系统 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师,…

【hot100】力扣hot100部分题解

1.和为k的子数组 题目链接 注意:题目是连续的子数组。 因为数据有负数,用滑动窗口不太好做。 所以用数组前缀和。 数组前缀和就是从第1位到当前位的子数组的和。 每次遍历更新到当前位之前的前缀和,以对象的形式存储(key为前缀和&…

【0323】Postgres内核之 hash table sequentially search(seq_scan_tables、num_seq_scans)

0. seq scan tracking 我们在这里跟踪活跃的 hash_seq_search() 扫描。 需要这种机制是因为如果扫描正在进行时发生桶分裂(bucket split),它可能会访问两次相同的条目,甚至完全错过某些条目(如果它正在访问同一个分裂的桶中的条目)。因此,如果正在向表中插入数据,我们…

95分App全程正品保障,赋能闲置消费新风尚

在当今快节奏、高消费的时代,闲置经济正以前所未有的速度崛起,成为新一代消费者的新宠。越来越多的年轻人开始拥抱闲置商品,将“断舍离”与“物尽其用”的理念融入日常生活,催生了闲置交易市场的空前繁荣。曾几何时,购…

【iOS】UIViewController的生命周期

UIViewController的生命周期 文章目录 UIViewController的生命周期前言UIViewController的一个结构UIViewController的函数的执行顺序运行代码viewWillAppear && viewDidAppear多个视图控制器跳转时的生命周期pushpresent 小结 前言 之前对于有关于UIViewControlller的…

OpenXR Monado创建跨进程通信通道 ipc_connect

OpenXR Monado创建跨进程通信通道 ipc_connect monado/src/xrt/targets/openxr/target.c xrt_instance_create monado/src/xrt/ipc/client/ipc_client_instance.cipc_instance_create(ii, out_xinst);ipc_connectipc_c->ica ipc_client_android_create(android_globals_ge…

补:在Spring Boot 当中使用 Thymeleaf 视图解析器

补&#xff1a;在Spring Boot 当中使用 Thymeleaf 视图解析器 想要在 Spring Boot 当中使用 Thymeleaf 视图&#xff0c;就需要导入相关的 jar 依赖。在 pom.xml 文件中配置 。 <!-- 引入 thymeleaf-start ,项目会自动完成配置&#xff0c;--><dependency>…

网络操作系统项目

部署与管理Active Directory 项目基础知识 活动目录是一种由微软开发的网络服务&#xff0c;用于在网络环境中管理和组织用户、计算机和其他网络资源。它是基于目录服务的概念&#xff0c;类似于电话号码簿。 活动目录主要用于集中管理网络中的用户帐户、组织单位、计算机、打…

统一建模语言UML之类图(Class Diagram)(表示|关系|举例)

文章目录 1.UML2.Class Diagram2.1 类图的表示2.2 类间的关系2.2.1 关联2.2.2 聚合2.2.3 组合2.2.4 泛化&#xff08;继承&#xff09;2.2.5 实现&#xff08;接口实现&#xff09;2.2.6 依赖 2.3 类图的作用 参考&#xff1a;Class Diagram | Unified Modeling Language (UML)…

使用 Watchdog 实现 Python 程序的自动重载

在开发 Python 程序时,特别是在开发图形用户界面(GUI)应用时,我们经常需要频繁修改代码并查看效果。每次修改后手动重启程序既耗时又繁琐。本文将介绍如何使用 Watchdog 库来实现 Python 程序的自动重载,大大提高开发效率。 什么是 Watchdog? Watchdog 是一个 Python 库…

大数据新视界 --大数据大厂之Flink强势崛起:大数据新视界的璀璨明珠

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

力扣---80. 删除有序数组中的重复项 II

给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明&…

electron react离线使用monaco-editor

1.安装monaco-editor/react和monaco-editor pnpm i monaco-editor/react pnpm i monaco-editor 2.引入并做monaco-editor离线配置 import Editor, { DiffEditor, useMonaco, loader } from monaco-editor/react import * as monaco from monaco-editor import editorWorke…

软考 -- 软件设计师 -- 二轮复习(3) -- 数据结构(持续更新)

软考 – 软件设计师 – 二轮复习(3) – 数据结构(持续更新) 文章目录 软考 -- 软件设计师 -- 二轮复习(3) -- 数据结构(持续更新)前言一、时间、空间复杂度二、递归式时间复杂度三、线性表四、栈五、栈和队列六、串七、朴素模式匹配八、KMP模式匹配九、数组十、矩阵十一、树、二…

C#基础(10)变长参数和参数默认值

前言 作为函数的补充知识点&#xff0c;我们已经学习了ref和out&#xff0c;接下来两节我们继续来讲函数相关的内容。本节则讲解变长参数和参数默认值。 函数语法 关键字&#xff1a;params public void PrintNumbers(params int[] numbers) {for 相关逻辑 } 注意 params…

MySql批量迁移数据库

导出数据库 将指定数据库实例&#xff08;MYSQL_HOST、MYSQL_PORT、MYSQL_USER、MYSQL_PASSWORD&#xff09;中的所有数据库&#xff08;表结构、数据&#xff09;导出到指定目录&#xff08;BACKUP_DIR&#xff09;下的多个单独的SQL脚本&#xff0c;每个SQL脚本名称即为数据…