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 我的选型决策流程

每次做项目,我都会按这个顺序问自己:

  1. 模型多大?——如果模型超过100MB,直接排除树莓派。
  2. 实时性要求?——要求30fps以上,必须上Jetson或NPU。
  3. 电池供电?——是的话,优先考虑Coral或低功耗NPU。
  4. 生态依赖?——如果团队只会PyTorch,别碰TPU。
  5. 成本敏感?——量产超过1000台,NPU方案比Jetson便宜一半。

一句话总结:树莓派做原型,Coral做低功耗,Jetson做高性能,NPU做国产化。别贪心,选最适合你场景的。

3.4 一个真实案例

去年我帮一家工厂做「边缘质检」项目。产品是电路板,需要检测焊点缺陷。

一开始他们选了Jetson Xavier NX,理由是算力高。但实际部署时发现,产线旁边温度高,Jetson散热跟不上,经常降频。后来换成昇腾310,功耗低、发热小,稳定运行了半年没出问题。

你看,算力不是唯一指标。环境温度、散热条件、长期稳定性,都得考虑进去。

最后提醒:选型时一定要留出20%的算力余量。我曾经因为算力刚好够用,结果模型升级后直接跑不动,被迫换硬件。嗯,这个坑我替你们踩过了。