第二章:硬件平台选型与对比
做嵌入式AI部署,第一步就是选硬件。这事儿我踩过不少坑,今天跟你聊聊主流芯片怎么挑。
2.1 主流嵌入式AI芯片概览
先看市面上最常见的几类芯片。我个人习惯把它们分成三档:
- Jetson系列(NVIDIA):Orin NX、Xavier NX、TX2。带GPU,生态最成熟。
- RK3588(瑞芯微):国产芯片,带NPU,性价比高。
- 树莓派4/5:通用开发板,算力弱但便宜。
- TPU(Google Coral):专门跑TensorFlow Lite的USB加速棒。
- NPU(寒武纪、地平线):专为神经网络设计的处理器。
你想想看,选芯片就像选车——跑车快但费油,皮卡能拉货但跑不快。没有万能方案。
2.2 算力与功耗的权衡
这是最核心的矛盾。我做过一个项目,用Jetson Orin NX跑YOLOv8,算力100 TOPS,功耗却飙到25W。换成RK3588,算力只有6 TOPS,但功耗才8W。
| 芯片 | 算力(INT8) | 典型功耗 | 能效比 |
|---|---|---|---|
| Jetson Orin NX | 100 TOPS | 25W | 4 TOPS/W |
| RK3588 | 6 TOPS | 8W | 0.75 TOPS/W |
| 树莓派5 | 0.5 TOPS | 5W | 0.1 TOPS/W |
| Google Coral TPU | 4 TOPS | 2W | 2 TOPS/W |
关键点:别只看TOPS数字。实际部署时,模型能否充分利用硬件加速器,比峰值算力更重要。
我曾经在Jetson上跑一个轻量级模型,结果GPU利用率只有30%,功耗却一直25W。后来换成RK3588的NPU,利用率冲到85%,功耗才10W。嗯,这里要注意:算力是上限,利用率才是现实。
2.3 硬件加速器简介
说白了,加速器就是帮你把神经网络算得更快的专用电路。我分三类讲:
GPU(图形处理器)
Jetson用的就是GPU。它擅长并行计算,适合大模型。但缺点也明显——功耗高,而且需要CUDA生态支持。我建议:如果你做自动驾驶、机器人这类重计算任务,选Jetson没错。
NPU(神经网络处理器)
RK3588、地平线J5都带NPU。它专门为卷积、矩阵乘法设计。我测试过,同样跑MobileNetV3,NPU比CPU快10倍,功耗只有1/5。但坑也不少——各家NPU的指令集不通用,模型转换时经常报错。
避坑指南:我曾经在RK3588上部署一个Pytorch模型,NPU死活不认。后来发现必须用RKNN工具链转格式,而且有些算子不支持。所以选NPU前,先查清楚它支持哪些算子。
DSP(数字信号处理器)
这个比较冷门。DSP原本做音频、图像处理,现在也被用来跑轻量级AI。比如树莓派的VideoCore GPU就带DSP功能。但说实话,DSP算力有限,跑个语音唤醒还行,跑视觉模型就吃力了。
2.4 选型实战建议
我根据项目经验,给你几个参考:
- 预算充足、追求性能:Jetson Orin NX。适合工业检测、自动驾驶。
- 国产化、性价比:RK3588。适合智能家居、边缘盒子。
- 原型验证、学习:树莓派5 + Coral TPU。成本低,上手快。
- 超低功耗、特定场景:地平线J3或寒武纪MLU220。适合电池供电设备。
警告:别被厂商的TOPS数字忽悠。我见过一个项目,标称20 TOPS的NPU,实际跑ResNet50只有5 TOPS。一定要拿自己的模型实测。
2.5 我的个人经验总结
做了这么多年嵌入式AI,我最大的体会是:没有最好的芯片,只有最合适的方案。你想想看,一个智能门锁需要100 TOPS吗?不需要。一个自动驾驶系统能用6 TOPS吗?也不行。
我建议你按这个步骤选型:
- 先确定模型大小(轻量级还是重量级)
- 再算功耗预算(电池供电还是插电)
- 最后看生态(工具链、社区支持)
嗯,今天就聊到这儿。下一章我们讲模型量化,那是部署的关键一步。