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

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...