当前位置: 首页 > 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;规控根据车…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

高考志愿填报管理系统---开发介绍

高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发&#xff0c;采用现代化的Web技术&#xff0c;为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## &#x1f4cb; 系统概述 ### &#x1f3af; 系统定…...