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

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

作者 | Pure Storage

编译 | 岳扬

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

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

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

01 NPU 是什么?

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

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

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

信不信由你,这张幻灯片是从 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 与 GPU 相比,有什么差别?| 技术速览_AI_03

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

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