在这里插入图片描述

前言

在嵌入式 AI 项目中,经常会遇到一个疑问:模型推理应该用 NPU,那为什么大家都在说用英伟达的 GPU 集群?

这个问题其实涉及两个完全不同的应用场景。本文从实际工程角度,厘清 NPU 和 GPU 的定位差异,帮助你在项目选型时做出正确判断。

NPU 与 GPU 的定位差异

项目 NPU(如 RK3588) GPU(如 NVIDIA A100/H100)
设计目标 边缘端推理 训练 + 大规模推理
算力 TOPS 级(个位数~几十) TFLOPS 级(几百~上千)
功耗 瓦级(2~15W) 百瓦级(250~700W)
内存 GB 级、带宽低 几十~上百 GB、HBM 带宽极高
精度 主要 INT8/FP16 FP32/FP16/TF32/FP8
部署形态 嵌入式/板载 数据中心集群

简单来说:NPU 是"小而精"的推理专用芯片,GPU 是"大而全"的通用并行计算芯片。

为什么训练和大规模推理用 GPU 集群

1. 模型训练必须用 GPU

训练需要高精度(FP32/混合精度)、大显存、高带宽。NPU 基本不支持训练,只做推理。主流训练框架(PyTorch、TensorFlow)深度绑定 CUDA 生态,几乎所有学术研究和工业训练都在 GPU 上完成。

2. 大模型推理需要海量显存

以 LLaMA-7B 为例,FP16 精度下约需 14GB 显存。RK3588 总共才 4~16GB 内存,且并非全部可用于模型。更大的模型(70B+)需要多卡并行,NPU 在这方面无能为力。

3. 高并发场景 GPU 更适合

数据中心需要同时服务几百甚至上千用户。GPU 集群可以做 batch 推理、流水线并行、张量并行,大幅提高吞吐量。NPU 是单设备串行推理,吞吐量不在一个量级。

4. CUDA 生态壁垒

绝大部分模型优化工具(TensorRT、DeepSpeed、vLLM、FlashAttention)都是英伟达生态。部署到 NPU 需要额外的模型转换(如 rknn-toolkit),增加开发成本和调试复杂度。

什么时候用 NPU

NPU 的主场是边缘端和嵌入式推理

  • 摄像头、机器人、车载、安防:功耗受限、体积受限,无法部署 GPU
  • 不需要训练,只需要前向推理:模型已经定型并量化压缩(INT8)
  • 实时性要求高:端侧推理无需网络传输,延迟更低
  • 成本敏感:NPU 芯片几美元到几十美元,GPU 集群成本高出几个数量级

实际案例

以 RK3588 平台为例,使用 NPU 运行 MobileNetV1 推理:

  • 推理耗时:2.03ms
  • 帧率:492 FPS
  • 功耗:几瓦
  • 部署形态:单板嵌入式

这种场景用 GPU 集群既不现实也不经济。

两者的关系

NPU 和 GPU 不是替代关系,而是不同层级的工具

模型开发流程:

  [GPU 集群]  -->  训练、调参、大模型推理、高并发服务
        |
        v
  模型量化压缩(INT8)
        |
        v
  [NPU 边缘端]  -->  部署推理、实时推理、低功耗场景
  • GPU 负责"造模型"
  • NPU 负责"用模型"

总结

场景 推荐硬件
模型训练 GPU 集群
大模型推理(LLM 等) GPU 集群
高并发在线服务 GPU 集群
边缘端/嵌入式推理 NPU
车载/机器人/安防 NPU
低功耗实时推理 NPU

一句话:NPU 适合边缘端、低功耗、已定型模型的推理部署;GPU 集群适合模型训练、大模型推理、高并发服务。两者各有所长,选型取决于你的实际场景。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