当前位置: 首页 > news >正文

NPU 神经网络处理单元

在这里插入图片描述

Ⅰ 什么是 NPU?

当前正处于神经网络和机器学习处理需求爆发的初期。传统的 CPU(中央处理器)/GPU(图形处理器)可以执行类似任务,但专门为神经网络优化的 NPU(神经处理单元)比 CPU/GPU 表现好得多。逐渐地,类似的神经网络任务将由专用的 NPU 单元来完成。

NPU 是一种用于网络应用数据包的专用处理器,采用“数据驱动的并行计算”架构,尤其擅长处理视频和图像等大量多媒体数据。

NPU 也是一种集成电路,但与专用集成电路(ASIC)的单一功能不同,网络处理更加复杂、更具灵活性。通常,可以根据网络计算的特点使用软件或硬件进行特殊编程,以实现网络的特定目的。

NPU 的亮点在于能够运行多个并行线程——通过一些特殊的硬件级优化,NPU 被提升到了另一个层次,例如为一些真正不同的处理核心提供一些易于访问的缓存系统。这些大容量核心比典型的“常规”处理器更简单,因为它们不需要执行多种类型的任务。这一系列的“优化”使 NPU 效率更高,这就是为什么有如此多的研发投入到 ASIC 中的原因。

NPU 的优势之一是它们大部分时间都专注于低精度算法、新的数据流架构或内存计算能力。与 GPU 不同,它们更关注吞吐量而不是延迟。

Ⅱ NPU 的处理器模块

NPU 是专为物联网人工智能设计的,用于加速神经网络运算,解决传统芯片在神经网络运算中效率低下的问题。NPU 处理器包括以下模块:

  • 乘法和加法模块:用于计算矩阵乘法和加法、卷积、点积等功能。NPU 内部有 64 个 MAC(乘法累加器),SNPU 中有 32 个。
  • 激活函数模块:用于通过最高 12 阶参数拟合实现神经网络中的激活函数,NPU 内部有 6 个 MAC,SNPU 中有 3 个。
  • 二维数据操作模块:用于在平面上实现操作,如下采样和平面数据复制等。NPU 内部有 1 个 MAC 和 1 个 SNPU。
  • 解压缩模块:用于对加权数据进行解压缩。为了解决物联网设备内存带宽小的特点,在 NPU 编译器中对神经网络中的权重进行压缩,可以实现 6 - 10 倍的压缩效果,且对精度几乎没有影响。

Ⅲ NPU:手机 AI 的核心载体

众所周知,手机的正常运行离不开 SoC(系统级芯片)芯片,它只有指甲盖大小,却拥有所有的“内脏”。其集成模块共同工作,以支持手机功能的实现。CPU 负责手机应用的流畅切换,GPU 支持游戏画面的快速加载,而 NPU 专门负责 AI 计算和 AI 应用的实现。

这也有必要从华为说起,华为是第一家在手机上使用 NPU(神经网络处理单元)的公司,也是第一家将 NPU 集成到手机 CPU 中的公司。

2017 年,华为推出了自己的架构 NPU。与传统的标量和向量计算模式相比,华为自研架构 NPU 使用 3D Cube 对矩阵计算进行加速。因此,单位时间内计算的数据量更大,单位功耗下的 AI 算力更强,与传统的 CPU 和 GPU 相比实现了一个数量级的提升,实现了更好的能效比。

华为首先在 Mate10 上采用外挂的方式使用寒武纪的 NPU。一年后,华为将寒武纪的 NPU IP 集成到 980 中,又过了一年,华为在 990 上放弃寒武纪,使用自己的达芬奇 NPU。

三星 Galaxy 中的 NPU 也被内置到移动处理器中,以利用先进的神经网络,为 Galaxy S20/S20 +/S20 Ultra 和 Z Flip 提供更高水平的视觉智能。NPU 为场景优化器提供动力,增强了识别照片中内容的能力,并促使相机将其调整到适合拍摄对象的理想设置。它现在也比以前的 Galaxy 型号更准确。它还使前置摄像头能够模糊自拍照的背景并创建背景虚化效果。不仅如此,NPU 还帮助设备上的 AI Bixby Vision。

Ⅳ NPU 与 GPU 的比较

