2. 硬件平台选型与资源评估
做边缘端多模态感知,第一步就是选芯片。这事儿我踩过不少坑。有一回项目急着上线,随便挑了个开发板,结果模型跑起来帧率不到 5,功耗还压不住,最后整个方案推倒重来。所以这一章,咱们把 Jetson、RK3588、TPU 这三条主流路线掰开揉碎聊清楚。
主流边缘芯片横向对比
先看一张总表,心里有个底:
| 芯片平台 | AI 算力 | 内存 | 典型功耗 | 适用场景 |
|---|---|---|---|---|
| NVIDIA Jetson Orin NX | 70 TOPS (INT8) | 8/16 GB LPDDR5 | 10-25 W | 多路视频、Transformer 模型 |
| Rockchip RK3588 | 6 TOPS (NPU) | 8/16 GB LPDDR4X | 5-15 W | 轻量检测、端侧部署 |
| Google Coral TPU | 4 TOPS (Edge TPU) | 1 GB LPDDR4 | 2-5 W | 单模型推理、低功耗 |
| Hailo-8 | 26 TOPS (INT8) | 无板载内存 | 2.5-5 W | 实时检测、ADAS |
关键结论:没有最好的芯片,只有最合适的。Jetson 适合做原型验证和复杂模型,RK3588 是性价比之王,TPU 则专为低功耗场景而生。
算力评估:别只看 TOPS
很多同学一上来就问「这芯片多少 TOPS?」。其实 TOPS 只是理论峰值,实际能跑多少,得看三件事:
- 算子支持度:你的模型里有没有芯片不支持的算子?我遇到过 MobileNet 的 Depthwise Conv 在某个 NPU 上被转成普通 Conv,速度直接掉一半。
- 内存带宽:Jetson Orin NX 的 LPDDR5 带宽约 102 GB/s,RK3588 只有 68 GB/s。多路视频解码时,带宽瓶颈比算力更致命。
- 量化精度:INT8 的 70 TOPS 和 FP16 的 35 TOPS,实际效果可能差不多。但有些芯片 INT8 精度损失大,你得权衡。
我的习惯:拿到芯片后,先用 onnxruntime_perf_test 跑一遍典型模型,看实际延迟和吞吐。纸上 TOPS 再高,不如实测一帧来得实在。
内存评估:模型放得下,数据流得动
多模态感知通常要同时处理图像、点云、音频。内存不够,模型都加载不了。我建议按这个公式估算:
所需内存 = 模型参数 (FP16) × 1.2 + 输入输出缓冲区 × 2 + 系统开销 (1-2 GB)
举个例子:一个 50 MB 的 YOLOv8 模型,量化后约 25 MB,但运行时中间特征图可能吃掉 200 MB。再加上两路 1080p 视频流,每帧约 6 MB,缓冲区一深,内存就炸了。
| 场景 | 推荐内存 | 说明 |
|---|---|---|
| 单路轻量检测 | 4 GB | MobileNet + SSD,量化后约 10 MB |
| 双路实时分割 | 8 GB | DeepLabV3+,输入 512×512 |
| 多模态融合 | 16 GB | 图像 + LiDAR + 音频,Transformer 模型 |
避坑指南:我曾经在 RK3588 上跑一个 8 GB 内存的模型,结果系统 OOM 了。后来发现是 NPU 驱动占用了 2 GB 作为共享内存。选型时一定要把驱动和框架的开销算进去。
功耗与散热:边缘部署的隐形杀手
功耗这事,实验室里看不出来,一放到户外就原形毕露。Jetson Orin NX 满载 25 W,被动散热根本压不住,必须加风扇。RK3588 好一些,15 W 以内可以用散热片搞定。
我整理了一个功耗对照表:
| 芯片 | 待机功耗 | 推理功耗 | 满载功耗 | 散热方案 |
|---|---|---|---|---|
| Jetson Orin NX | 3 W | 15 W | 25 W | 主动风扇 + 散热片 |
| RK3588 | 1.5 W | 8 W | 15 W | 被动散热片 |
| Coral TPU | 0.5 W | 2 W | 5 W | 无需散热 |
你想想看,一个户外摄像头,夏天 60 度高温,被动散热如果压不住,芯片降频,帧率直接掉到 2-3。所以我的建议是:功耗预算留 20% 余量,散热方案按最坏情况设计。
选型决策流程
说了这么多,到底怎么选?我画了一张流程图,帮你理清思路:
这张图的核心逻辑很简单:先看算力需求,再看功耗约束。如果模型里用了 Transformer 或者需要多路视频,直接上 Jetson;如果只是轻量检测且对功耗敏感,TPU 更合适;RK3588 则卡在中间,适合大多数性价比优先的场景。
实战建议:从选型到落地
最后,分享几个我踩过的坑:
- 别只看芯片,要看整个模组:Jetson 模组自带散热和接口,RK3588 需要自己设计底板,开发周期差 2-3 周。
- 内存带宽比容量更重要:我试过在 RK3588 上跑 4 路 1080p 解码,内存还有 6 GB 空闲,但带宽跑满了,帧率直接掉到 10。
- 预留调试接口:至少留一个 USB 和 UART,不然出了问题只能干瞪眼。
一句话总结:Jetson 适合做「能做」的事,RK3588 适合做「该做」的事,TPU 适合做「只能这么做」的事。选型没有银弹,只有权衡。