NPU vs GPU:做模型推理到底该用谁?

前言
在嵌入式 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 集群适合模型训练、大模型推理、高并发服务。两者各有所长,选型取决于你的实际场景。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)