虽然 GPU 在并行计算能力方面具有优势,但它不能单独工作,需要 CPU 的协同处理。神经网络模型的构建和数据流仍然在 CPU 上进行。此外,还存在功耗高和体积大的问题。性能越高,GPU 越大,功耗越高,价格也越贵,这对于一些小型设备和移动设备来说是不可用的。因此,一种体积小、功耗低、计算性能高、计算效率高的专用芯片 NPU 应运而生。

NPU 通过在电路层模拟人类神经元和突触,并使用深度学习指令集直接处理大规模神经元和突触,其中一条指令完成一组神经元的处理。与 CPU 和 GPU 相比,NPU 通过突触权重集成存储和计算,从而提高了运算效率。

CPU 和 GPU 处理器需要使用数千条指令来完成神经元处理。NPU 只需一条或几条指令即可完成,因此在深度学习的处理效率方面具有明显优势。实验结果表明,在相同功耗下,NPU 的性能是 GPU 的 118 倍。

Ⅴ 不同处理单元的特点

以下是不同处理单元的特点:

  • CPU:70%的晶体管用于构建缓存和部分控制单元。计算单元少,适合逻辑控制操作。
  • GPU:晶体管主要用于构建计算单元,计算复杂度低,适合大规模并行计算。主要用于大数据、后端服务器、图像处理。
  • NPU:在电路层模拟神经元,通过突触权重实现存储和计算的集成。一条指令完成一组神经元的处理,提高运算效率。主要用于通信领域、大数据、图像处理。
  • FPGA:可编程逻辑,计算效率高,更接近底层 IO。通过冗余晶体管和连接可编辑逻辑。本质上无指令,不需要共享内存,比 CPU 和 GPU 计算效率更高。主要用于智能手机、便携式移动设备和汽车。

Ⅵ NPU 的实际应用

NPU 有以下实际应用:

  • 拍照时通过 NPU 进行 AI 场景识别,并用 NPU 计算进行图片修饰。
  • NPU 判断光源和暗光细节以合成超级夜景。
  • 通过 NPU 实现语音助手操作。
  • NPU 与 GPU Turbo 一起预先确定下一帧以实现早期渲染,提高游戏的流畅度。
  • NPU 预先确定触摸以提高后续操作的手感和灵敏度。
  • NPU 与 Link Turbo 一起判断前后端网络速度需求的差异。
  • NPU 判断游戏渲染负载以智能调整分辨率。
  • 通过降低游戏期间 AI 的计算负载,让 NPU 实现节能。
  • NPU 实现 CPU 和 GPU 的动态调度。
  • NPU 辅助大数据广告推送。
  • 通过 NPU 实现输入法的 AI 智能词组联想功能。

Ⅶ 各类处理单元的解释

以下是各类处理单元的解释:

  • APU:加速处理单元,是 AMD 用于加速图像处理的芯片产品。
  • BPU:大脑处理单元,是地平线领先的嵌入式处理器架构。
  • CPU:中央处理单元,是 PC 核心的主流产品。
  • DPU:数据流处理单元,是 Wave Computing 提出的一种 AI 架构。
  • FPU:浮点处理单元,是通用处理器中的浮点模块。
  • GPU:图形处理单元,具有多线程 SIMD 架构,专为图形处理而设计。
  • HPU:全息处理单元,是微软的全息计算芯片和设备。
  • IPU:智能处理单元,是 Deep Mind 投资的 Graphcore 的 AI 处理器产品。
  • MPU/MCU:微处理器/微控制器单元,通常用于 RISC 计算机架构产品的低计算应用,如 ARM - M 系列处理器。
  • NPU:神经网络处理单元,是基于神经网络算法和加速的新型处理器的统称,如中国科学院计算技术研究所/寒武纪的“寒武纪”系列。
  • RPU:无线电处理单元,是 Imagination Technologies 将 Wifi/蓝牙/FM/处理器集成为单个处理器的无线电处理器。
  • TPU:张量处理单元,是谷歌用于加速人工智能算法的专用处理器。当前一代 TPU 用于推理,第二代用于训练。
  • VPU:向量处理单元,是英特尔收购的 Movidius 推出的用于加速图像处理和人工智能的专用芯片。
  • WPU:可穿戴处理,Ineda Systems 推出的可穿戴系统级芯片产品,包括 GPU/MIPS CPU 等 IP。
  • XPU:百度和赛灵思在 Hotchips 2017 上宣布的 FPGA 智能云加速,包含 256 个核心。
  • ZPU:Zylin 处理单元,是挪威 Zylin 的 32 位开源处理器。

