NPU 神经处理单元
- NPU 平台通常是指基于神经处理单元(Neural Processing Unit,NPU)的硬件及软件系统,用于加速人工智能和深度学习任务。
定义
- NPU 是一种专门为处理机器学习算法和神经网络计算任务设计的处理器。它通过优化硬件架构和指令集,能够高效地执行深度学习模型中的矩阵运算、卷积等操作,从而显著提升 AI 任务的处理速度。
功能说明
- NPU 在处理图像识别、语音识别、自然语言处理等 AI 任务时表现出色,能够以低功耗实现高效的推理加速。相比传统的 CPU 和 GPU,NPU 在处理 AI 计算任务时具有更高的能效比。这使得它在移动设备和边缘计算场景中特别有用,能够延长设备的电池续航时间。NPU 的架构设计使其能够高效地处理大量小规模并行计算任务。它通常包含多个计算单元,可以同时处理多个数据流,从而提高整体计算效率。NPU 通常与 CPU 和 GPU 集成在一起,形成异构计算架构。这种架构可以根据任务的特点,将计算任务分配到最适合的处理器上,从而实现最佳的性能和能效。NPU 平台广泛应用于智能手机、智能物联网设备、边缘计算设备等领域。例如,在智能手机中,NPU 可以用于提升相机功能、语音助手的性能;在边缘计算中,NPU 可以实现本地化的数据处理和实时决策。
RKNN 平台
- 核心架构
- 系统组成:RKNN-Toolkit 包含三个关键组件。一是转换工具,可将主流框架模型转换为 RKNN 格式;二是量化工具,支持混合量化 (INT8/FP16) 优化;三是推理引擎,能在设备端高效执行神经网络。
- 支持的框架:支持多种版本的 TensorFlow、通过 ONNX 间接支持 PyTorch、支持经典模型最佳的 Caffe 以及 opset 10+ 的 ONNX。
- 量化精度对比:不同量化策略效果对比显示,FP32 无精度损失、推理速度 1x、内存占用 100%;FP16 精度损失小于 1%、推理速度 1.5x、内存占用 50%;INT8 精度损失 1-3%、推理速度 3x、内存占用 25%;混合量化精度损失 0.5-2%、推理速度 2.5x、内存占用 30%。
- 模型支持格式与执行特性
- 支持模型输入格式:包括 ONNX、TensorFlow/TFLite、PyTorch(需先转 ONNX)、Caffe。
- 支持的张量数据类型:有 uint8、int8、float16、float32,部分硬件支持混合精度执行。
- 典型推理结构支持:支持 CNN(如 Mobilenet、YOLO、ResNet 系列)、轻量 Transformer 模型(如 MobileViT、TinyBERT)、多输入多输出模型结构(MIMO)。
- 模型编译特性:具备自动量化(对标 TensorRT QAT)、动态 Shape 支持(RK3588 起部分启用)、layout 自动转换(支持 NCHW 与 NHWC 互转)。
其他 AI 加速平台对比
| 平台类型 | 灵活性 | 性能 | 功耗 | 应用场景举例 |
|---|---|---|---|---|
| NPU | 中等 | 高 | 低 | 智能手机、边缘设备 |
| GPU | 高 | 极高 | 高 | 数据中心、训练任务 |
| TPU | 低 | 极高 |

