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文件则包含其物理位置,具体的走线࿱…...
高空作业未系安全带监测系统 安全带穿戴识别预警系统
在各类高空作业场景中,安全带是保障作业人员生命安全的关键防线。然而,由于人为疏忽或其他原因,作业人员未正确系挂安全带的情况时有发生,这给高空作业带来了巨大的安全隐患。为有效解决这一问题,高空作业未系安全带监…...
k8s的配置和存储(ConfigMap、Secret、Hostpath、EmptyDir以及NFS的服务使用)
ConfigMap 简介 在 Kubernetes 中,ConfigMap 是一种用于存储非敏感信息的 Kubernetes 对象。它用于存储配置数据,如键值对、整个配置文件或 JSON 数据等。ConfigMap 通常用于容器镜像中的配置文件、命令行参数和环境变量等。 ConfigMap 可以通过三种方…...
JS轮播图实现自动轮播、悬浮停止轮播、点击切换,下方指示器与图片联动效果
代码: <!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 请求(如 PUT、POST、COPY、DELETE、GET、HEAD 和 CompleteMultipartUpload…...
力扣题86~90
题86(中等): 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 测试 一、定时器简介 定时器:就相当于一个闹钟,当我们定的时间到了,那么就执行一些逻辑。 1.1 Timer类 …...
CI/CD 的原理
一、CI/CD 的概念 CI/CD是一种软件开发流程,旨在通过自动化和持续的集成、测试和交付实现高质量的软件产品。 CI(Continuous Integration)持续集成 目前主流的开发方式是协同开发,即多位开发人员同事处理同意应用不同模块或功能。 如果企业在同一时间将…...
进一步认识ICMP协议
在日常工作中,我们经常需要判断网络是否连通,相信大家使用较多的命令就是 ping啦。ping命令是基于 ICMP 协议来实现的,那么什么是 ICMP 协议呢?ping命令又是如何基于 ICMP 实现的呢? 今天这篇文章,我们就来…...
NUUO网络视频录像机upload.php任意文件上传漏洞复现
文章目录 免责声明漏洞描述搜索语法漏洞复现nuclei修复建议 免责声明 本文章仅供学习与交流,请勿用于非法用途,均由使用者本人负责,文章作者不为此承担任何责任 漏洞描述 NUUO网络视频录像机(Network Video Recorder࿰…...
WebGL 3D基础
1. 归一化函数 对一个向量进行归一化处理,即调整向量的模长(长度)为1,同时保持其方向不变。 // 归一化函数 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 版本,确保 > 3.6container_name: mongo-replicarestart: alwayscommand: ["mongod", "--replSet", "rs0", "--oplogSize&…...
【Hadoop】hadoop的路径分不清?HDFS路径与本地文件系统路径的区别
/usr/local/hadoop /user/hadoop /home/hadoop/ 这里有些路径名很相似,帮我区分? 在Hadoop生态系统中,理解文件存储的位置对于有效管理数据至关重要。Hadoop分布式文件系统(HDFS)提供了一个高度可靠的存储系统…...
倪师学习笔记-天纪-易经八卦
一、简介 卦代表事情,爻代表时机,三爻为一卦八卦对应的天相,六十四卦对应人间事 二、八卦性 1、乾 天父亲向下看,无所求,雄心万丈始终如一,贞,坚心,专心至刚,天威&am…...
自动驾驶性能分析时,非常有用的两个信息
自动驾驶的关键路径如下,传感器的数据发送给感知模块;感知模块根据传感器数据来确定车辆所处的环境,比如前方有没有障碍物,是不是和车道线保持着适当的距离等;感知处理之后的数据传递给规控模块,规控根据车…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