相关文章:

NPU 神经网络处理单元

Ⅰ 什么是 NPU? 当前正处于神经网络和机器学习处理需求爆发的初期。传统的 CPU(中央处理器)/GPU(图形处理器)可以执行类似任务,但专门为神经网络优化的 NPU(神经处理单元)比 CPU/GP…...

安宝特分享 | AR技术引领:跨国工业远程协作创新模式

在当今高度互联的工业环境中,跨国合作与沟通变得日益重要。然而,语言障碍常常成为高效协作的绊脚石。安宝特AR眼镜凭借其强大的多语言自动翻译和播报功能,正在改变这一局面,让远程协作变得更加顺畅。 01 多语言翻译优势 安宝特A…...

Vulkan 开发(五):Vulkan 逻辑设备

图片来自《Vulkan 应用开发指南》 Vulkan 开发系列文章: 1. 开篇,Vulkan 概述 2. Vulkan 实例 3. Vulkan 物理设备 4. Vulkan 设备队列 在 Vulkan 中,逻辑设备(Logical Device)是与物理设备(Physical D…...

Kafka 解决消息丢失、乱序与重复消费

一、引言 在分布式系统中,Apache Kafka 作为一种高吞吐量的分布式发布订阅消息系统,被广泛应用于日志收集、流式处理、消息队列等场景。然而,在实际使用过程中,可能会遇到消息丢失、乱序、重复消费等问题,这些问题可能…...

计算机专业毕业生面试工具推荐:白瓜面试

随着毕业季的临近,计算机专业的毕业生们即将步入职场,面试成为了他们必须面对的挑战。在这个过程中,选择合适的面试工具可以大大提高求职成功率。今天,我要向大家推荐一款专为计算机专业毕业生设计的面试工具——白瓜面试。 为什…...

数字IC开发:布局布线

数字IC开发:布局布线 前端经过DFT,综合后输出网表文件给后端,由后端通过布局布线,将网表转换为GDSII文件;网表文件只包含单元器件及其连接等信息,GDS文件则包含其物理位置,具体的走线&#xff1…...

高空作业未系安全带监测系统 安全带穿戴识别预警系统

在各类高空作业场景中,安全带是保障作业人员生命安全的关键防线。然而,由于人为疏忽或其他原因,作业人员未正确系挂安全带的情况时有发生,这给高空作业带来了巨大的安全隐患。为有效解决这一问题,高空作业未系安全带监…...

k8s的配置和存储(ConfigMap、Secret、Hostpath、EmptyDir以及NFS的服务使用)

ConfigMap 简介 在 Kubernetes 中,ConfigMap 是一种用于存储非敏感信息的 Kubernetes 对象。它用于存储配置数据,如键值对、整个配置文件或 JSON 数据等。ConfigMap 通常用于容器镜像中的配置文件、命令行参数和环境变量等。 ConfigMap 可以通过三种方…...

JS轮播图实现自动轮播、悬浮停止轮播、点击切换,下方指示器与图片联动效果

代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><s…...

使用 Kafka 和 MinIO 实现人工智能数据工作流

MinIO Enterprise Object Store 是用于创建和执行复杂数据工作流的基础组件。此事件驱动功能的核心是使用 Kafka 的 MinIO 存储桶通知。MinIO Enterprise Object Store 为所有 HTTP 请求&#xff08;如 PUT、POST、COPY、DELETE、GET、HEAD 和 CompleteMultipartUpload&#xf…...

力扣题86~90

题86&#xff08;中等&#xff09;&#xff1a; python代码 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def partition(self, head: Optional[Li…...

【JavaEE】【多线程】定时器

目录 一、定时器简介1.1 Timer类1.2 使用案例 二、实现简易定时器2.1 MyTimerTask类2.2 实现schedule方法2.3 构造方法2.4 总代码2.5 测试 一、定时器简介 定时器&#xff1a;就相当于一个闹钟&#xff0c;当我们定的时间到了&#xff0c;那么就执行一些逻辑。 1.1 Timer类 …...

CI/CD 的原理

一、CI/CD 的概念 CI/CD是一种软件开发流程&#xff0c;旨在通过自动化和持续的集成、测试和交付实现高质量的软件产品。 CI(Continuous Integration)持续集成 目前主流的开发方式是协同开发&#xff0c;即多位开发人员同事处理同意应用不同模块或功能。 如果企业在同一时间将…...

进一步认识ICMP协议

在日常工作中&#xff0c;我们经常需要判断网络是否连通&#xff0c;相信大家使用较多的命令就是 ping啦。ping命令是基于 ICMP 协议来实现的&#xff0c;那么什么是 ICMP 协议呢&#xff1f;ping命令又是如何基于 ICMP 实现的呢&#xff1f; 今天这篇文章&#xff0c;我们就来…...

NUUO网络视频录像机upload.php任意文件上传漏洞复现

文章目录 免责声明漏洞描述搜索语法漏洞复现nuclei修复建议 免责声明 本文章仅供学习与交流&#xff0c;请勿用于非法用途&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任 漏洞描述 NUUO网络视频录像机&#xff08;Network Video Recorder&#xff0…...

WebGL 3D基础

1. 归一化函数 对一个向量进行归一化处理&#xff0c;即调整向量的模长&#xff08;长度&#xff09;为1&#xff0c;同时保持其方向不变。 // 归一化函数 function normalized(arr) {let sum 0;for (let i 0; i < arr.length; i) {sum arr[i] * arr[i];}const middle …...

Docker 部署MongoDb

1. 编写docker-compose.conf 文件 version: 3 services:mongo:image: mongo:latest # 指定 MongoDB 版本&#xff0c;确保 > 3.6container_name: mongo-replicarestart: alwayscommand: ["mongod", "--replSet", "rs0", "--oplogSize&…...

【Hadoop】hadoop的路径分不清?HDFS路径与本地文件系统路径的区别

/usr/local/hadoop /user/hadoop /home/hadoop/ 这里有些路径名很相似&#xff0c;帮我区分&#xff1f; 在Hadoop生态系统中&#xff0c;理解文件存储的位置对于有效管理数据至关重要。Hadoop分布式文件系统&#xff08;HDFS&#xff09;提供了一个高度可靠的存储系统&#xf…...

倪师学习笔记-天纪-易经八卦

一、简介 卦代表事情&#xff0c;爻代表时机&#xff0c;三爻为一卦八卦对应的天相&#xff0c;六十四卦对应人间事 二、八卦性 1、乾 天父亲向下看&#xff0c;无所求&#xff0c;雄心万丈始终如一&#xff0c;贞&#xff0c;坚心&#xff0c;专心至刚&#xff0c;天威&am…...

自动驾驶性能分析时,非常有用的两个信息

自动驾驶的关键路径如下&#xff0c;传感器的数据发送给感知模块&#xff1b;感知模块根据传感器数据来确定车辆所处的环境&#xff0c;比如前方有没有障碍物&#xff0c;是不是和车道线保持着适当的距离等&#xff1b;感知处理之后的数据传递给规控模块&#xff0c;规控根据车…...

数据结构 - 并查集

文章目录 一、并查集原理二、并查集实现三、并查集的应用 一、并查集原理 在一些应用问题中&#xff0c;需要将n个不同的元素划分成一些不相交的集合。开始时&#xff0c;每个元素自成一个单元素集合&#xff0c;然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复…...

canvas基础+应用+实例

文章目录 Canvas基础知识要点一、基本概念二、常用参数三、实例四、场景应用说明完结 Canvas基础知识要点 一、基本概念 Canvas是HTML5中的一个标签&#xff0c;用于在网页上通过JavaScript绘制图形、动画等。它提供了一个空白的、基于像素的绘图区域&#xff0c;就像一块画布…...

Linux命令 用户操作简介

目录 1. 添加新的用户账号 2. 删除用户账号 3. 修改用户账号 4. 用户口令的管理 示例汇总 添加新用户 删除用户 修改用户信息 更改用户口令 在 Linux 系统中&#xff0c;用户管理是一项重要的任务&#xff0c;包括添加新用户、删除用户、修改用户信息以及管理用户口令…...

大语言模型的Scaling Law【Power Low】

NLP-大语言模型学习系列目录 一、注意力机制基础——RNN,Seq2Seq等基础知识 二、注意力机制【Self-Attention,自注意力模型】 三、Transformer图文详解【Attention is all you need】 四、大语言模型的Scaling Law【Power Low】 文章目录 NLP-大语言模型学习系列目录一、什么是…...

windows环境下,使用docker搭建redis集群

参考: https://blog.csdn.net/weixin_46594796/article/details/137864842 https://www.cnblogs.com/niceyoo/p/14118146.html 史上最详细Docker搭建Redis Cluster集群环境 值得收藏 每步都有图,不用担心学不会-腾讯云开发者社区-腾讯云 一、基础环境描述 宿主机:192.168…...

Python(pandas库3)

函数 随机抽样 语法&#xff1a; n&#xff1a;要抽取的行数 frac&#xff1a;抽取的比例&#xff0c;比如 frac0.5&#xff0c;代表抽取总体数据的50% axis&#xff1a;示在哪个方向上抽取数据(axis1 表示列/axis0 表示行) 案例&#xff1a; 输出结果都为随机抽取。 空…...

WPF+MVVM案例实战(十)- 水波纹按钮实现与控件封装

文章目录 1、运行效果1、封装用户控件1、创建文件2、依赖属性实现2、使用封装的按钮控件1.主界面引用2.按钮属性设置3 总结1、运行效果 1、封装用户控件 1、创建文件 打开 Wpf_Examples 项目,在 UserControlLib 用户控件库中创建按钮文件 WaterRipplesButton.xaml ,修改 Us…...

数据结构————map,set详解

今天带来map和set的详解&#xff0c;保证大家分清楚 一&#xff0c;概念 map和set是一种专门用来搜索的容器或数据结构 map能存储两个数据类型&#xff0c;我们称之为<key-value>模型 set只能存储一个数据类型&#xff0c;我们称之为纯<key>模型 它们的效率都非…...

fdisk - Linux下的磁盘分区利器

文章目录 前言一、安装和启动二、基本命令2.1 查看分区表2.2 删除分区2.3 创建新分区2.4 更改分区类型2.5 其他指令 三、注意事项四、其他相关工具 前言 在Linux系统中&#xff0c;磁盘管理是维护系统性能和数据安全的重要环节。fdisk 是一个强大的命令行工具&#xff0c;专门…...

or-tools优化库记录

介绍 Or-tools是谷歌人工智能系列的运筹优化包&#xff0c;是一个用于优化的开源软件套件&#xff0c;针对性地解决车辆路线问题、流程优化、整数和线性规划以及约束规划等问题。 官网地使用说明比我详细&#xff0c;我就不多逼逼了 使用说明网址&#xff1a; https://develo…...

营口市网站建设/做搜索引擎优化的企业

1 centos 6.x 安装 MySQL 注意&#xff1a;需要root权限。 yum install -y mysql yum install -y mysql-server yum install -y mysql-devel 2 centos 7.x 安装 MySQL 注意&#xff1a;需要root权限。 1&#xff09;安装前工作 // 1&#xff09;检测系统是否已有MySQL rp…...

品牌自适应网站建设/开发一个网站的步骤流程

/** JDK1.5后出现的特性,自动装箱和自动拆箱* 自动装箱: 基本数据类型,直接变成对象* 自动拆箱: 对象中的数据变回基本数据类型* 方便使用* 自动装箱和拆箱弊端,可能出现空指针异常*/ public class IntegerDemo_2 {public static void main(String[] args) {function…...

做家政服务类网站的要求/如何在百度发布信息推广

1. 简介&#xff1a; 项目中用am3359从TF卡的reiser文件系统转到ext4文件。转化原因是reiser文件系统的官网都没有了&#xff0c;还有文章提到reiserfs4的代码风格不符合linux代码风格&#xff0c;因此&#xff0c;linux不再主动将reiserfs的代码融合到linux中&#xff0c;即使…...

在家帮别人做网站赚钱/外包公司是什么意思

文件系统类型 在windows中我们常见的磁盘格式有fat16、fat32和ntfs。但是windows的文件管理显得有些赘余&#xff0c;为打开一个文件需要打开n个地方&#xff0c;在一个角落里找。而且windows本身对于其他系统的文件格式就更差了&#xff0c;没有听说在windows里打开ext3或者ma…...

wordpress站点统计代码/谷歌seo技巧

在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1、MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacement_value ) 参数 check_expression 将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。 replacement_value 在 check_expression …...

百度做网站价格/资深seo顾问

一、题目&#xff1a;判断一个链表是否为回文结构 简单思路&#xff1a;时间O&#xff08;N)&#xff0c;空间O&#xff08;N&#xff09; 采用栈来存储链表值&#xff0c;再从栈中弹出值&#xff08;逆序&#xff09;&#xff0c;如果和链表顺序值一样&#xff0c;则为回文结构…...