3. 硬件平台选型:常见边缘设备(Jetson、树莓派、TPU、NPU)、算力与功耗的权衡
做边缘推理,第一关就是选硬件。
说实话,这步选错了,后面优化得再好也白搭。我见过不少团队,算法精度刷到98%,结果一上树莓派,帧率掉到1帧,功耗还爆表。嗯,这就是典型的「算力与功耗没算清楚」。
3.1 四大主流平台,我帮你捋一遍
目前市面上常见的边缘设备,基本可以分成四类。我按自己的使用经验,一个个说。
3.1.1 NVIDIA Jetson 系列
如果你要做视觉类的AI应用,Jetson几乎是首选。我最早接触的是Jetson TX2,后来用Xavier NX,现在项目里主力是Orin NX。
它的优势很明显:CUDA生态成熟,TensorRT优化到位。说白了,你只要会PyTorch,转成TensorRT,推理速度能翻好几倍。
核心参数(以Jetson Orin NX 16GB为例):
- 算力:100 TOPS(INT8)
- 功耗:10W - 25W(可配置)
- 内存:16GB LPDDR5
- 典型场景:自动驾驶、机器人、工业质检
我的经验:Jetson的功耗模式可以动态切换。我习惯在电池供电时用15W模式,插电时切到25W。别小看这个设置,续航能差出40%。
3.1.2 树莓派系列
树莓派,大家都熟。但我要泼盆冷水——它真的不适合跑重型模型。
我有个项目,客户非要用树莓派4B做实时人脸识别。结果呢?MobileNetV2跑起来都卡,帧率不到5。后来换了Jetson Nano,问题才解决。
树莓派的定位是「原型验证」和「轻量控制」。你用它做传感器数据采集、控制电机、跑跑简单的分类任务,完全OK。但别指望它做实时视频分析。
避坑指南:我曾经在树莓派上尝试跑YOLOv5s,量化后勉强能跑,但CPU占用100%,温度直接飙到85°C。嗯,最后加了散热片才稳住。所以,树莓派上跑模型,一定要先做压力测试。
3.1.3 TPU(Google Coral)
Google Coral Edge TPU,是个好东西。它的优势是「极致能效比」。
我做过一个对比:同样跑MobileNetV2,树莓派4B功耗5W,帧率8;Coral USB加速棒插在树莓派上,总功耗6W,帧率直接飙到30。你想想看,这差距有多大。
但TPU有个硬伤——只支持TensorFlow Lite。如果你用PyTorch,得先转ONNX再转TFLite,中间容易出问题。
适用场景:低功耗、固定模型、TensorFlow生态的项目。比如智能门锁、离线语音助手。
3.1.4 NPU(华为昇腾、瑞芯微等)
NPU这两年发展很快。华为的昇腾310,算力16 TOPS,功耗只有8W。瑞芯微的RK3588,内置6 TOPS NPU,性价比很高。
我个人觉得,NPU是未来的趋势。因为它是专门为神经网络设计的,效率比CPU和GPU都高。但问题在于生态——各家SDK不通用,迁移成本高。
我的建议:如果你做国产化项目,优先考虑NPU。但要做好心理准备,调试工具链可能会花掉你30%的开发时间。
3.2 算力与功耗的权衡,怎么算?
选型时,大家最常问的是:「这个芯片多少TOPS?」
但TOPS高不代表好用。我见过一个项目,选了100 TOPS的芯片,结果功耗40W,电池撑不过1小时。客户直接退货。
所以,真正要看的指标是「能效比」——每瓦特能提供多少TOPS。
| 设备 | 算力(INT8) | 典型功耗 | 能效比(TOPS/W) | 参考价格 |
|---|---|---|---|---|
| 树莓派4B | 0.1 TOPS(CPU) | 5W | 0.02 | ¥400 |
| Jetson Nano | 0.5 TOPS | 10W | 0.05 | ¥1200 |
| Google Coral | 4 TOPS | 2W | 2.0 | ¥600 |
| Jetson Orin NX | 100 TOPS | 25W | 4.0 | ¥5000 |
| 昇腾310 | 16 TOPS | 8W | 2.0 | ¥2000 |
从表里能看出来,树莓派的能效比最低,Coral和昇腾最高。但别忘了,Coral的4 TOPS是固定的,你没法扩展。Jetson Orin NX虽然功耗高,但算力也高,适合复杂场景。
3.3 我的选型决策流程
每次做项目,我都会按这个顺序问自己:
- 模型多大?——如果模型超过100MB,直接排除树莓派。
- 实时性要求?——要求30fps以上,必须上Jetson或NPU。
- 电池供电?——是的话,优先考虑Coral或低功耗NPU。
- 生态依赖?——如果团队只会PyTorch,别碰TPU。
- 成本敏感?——量产超过1000台,NPU方案比Jetson便宜一半。
一句话总结:树莓派做原型,Coral做低功耗,Jetson做高性能,NPU做国产化。别贪心,选最适合你场景的。
3.4 一个真实案例
去年我帮一家工厂做「边缘质检」项目。产品是电路板,需要检测焊点缺陷。
一开始他们选了Jetson Xavier NX,理由是算力高。但实际部署时发现,产线旁边温度高,Jetson散热跟不上,经常降频。后来换成昇腾310,功耗低、发热小,稳定运行了半年没出问题。
你看,算力不是唯一指标。环境温度、散热条件、长期稳定性,都得考虑进去。
最后提醒:选型时一定要留出20%的算力余量。我曾经因为算力刚好够用,结果模型升级后直接跑不动,被迫换硬件。嗯,这个坑我替你们踩过了。