做边缘端AI项目,最难回答的往往不是模型优化,而是该选哪颗芯片。算力、功耗、价格、开发周期全裹在一起,网上跑分表越看越晕。前阵子帮朋友做一款工业质检样机,他一开始就盯着一颗号称“几十TOPS”的旗舰芯片,后来发现散热、内存带宽、量产供货全对不上,最后还是乖乖从场景重新推了一遍。这不是个例,边缘端AI算力选型,正确做法从来不是从参数表里挑最大数,而是反过来,先想清楚业务场景要解决什么问题,再推导出芯片该有多少算力、多大内存、什么功耗、什么生态。这篇文章不罗列一堆厂商发布会数据,而是把从场景反推芯片的完整方法、主流芯片定位差异、以及实际踩过的坑,一次性讲清楚。
这篇内容适合三类人看:正在做边缘AI产品样机,被老板或客户问“用哪颗芯片”的工程师;想系统梳理选型方法、不迷信厂商跑分的硬件和算法同学;以及已经买了开发板但部署不流畅,想找出瓶颈的实践者。下面直接进入正题。
1. 先从需求“画边界”,再谈芯片
1.1 边缘端项目的四个硬约束
选芯片不能只盯着AI性能。边缘端和云端最大的不同,是它在一个封闭的盒子里工作,供电、散热、物理尺寸、环境温度都有限制。我把这些约束总结成四个硬性问题,每个项目选型前先回答一遍。
第一,供电方式。电池驱动和市电驱动,完全是两个量级。电池设备要持续运行8小时,平均功耗得控制在几瓦内,选型就要优先考虑5W以下的方案;市电固定设备,比如工厂机箱里的质检盒子,功耗可以放到15W甚至更高,还能加风冷和更大散热片。很多芯片发布会上的“性能铁三角”很漂亮,但放进电池产品就变成了烫手山芋,这一步不先掐死一半候选。
第二,安装环境。工业现场有粉尘、震动、高温,车载会有冲击,户外还要考虑宽温。芯片标称的功耗和算力大多在实验室25摄氏度标准环境下测得,实际密闭机箱温度可能到50到60摄氏度,芯片会发生热降频,算力一路往下掉。选型时就要确认工作温度范围,并给散热方案留余量,而不是等样机装不进外壳再回头换平台。
第三,实时性要求。系统要求在100毫秒内完成从取图到输出结果,和允许有1秒延迟是完全不同的设计。实时性要求高的场景,不只要求算力充足,还要求调度可预测,NPU多任务并发时会不会抢占、驱动有没有实时补丁、视频采集到推理能不能做到零拷贝,这些都直接影响最终延迟。只看峰值TOPS,很难看出这颗芯片能不能稳定满足时延。
第四,数据闭环。边缘端的存在意义,很多时候就是数据不出现场、断网可用。但这也意味着没有云端兜底,模型升级、远程运维、日志回传都要自己设计。芯片软件生态是否方便做OTA,是否容易容器化部署,故障了怎么远程恢复,都影响长期维护成本。曾有人买了一块口碑不错的开发板,结果发现厂商不提供OTA方案,最后只能让实施人员到现场用U盘升级,成本立刻上去一大截。
这四个问题不回答完,挑芯片就是瞎猜。我见过不少项目,最初买的是高算力开发板,最后因为功耗放不进外壳,或者视频接口不够,重新换平台,时间和研发费全浪费了。
1.2 TOPS、INT8 和有效算力,到底看哪个
厂商宣传里的“TOPS”最容易让人兴奋,也最容易误导。TOPS是Tera Operations Per Second,每秒万亿次操作。问题在于,这个操作数是整数操作还是浮点操作、是稠密还是稀疏、算不算上乘加指令里的加法,不同公司口径不一样。
打个比方,同样是标称“5 TOPS”的芯片,A公司测的是稀疏INT8,实际跑稠密模型只有2.5 TOPS;B公司测的是FP16,你偏要跑INT8,可能还要重新量化才能发挥。选型时第一件事,就是把对方给的算力指标统一成“稠密INT8 TOPS”或“稠密FP16 TFLOPS”,再和模型需求对照。别拿到PPT就兴奋,先问一句:这是怎么测出来的?
另一个关键概念是精度。FP32、FP16、INT8、INT4,同一颗芯片在不同精度下的算力完全不同。边缘端绝大多数视觉模型跑INT8已经足够,量化后模型体积缩小、速度提升非常明显;而一些训练、微调或对精度极其敏感的场景,才需要FP16甚至FP32。不要一上来就追求高精度,边缘推理绝大多数是“跑得快、耗电少”优先,不是“刷新计算精度记录”。
真正决定体验的,还有内存带宽和工具链。NPU算力再高,如果DDR带宽不够,模型参数和特征图搬不动,照样卡成PPT。更现实的是,模型里很多算子NPU不支持,框架悄悄回退到CPU执行,那标称算力就约等于摆设。所以“有效算力”才是真实落地能力,它等于算力、带宽、算子支持率三者取短板。
理清这两个概念,再往下走就不会被各种参数带偏。我的习惯是建一张表格,把候选芯片的“稠密INT8 TOPS”“典型功耗”“内存带宽”“NPU算子支持情况”列出来,每跑一个真实模型,就用实测数字填进去。
2. 场景拆解:三类典型负载对应芯片画像
2.1 视觉检测:多路视频流、帧率与模型复杂度
视觉是边缘端AI最主流的场景,但“视觉检测”四个字下面差异极大。生产线上识别二维码和字符的模型,跟无人机上做目标跟踪的模型,对芯片的要求完全不同。
先看工业质检这类固定场景。通常需要接1路到4路相机,跑分割或检测模型,还要做PLC交互。帧率一般不高,10到30帧就够,但要求延迟稳定。这种场景的核心瓶颈常常不是TOPS,而是CPU要处理图像预处理、PLC通信、界面显示,NPU只负责模型推理。所以选型时除了看NPU,还要看CPU核数和内存容量。像瑞芯微RK3588这种八核平台,搭配6 TOPS NPU,做工业视觉绰绰有余;Jetson Orin Nano生态更完整,跑PyTorch/TensorRT顺手,适合研发周期紧的团队。
再看多路视频分析,比如安防、门店客流、高速收费站等场景,8路甚至16路1080P视频接入。每路都要解码、抽帧、检测、跟踪、结构化,这时候视频解码能力和内存带宽,往往比单芯片算力更关键。不少同学只看“TOPS很高”就下单,结果视频硬解通道少、内存带宽不足,16路视频一进来就开始掉帧。选这类方案,应该优先查芯片的视频硬编解码通道数、ISP能力,再决定要不要外接视频服务器或分流处理。
最后是无人机、移动机器人上做移动目标检测。模型通常不大,比如YOLOv8s或更轻量版本,但必须在几十毫秒内出结果,功耗还要低。类似Jetson Orin Nano、地平线旭日X3这类功耗可控、带NPU的板子比较合适。这个场景还要注意防抖和视频稳定,很多算力都消耗在图像去抖和预处理上,不能只算模型推理。
2.2 机器人和智能硬件:SLAM、避障与多传感器协同
机器人场景的AI负载不是单纯的CNN图像识别,而是视觉、激光、IMU、里程计多传感器融合,同时还要跑SLAM、路径规划、避障控制。这要求芯片不能只看NPU,还要看CPU实时性、GPU或向量计算能力、各类总线的完整度。
如果走ROS生态,NVIDIA Jetson系列是很多人的首选。TensorRT加速检测分割,CUDA配合特征提取,外设接口齐全,教程示例也多。代价是价格高、功耗偏大。如果产品对成本敏感,比如扫地机、割草机、配送小车,国产平台如瑞芯微、地平线、全志会更有优势,它们的NPU路线配合ARM核,能把整体功耗压到几瓦,缺点是部分深度学习算子需要自己适配,底层调试更费劲。
这里有一个容易被忽略的点:机器人通常不是“只跑一个模型”,而是多个小模型和数据流同时在跑。比如视觉定位一个模型、障碍检测一个模型、交互信号一个模型,再加上GPS融合。选芯片时要把“并发模型数量”算进内存需求。8GB内存往往只是及格线,如果还要跑端侧地图、语音交互、屏幕UI,内存就要往16GB甚至32GB考虑。很多人只看单模型性能,等到真正集成时内存爆掉,悔之晚矣。
另外,移动机器人对整机功耗有严格限制,因为电池容量和充电周期是硬指标。一颗高性能GPU能跑得很好,但可能让充电间隔从8小时缩到2小时,用户立刻不买账。所以机器人选型要反复权衡的是“单位瓦特能跑多少路模型”,而不是单纯峰值算力。
2.3 语音唤醒与控制:别把算力浪费在没必要的地方
很多人一听“边缘AI”就以为一定要上NPU,其实语音唤醒、命令词识别、简单声纹分类,一颗几十元的MCU加DSP就完全能搞定。关键在于提前想清楚算法等级:是仅仅唤醒词(比如“你好,助手”),还是连续语音识别加自然语言理解,两者算力需求差两个数量级。
做关键词唤醒(KWS)的话,主流方案是带有语音前端算法的低功耗芯片,通常搭配麦克风阵列做波束形成和回声消除。这类芯片的算力可能只有几十GOPS,但贵在功耗低、启动快、可以常年待机。很多产品会把它作为协处理器,把主控算力腾给视觉或多模态应用,这套架构在智能音箱、带屏设备里已经很常见。
真正需要边缘端中高算力的,是本地连续语音识别和端侧语音大模型。中文识别模型经精简、量化后,在4到8核CPU上可以实现接近实时的效果;如果跑语音大模型,则需要1GB以上内存和较大的DDR带宽。这种场景反推出来的芯片,往往和视觉场景重叠,直接复用中高算力平台即可,没必要单独再开一颗专用芯片。
语音场景还有一个特殊点:麦克风数据是连续流,需要长时间低延迟采集。即使NPU算力足够,如果音频接口冲突、驱动有抖动,同样会导致识别卡顿。选型时要特别确认开发板的音频输入通路是否满足你的通道数、采样率和低延迟要求,不能只看TOPS。
2.4 端侧大模型推理:内存带宽比TOPS更紧迫
最近越来越多产品想在边缘端跑3B、7B甚至更大参数的LLM。大家第一反应是“TOPS够不够”,但我吃过亏后发现,第一个瓶颈几乎是内存带宽。
大模型推理有个朴素公式:每生成一个token,至少要完整读一遍模型权重。比如一个7B模型用INT4量化后约4GB,如果想每秒生成20个token,内存带宽需求大约是4GB乘20,也就是80GB/s。市面上很多边缘板卡的DDR带宽在30到90GB/s之间,所以即便NPU算力很高,带宽不足时token生成速度也上不去。
另一件要算的是内存容量。模型4GB,加上KV cache、运行时开销,至少要8GB内存才能勉强跑,舒服一点需要16GB。这时候选芯片,内存容量优先级高于峰值算力。Jetson Orin系列有16GB甚至64GB可选,适合做端侧大模型原型;RK3588系列内存虽然可以扩展到16GB/32GB,但带宽是短板,跑小模型可以,跑7B需要实测验证,不能只看“能插大内存”就下结论。
还要注意,端侧大模型往往和视觉、语音等任务叠加。一个产品既要能对话,又要能识别摄像头内容,那内存和带宽需求会进一步上升。所以选型前建议先定义所有并发的AI任务,再算总内存占用和总带宽需求,而不是只盯着某一个模型。
3. 主流芯片横评与选型时的关键考量
3.1 从RK3588到Jetson Orin,一表看懂定位
没必要把所有芯片都罗列出来,选几个典型平台建立“坐标感”就够了。下面这张表,重点展示定位差异,实际参数以原厂最新文档为准,但它能帮你快速判断方向。
| 平台 | 官方标称INT8算力(参考) | 典型整机功耗 | 内存带宽/容量 | 适合场景 | 主要短板 |
|---|---|---|---|---|---|
| 瑞芯微RK3588 | 6 TOPS | 5-10W左右 | 内存可上16GB/32GB | 工业视觉、多路视频、中低算力机器人 | 大模型带宽偏紧 |
| Jetson Orin Nano | 约20-40 TOPS(视版本和稀疏口径) | 10-25W | 8GB,带宽几十GB/s | ROS机器人、算法原型、视觉检测 | 单颗价格高,量产成本不低 |
| Jetson Orin NX / AGX | 70-270 TOPS级别 | 25-60W | 16GB/64GB,带宽更高 | 端侧大模型、多路复杂感知 | 功耗和价格同步上升 |
| Hailo-8加速棒 | 26 TOPS | 2-5W左右 | 挂在主板上,无独立内存 | 已有主板/树莓派增强AI能力 | 依赖主机CPU和内存 |
这些数字只是选型参考,不同版本和批次会变,最终以原厂最新文档为准。表格里最想传达的是:每一档算力对应着一档功耗和价格,选型不可能既要高算力,又要低功耗,还要便宜。取舍是绕不开的,关键是取舍方向是否正确。
3.2 开发板、核心板还是加速棒,算清量产成本
很多人忽略了芯片之外的“载体形态”。同样是RK3588,你可以买官方开发板调算法,量产时用核心板加自研底板;同样是Jetson,也有开发套件、量产级模块和第三方板卡,价格差好几倍。
开发阶段,快速验证是第一目标。买官方开发板或成熟第三方核心板,驱动齐全、资料多,能省掉大量底层调试时间。我强烈建议不要在算法还没跑通时就开始画主板,否则软件与硬件问题混在一起,排错难度翻倍。先把模型、瓶颈、接口需求在开发板上验证完,再动硬件设计。
量产阶段,要把“开发板的成本”从账上拿掉。核心板虽然贵一些,但BSP、DDR、电源都经过验证,风险低。自己从SoC画底板,单板BOM可能省几十块,但一个电源时序问题就能拖两周。如果你做的是几百套的小批量产品,综合成本大概率不如直接买核心板省心。
如果你想给已有主控增加AI能力,比如树莓派或x86工控机上加推理能力,M.2或PCIe加速棒是低风险方案。加速棒自己不带内存,算力再高也要和主机抢DDR带宽,而且依赖厂商驱动和框架,需要先验证算子兼容。别以为加速棒插上就能白得几十TOPS,实际延迟和带宽限制可能会让效果大打折扣。
3.3 生态与工具链,决定研发进度的隐形因素
选芯片还要看软件配套。同一颗SoC,官方SDK做得好不好,社区案例多不多,直接影响你能不能在三天内跑通demo。我看到过不少凭硬件参数胜出的芯片,最后因为工具链装不明白、算子插件缺失,团队被迫从零踩坑,拖了几个月才上线,整体成本远超预期。
评估生态时,重点看几个维度:有没有成熟的ONNX/TensorFlow/PyTorch转换工具,转换后算子支持率怎么样;有没有预编译好的模型仓库,是否覆盖你的常用模型;有没有完善的容器化或轻量级部署方案;官方FAE和技术社区是否活跃。把这些列成打分项,比单纯比较TOPS值更贴近实际研发成本。
另外,量产供货也重要。新平台刚发布时,样片容易拿,但等到量产可能交期长达三个月。选型时要问清楚当前供货周期、长期供货承诺、工业级还是商业级版本。有朋友在这件事上吃过亏,样机阶段很顺利,小批量时发现芯片严重缺货,被逼着换平台,前面所有工作推倒重来。
4. 从场景到芯片的完整推算流程
4.1 把业务需求换算成算力需求
这个方法比较土,但特别管用:先用模型的理论计算量估一个最低算力,再按效率和并发乘冗余,最后拿实测校准。
步骤一,拿到目标模型。如果是自研模型,可以从训练框架日志里查到FLOPs或MACs;如果是第三方模型,可以查官方公开数据。以YOLOv8s为例,输入640x640时,官方大约28.8 GFLOPs,对应MACs约14.4 G。步骤二,加上目标帧率。30 FPS时,每秒需要14.4G乘30,得到432 GMAC/s。步骤三,按每个MAC通常算2个操作来换算,这就是864 GOPS,约0.864 TOPS。步骤四,考虑预处理、后处理、NMS、系统负载,乘1.5到2倍冗余,得到约1.3到1.8 TOPS的INT8算力需求。
按这个糙算,单路YOLOv8s在RK3588的6 TOPS上行不行?理论上行,但还要看CPU能否把前后处理消化掉。如果4路并发,就需要约5.2到7.2 TOPS,已经摸到RK3588边界;要是还在多路解码和显示上叠加负载,务必实测,不要只看理论数字。
当然,不同厂商的TOPS统计方式可能不一样。这里给的是估算参考,不等同于芯片真实跑模型的能力。最终判断还是以厂商SDK实测为准,我的经验是理论需求乘上“架构损耗系数”,ARM平台的NPU能做到标称值的60%到80%就算不错了。
4.2 用内存带宽做二次校验
算完TOPS,再算带宽。带宽校验分两部分:一是视频流和传感器数据的输入带宽,二是模型权重和特征图的搬运带宽。
视频流方面,4路1080P30,YUV420原始输入每秒约124MB/s,再加上模型中间特征图,带宽压力不容小觑。这也是很多视觉平台要强调硬解、硬编和零拷贝的原因。如果芯片的视频输入通道不支持直通NPU,而是绕一大圈内存,数据搬运会成为隐藏瓶颈。
模型方面,如果跑一个2GB的INT8模型,每秒推理10次,仅仅读权重就需要20GB/s带宽。边缘端很多芯片实测可用带宽会明显低于理论值,所以选型时要把“每秒推理次数乘以模型体积”作为粗估,反推需要多大带宽。如果算出来比平台标称带宽的一半还高,就要警惕了。
对于大模型,还要把KV cache写入也算进去。对话长度越长,KV cache越大,越容易顶满带宽。这也是为什么端侧大模型不能只看“内存够大”,带宽同样要留足。我见过有人强行在低带宽板卡上跑7B模型,最终每秒只出1个token,体验完全不可用。
4.3 工具链与实机压测,数据说话
估算只能初筛,最终还得用工具链和实机压测。当你圈定2到3个平台后,建议做这五件事。
第一,把模型导成ONNX,查算子兼容列表。对比NPU支持哪些,哪些走CPU回退。第二,在开发板上用厂商SDK跑同一模型、同一个输入,测单次延迟、多次平均延迟,以及99分位延迟。很多板卡平均帧率不错,但偶尔一次卡顿就可能导致机器人撞墙或质检漏检,必须看尾延迟。第三,用功率计或板载传感器测整板功耗,至少跑30分钟,看热降频曲线。我常遇到前10分钟正常,后面算力掉一半的情况,这是选型阶段最容易忽视的坑。第四,做多路并发测试,跑目标数量的任务流,而不是单任务。第五,把模型量化的精度损失也测一遍,INT8量化后mAP下降在可接受范围才算通过。
建议把测试结果填成一张“场景验证表”,内容包含:模型名称、输入尺寸、目标帧率、延迟P50/P99、整板功耗、内存占用、算子回退情况。这张表不仅帮你做这次选型,以后换芯片也能复用,相当于把血泪经验沉淀成组织资产。
5. 选型中容易踩的坑与排查思路
5.1 被稀疏算力或INT8宣传误导
厂商宣传TOPS时,经常用的是稀疏算力,实际模型是稠密的,算力要打折。还有个类似问题,是宣传“INT8算力很高”,但量化后的精度损失严重,实际工程中根本不敢用。
排查方法很简单:先在官网或技术手册里找“dense”还是“sparse”字样,再确认测的是INT8还是FP16。如果销售只给PPT,不给你跑模型的机会,这种芯片基本可以放弃。边缘端项目要的是落地,不是买跑分。还有一个技巧:看厂商自己的模型运行benchmark,尽量找和你的模型结构相似(比如都是YOLO类)的数字,比单纯看TOPS更有参考性。
5.2 模型算子不兼容导致NPU变CPU
这是最隐蔽的坑之一。模型导出成ONNX后,发现LayerNorm、GridSample或某个自定义算子不被NPU支持,框架自动走CPU回退。表面上模型能跑,延迟却比预期多3到5倍,而且CPU占用飙升,整板功耗也跟着变大。
遇到这种情况,不要急着换芯片。先看算子能不能替换,比如把LayerNorm换成等价结构,把GridSample改成双线性插值组合;再看厂商SDK有没有提供自定义算子插件入口。如果都解决不了,再换芯片也不迟。关键是提前查算子支持表,不要等选型完成后才处理。模型里算子越简单,移植越顺利,这也是选型时要考虑的一个重要维度。
5.3 热降频和量产后功耗不一致
开发阶段用外接电源,板卡放在通风桌面,跑得又稳又亮。到了用户现场,机器塞进密封机箱,电源还不干净,系统就出现间歇性掉帧,甚至死机。这种情况多半是热降频和电源瞬态响应不足造成的。
处理思路有三步:先看温度传感器读数,确认是否过热触发降频;再换更稳定电源或加强散热方案;最后在“最坏工作环境”下跑24小时压力测试,而不是只在舒适环境里测。量产阶段的功耗预算,要把芯片、内存、外设、风扇整机加起来算,不能只看芯片标称功耗。常有客户问为什么样机功耗和规格书差那么多,因为规格书往往是单芯片功耗,不是整板功耗。
5.4 只看价格不看开发成本
预算表上一颗芯片可能比对手便宜50元,但软件工具链很差,模型移植要花一个月,还得专门养一个底层工程师。另一颗芯片贵50元,但官方SDK里直接有该模型示例,三天就能跑通demo。把人力成本摊进去,后者反而更便宜。
这提醒我们:边缘端AI选型的最终指标,是“单位产出总成本”,包含硬件、研发、维护、升级。对大部分团队而言,成熟的生态和工具链值得多花点钱。尤其是小团队,最缺的不是预算,而是时间和技术积累,千万不要为了省几十元的BOM,把整个产品拖垮。
6. 最后说点我的实际经验
6.1 开发阶段尽量用云端GPU与边缘芯片配合
我现在的团队选型前,会先在算力云平台租一张GPU,把模型量化、压缩、精度验证跑清楚,得到一个“理想算力参考值”,再拿这个值去比选边缘芯片。这样能避免拿着未优化的几百GFLOPs模型直接套算力表,误差太大。云端跑出的FP32性能,经过量化压缩后可以大致推算出边缘端低精度需求,但不能直接换算,因为两者架构差异很大,只能作为参照系。
云端还可以快速试不同框架和量化方案。比如先确认INT8量化后精度达不达标,再回过来选边缘芯片,就能少走很多弯路。如果没有这步,模型到了边缘平台才发现量化掉点严重,等于把风险留到最后一刻。
6.2 永远为“下一个模型”留一点冗余
产品不会只跑选型时那个模型。算法团队很可能三个月后换成更大模型,或者增加一路相机。内存尽量选大,接口尽量多留,算力留20%到30%冗余,比到时候重新选型省太多。我见过太多项目,为了把成本压到极致,选了一颗刚刚够用的芯片,半年后模型升级直接卡死,只能重开硬件,整个项目周期被打乱。
最后说一句个人心得:边缘端AI选型,本质上是在算力、功耗、价格、周期四角之间,找一个不被瓶颈卡死的平衡点。参数表只是起点,真正决定成败的,是你能不能把业务场景翻译成工程指标,再用工具链和实测数据去验证。如果一开始方向错了,后面跑得再快也是白搭。希望这篇从场景反推芯片的思路,能帮你少走点我当初走过的弯路。