一、课程导论与硬件选型:为什么要在嵌入式设备上跑大模型?

各位同学,欢迎来到《嵌入式设备大模型推理部署实战》的第一课。

先问大家一个问题:大模型动辄几十GB,跑在云端服务器上不香吗?为什么非要折腾到嵌入式设备上?

我当年第一次接到这个需求时,也觉得有点反直觉。但后来发现,现实场景逼着你这么做。举个例子,你做一个智能摄像头,需要实时检测画面中的异常行为。如果每帧画面都上传云端,延迟不说,网络一断就抓瞎。更别提数据隐私问题——有些客户明确要求,所有推理必须在本地完成,数据不能出设备。

说白了,嵌入式端侧推理的核心价值就三个字:低延迟、高隐私、离线可用

核心观点:大模型上嵌入式设备,不是为了炫技,而是为了解决「最后一公里」的实际问题。云端负责训练,端侧负责推理,这才是未来的分工。

1.1 嵌入式AI芯片的江湖格局

市面上的嵌入式AI芯片,我大致分成四类。每一类都有自己的脾气,选型时千万别搞混。

芯片平台 算力(TOPS) 内存 功耗 典型价格 适合场景
NVIDIA Jetson Orin NX 70 TOPS 8-16GB LPDDR5 15-25W ¥3000+ 机器人、自动驾驶、复杂视觉
Rockchip RK3588 6 TOPS (NPU) 4-16GB LPDDR4X 5-10W ¥500-1500 边缘计算、智能家居、工业检测
树莓派 5 (BCM2712) 0.5 TOPS (GPU) 4-8GB LPDDR4X 5-7W ¥400-600 原型验证、教育、轻量级推理
Google Coral TPU 4 TOPS 1GB LPDDR4 2-3W ¥300-500 超低功耗、固定模型推理

这张表我建议你收藏。每次选型前拿出来对照一下,能省不少弯路。

1.2 算力、内存、功耗的三角权衡

做嵌入式AI选型,本质上是在算力、内存、功耗这三个维度上找平衡。我习惯用一个三角模型来思考:

算力 (TOPS) 功耗 (W) 内存 (GB) 权衡区域 Jetson RK3588 树莓派 Coral TPU 性能提升方向

你看这张图,每个芯片在三角形里的位置,就代表了它的「性格」。Jetson 偏算力,功耗也高;Coral TPU 偏低功耗,但内存小得可怜。选型时,你得先问自己三个问题:

  1. 模型多大? 1B 参数以下的小模型,RK3588 或树莓派就能搞定。7B 以上的大模型,基本只能上 Jetson。
  2. 延迟要求多高? 实时视频流要求毫秒级响应,那就别指望树莓派了。
  3. 供电条件如何? 电池供电的设备,功耗必须控制在 10W 以内。

我的经验: 如果预算充足,直接上 Jetson Orin NX 16GB 版本。我去年做的一个巡检机器人项目,一开始选了 RK3588,结果模型量化后精度掉得厉害,最后不得不换 Jetson。多花了钱,但省了时间。

1.3 各平台深度解析

NVIDIA Jetson 系列

Jetson 是嵌入式AI领域的「大哥大」。它最大的优势是生态——CUDA、TensorRT、DeepStream 这些工具链非常成熟。我习惯用 TensorRT 做模型优化,INT8 量化后推理速度能提升 3-5 倍。

但要注意,Jetson 的功耗不低。Orin NX 满载能到 25W,散热是个大问题。我见过有人用 Jetson 做手持设备,结果散热片烫得能煎鸡蛋。

避坑指南: 我曾经在一个项目中,为了省成本选了 Jetson Nano(4GB 版本)。结果模型加载完就占用了 3.8GB 内存,跑一次推理要 2 秒。后来换成 8GB 版本才解决问题。所以,内存宁大勿小。

Rockchip RK3588

RK3588 是国产芯片里的「性价比之王」。它内置的 NPU 能提供 6 TOPS 算力,功耗只有 5-10W。我最近在做一个智能门禁项目,用的就是 RK3588。部署一个 MobileNet 级别的模型,推理延迟在 30ms 以内,完全够用。

但 RK3588 的 NPU 编程比较麻烦。它不支持 CUDA,只能用 Rockchip 自己的 RKNN 工具链。如果你习惯用 PyTorch,需要先把模型转成 ONNX,再转成 RKNN 格式。中间可能遇到算子不支持的问题。

树莓派 5

树莓派 5 的 GPU 算力只有 0.5 TOPS,跑大模型基本没戏。但它有一个独特的优势——社区生态。你遇到任何问题,网上几乎都能找到答案。我建议初学者先用树莓派跑通流程,再迁移到其他平台。

举个例子,用树莓派跑一个 TinyLLaMA(1.1B 参数)模型,量化后大概需要 2GB 内存,推理速度在 5-10 token/s。虽然慢,但至少能跑起来。

Google Coral TPU

Coral TPU 是「专一型选手」。它只适合跑固定结构的模型,比如 MobileNet、EfficientNet。优点是功耗极低(2-3W),适合电池供电的设备。缺点是内存只有 1GB,大模型根本放不下。

我曾在一个人脸识别门禁项目里用过 Coral TPU。模型量化后只有 5MB,推理延迟 10ms,效果非常好。但如果你想换模型,就得重新编译,灵活性很差。

1.4 选型决策流程

说了这么多,到底怎么选?我总结了一个四步决策法:

  1. 确定模型规模:你的模型参数量是多少?需要多少内存?
  2. 评估延迟要求:实时性要求多高?能否接受 1 秒以上的延迟?
  3. 计算功耗预算:设备是插电还是电池供电?散热条件如何?
  4. 考虑开发成本:团队熟悉什么工具链?有没有现成的代码库?

举个例子,如果你要做一个人脸识别门禁:

  • 模型:MobileNet(5MB,INT8 量化)
  • 延迟:< 100ms
  • 功耗:< 10W(插电)
  • 开发:团队熟悉 PyTorch

这种情况下,RK3588 是最优解。如果团队熟悉 CUDA,Jetson Nano 也可以。

我的建议: 初学者先从树莓派或 RK3588 入手。这两个平台资料多,踩坑成本低。等跑通了流程,再考虑上 Jetson 做高性能部署。

1.5 本章小结

这一章我们聊了嵌入式设备跑大模型的必要性,也对比了主流芯片的优劣。核心就一句话:没有最好的芯片,只有最合适的芯片

选型时,别只看算力。内存和功耗往往才是真正的瓶颈。我见过太多人买了 Jetson 回来,发现散热搞不定,最后只能降频使用,性能还不如 RK3588。

下一章,我们会深入 RK3588 平台,手把手教你搭建开发环境,部署第一个模型。到时候,我会分享一些 RKNN 工具链的踩坑经验。


专注资料整理