做具身智能方向的时间不算短了,车载和机载平台都折腾过好几轮。今天想聊的核心就一个:端侧AI算力到底怎么选,怎么测,怎么避坑。这个话题看着老生常谈,但实际踩过大坑的人应该都有体会——数据手册上的TOPS只是起点,真正落地时功耗、散热、带宽、工具链,任何一个环节掉链子都能让项目直接延期。这篇内容适合正在给机器人、无人车、无人机或者其他移动设备做硬件选型的工程师、技术负责人,哪怕你对AI推理部署还不太熟,按照这篇文章的思路走,也能少折腾好几周。
先说结论:算力芯片的选型没有银弹,只有“在约束条件下做取舍”。车载和机载虽然都属于具身智能的移动平台,但对端侧算力的要求差异非常大,车载可以容忍几公斤的重量和几十瓦的功耗,机载却连多一根线都要掂量半天。下面我把这两类场景里踩过的坑、测过的数据、总结出的选型逻辑一次性写清楚。
1. 想明白需求再选型:车载和机载对算力的约束完全不同
很多团队一上来就对着芯片参数表挑算力最高的,这是最典型的坑。端侧AI算力不是越大越好,而是“够用且能稳定发挥”才是最好。在选型之前,需要先把场景的物理约束和任务负载拆开看,否则后面每一步都是在给前面的拍脑袋买单。
1.1 为什么必须端侧:延迟、带宽与可靠性的三座大山
先说端到端延迟。以自动驾驶为例,从摄像头取帧到AI推理输出控制指令,整个闭环通常要求在50ms以内,紧急制动场景甚至要做到30ms以内。如果依赖云端推理,即使网络延迟只有20ms,加上图像上传、推理、结果回传、控制执行,整个链路奔着100ms就去了,这在高速场景下基本等于没刹车。无人机更夸张,姿态环路的控制周期一般是1kHz到500Hz,视觉定位如果走端侧,单帧处理要压缩到10ms级别,云端方案完全不可行。
再就是带宽。一颗800万像素的摄像头,YUV422格式一帧原始数据大约16MB,30帧就是480MB/s。如果做多传感器融合,视频流再加上激光雷达点云,数据量轻松上GB/s。把这些数据实时传到云端,不仅带宽扛不住,费用也扛不住,而且传输本身还会引入额外的编码解码延迟。
最后是可靠性。真实环境里断网、弱网、进出隧道、无人机飞过信号遮挡区域,都是常态。哪怕链路只断几百毫秒,对运动中的设备来说可能就是一次碰撞或炸机。端侧AI算力的价值就在这里:把核心的感知、决策、局部规划放在本地,云端只做高层的调度和远程监控。这也是具身智能设备从Demo走向产品必须跨过的一道门槛。
1.2 车载和机载的物理约束差异:从功耗到振动都是坑
车载虽然叫“车规”,但物理约束相对宽松。车辆本身有12V/24V供电系统,电池容量动辄几十千瓦时,一块Orin模组满载60W的功耗对整车来说几乎可以忽略。空间上,后备箱、座椅下方、仪表台内部都有不少位置可以安放计算单元,散热风道也好设计。但车载环境有个非常隐蔽的坑:振动和EMC。路面颠簸、发动机舱的电磁干扰、大功率电机启停造成的电压跌落,这些都会直接作用在算力模组上,轻则偶发死机,重则系统复位。
机载则完全是另一个极端。以多旋翼无人机为例,整机重量每增加100克,续航和机动性都会明显下降。算力模组每增加1W功耗,电池就要多配对应的容量,而电池本身又有重量,形成一个正反馈的重量螺旋。假设锂聚合物电池的能量密度按180Wh/kg算,额外10W的持续功耗,飞行30分钟就需要5Wh能量,折算电池重量约28克,再加上结构件、线束和BMS,实际上增重50克以上。如果无人机本身很小,这50克可能就逼着你换更大功率的电机和螺旋桨,整套动力系统都要跟着升级。
所以机载选型的核心不是“能跑多快”,而是“每瓦算力能跑多少任务”。我自己做机载平台时,第一件事就是把功耗预算画出来:飞控、图传、传感器各占多少,留给AI算力模组的只剩10-25W。在这个预算上限内再去找芯片,范围一下就缩小了。
2. 算力芯片选型:TOPS只是入场券,真实算力看这四样
端侧AI算力的选型,很多人一上来就问“多少TOPS”,我只能说TOPS这个东西,看看就好,千万别当成硬指标。芯片厂商标称的算力数值很多都有水分,有的是稀疏算力,有的是INT8理论峰值,真到了你的模型上,能达到标称值的百分之六七十就算发挥不错。除了算力,至少要同时看内存带宽、能效比、接口和工具链,这四样才真正决定项目能不能落地。
2.1 TOPS陷阱:从标称算力到真实可用算力的换算逻辑
先搞清楚TOPS怎么算的。TOPS是Tera Operations Per Second,每秒万亿次操作。这里有个特别坑人的地方:很多芯片标的是稀疏算力,也就是利用了对权重矩阵中大量零值的跳过优化。但实际模型里,稀疏度能不能达到芯片要求的比例,完全取决于模型结构和你有没有做剪枝。一个标称275 TOPS的芯片,如果这是稀疏算力,换算成稠密算力通常要除以2,也就是137 TOPS左右,再考虑到散热降频和内存带宽瓶颈,实际持续工作的有效算力可能只有标称值的40%-60%。
内存带宽是另一个更隐蔽的瓶颈。AI推理本质上是数据搬运,一个1GB的INT8模型,跑一次前向推理至少要完整读取一遍权重,也就是1GB的数据量。如果芯片内存带宽只有100GB/s,那光搬运权重就需要10ms。这时候无论芯片算力标到多高,实际帧率都会被内存带宽卡死。所以选型时一定要看芯片的内存带宽和模型数据量是否匹配,memory-bound的模型尤其要重视这一点。
我自己的经验是,选型阶段先拿目标模型在候选芯片上做一次“小规模实测”,不要只看厂商给的Benchmark。把模型的输入分辨率、batch size、单帧或单次推理数据量算清楚,再对比芯片的稠密算力和内存带宽,基本就能判断一个芯片是不是“样子货”。
2.2 主流算力芯片横向对比:从英伟达到国产方案怎么选
这两年是端侧AI算力芯片的爆发期,主流方案已经不再是英伟达一家独大。下面这张表是我基于公开资料和实测数据整理的,大家可以当作选型时的参考底稿,具体参数以各厂商最新文档和实际模块版本为准。
| 芯片/模组 | 标称AI算力 | 典型功耗 | 内存带宽 | 工具链成熟度 | 适合场景 |
|---|---|---|---|---|---|
| Jetson Orin NX 16GB | 100 TOPS(稀疏) | 10-25W | 102.4GB/s | 非常成熟 | 机载、小型车载、边缘盒子 |
| Jetson Orin AGX 64GB | 275 TOPS(稀疏) | 15-60W | 204.8GB/s | 非常成熟 | 车载域控、中大型机器人 |
| Jetson Orin Nano 8GB | 40 TOPS(稀疏) | 7-15W | 68GB/s | 非常成熟 | 轻量机载、简单视觉任务 |
| 高通8295/8775 | 几十到上百TOPS不等 | 视具体型号 | 视平台而定 | 中等,车厂定制需求多 | 智能座舱、高阶辅助驾驶 |
| 地平线征程6系列 | 跨度很大,覆盖低中高 | 视型号而定 | 视型号而定 | 快速完善中 | 车载ADAS、机器人域控 |
| 昇腾310系列 | 中低算力 | 8-20W级别 | 视型号而定 | CANN框架,学习成本偏高 | 边缘推理、中小型设备 |
英伟达的方案胜在生态成熟,TensorRT的算子覆盖度和性能优化在通用AI芯片里仍然是最好的,而且Jetson系列从7W到60W的功耗档位覆盖很全,机载和车载都能找到合适型号。但缺点也很明显:价格高、交期长、部分型号供货紧张,而且它本质上是“通用边缘计算平台”,车规级的认证和长生命周期支持需要自己额外评估。
国产芯片这两年的进步确实快,地平线征程系列在车载ADAS领域装机量不小,工具链从过去被诟病到现在已经能支撑比较复杂的视觉模型量产。昇腾走的是另一条路线,自带CANN框架,对自家硬件优化到位,但如果你团队的算法栈深度依赖PyTorch生态,上手周期会比英伟达长不少。选国产方案之前,务必让团队花两周时间跑一个真实模型,确认算子支持和部署流畅度能不能接受。
2.3 工具链的隐性成本:算子支持、部署框架与团队学习曲线
我见过太多项目因为忽视工具链而翻车。芯片标称算力很漂亮,但当你把PyTorch模型导进去,发现某个关键算子不支持,或者要自己写插件,项目节奏就全乱了。这个坑在选型阶段就要用“最小验证”来排除:把一个包含项目核心业务的模型(比如YOLO系列检测头、Transformer结构、自定义后处理)完整跑通端到端部署,记录从模型转换到推理上板需要多少天。
TensorRT虽然强大,但每代版本对算子支持有增减,锁定版本很重要,不然升级一次CUDA可能连带出一堆兼容问题。国产工具链的问题更多集中在文档和社区积累上,遇到问题翻不到现成答案,需要摸源码或者直接找FAE。所以工具链成熟的方案,短期看单价高,长期算上人力成本反而可能更便宜。这也是为什么很多初创公司宁愿多花点钱用Jetson,也不愿意在工具链上赌时间。
3. 实测记录:两类平台的真实功耗、温度与性能表现
说一万遍理论,不如上一次实测。这一节我把车载和机载两种场景下的实测方法、数据和结论整理出来,数据和过程都可以直接复用到你自己的项目里。先说测试环境:室温25摄氏度左右,负载模型统一用YOLOv8s检测模型和ResNet-50分类模型做混合压力测试,测试时间30分钟,记录稳定后的数据。
3.1 测试怎么设计:负载模型、功耗计、温度采样的完整方案
测试前先确定负载模型。选型不能只看单模型推理速度,要按实际业务里最重的场景来压。比如车载平台要同时跑3路摄像头检测、1个BEV融合模型和一个局部规划网络,那就把这几个模型叠起来跑;机载平台可能只有一个视觉定位模型和障碍物检测模型,那就以这个组合为基准。负载模型跑30分钟以上,让散热系统达到热平衡,这个数据才是真实可用算力。
功耗测量我习惯用串联电流计或者带电流记录的电源。Jetson模组可以通过tegrastats工具直接读CPU/GPU频率、温度、功耗,这个数据最准,可以秒级记录。温度测量在模组核心处贴一个NTC热敏电阻,同时在散热片表面用红外测温枪辅助确认。还要跑一个端到端延迟统计,在代码里打时间戳,记录从图像输入到推理输出控制指令的完整链路时延。
3.2 车载场景实测:Orin AGX在无人车上的稳定功耗和散热策略
以我这边车载平台为例,用的是Orin AGX 64GB模组,搭配一个主动散热风扇和铝合金外壳,环境温度25摄氏度,负载是3路YOLOv8s检测加1路语义分割模型并行推理。实测数据如下:
| 项目 | 空闲状态 | 满载状态 |
|---|---|---|
| 整机功耗 | 18W | 58W |
| GPU频率 | 最低档 | 长时间稳定在1.3GHz |
| 模组核心温度 | 41摄氏度 | 73摄氏度 |
| 检测模型单路帧率 | - | 45-50 FPS(无降频) |
| 端到端控制链路延迟 | - | 38-42ms |
这个结果整体在预期内,但也有一个意外:满载功耗比标称的60W略低,因为温度接近75摄氏度后,系统对GPU频率做了轻微限制。这个降频是“软降频”,不仔细看tegrastats根本发现不了,但帧率会从55FPS慢慢掉到45FPS。车载平台的散热设计一定要留至少20%的余量,我后来把风扇风道重新做了密封,温度降了8摄氏度,满载帧率又回去了。
3.3 机载场景实测:Orin NX在无人机上的功耗墙和降频避坑
机载平台我用的是一颗Orin NX 16GB模组,整机设计功耗限制在20W。散热方案是被动散热片加机臂气流辅助,环境温度同样是25摄氏度。负载是1路视觉定位模型加1路YOLOv8n检测模型:
| 项目 | 空闲状态 | 满载状态 |
|---|---|---|
| 整机功耗 | 8W | 19.5W |
| GPU频率 | 最低档 | 稳定在918MHz |
| 模组核心温度 | 45摄氏度 | 82摄氏度 |
| CPU/GPU平均占用 | - | CPU 60% / GPU 95% |
| 单帧推理延迟 | - | 18-22ms |
机载的坑比车载明显得多:被动散热片在无人机悬停时气流很小,温度一路飙到82摄氏度,系统已经开始明显降频。更麻烦的是,无人机飞行时电机电流变化会造成电源电压波动,模组偶发出现瞬时算力下降。后来我把功耗墙从20W降到17W,温度稳定在76摄氏度,反而推理延迟更平稳。这件事给我一个很重要的教训:机载场景不要追求峰值算力,要追求持续算力,宁可降一点功耗墙,换稳定的推理时延。
3.4 散热方案对比与降频的连锁反应
散热设计不是一个“加上风扇就完事”的环节。被动散热片适合功耗低、通风好的机载场景,但散热片的表面积和鳍片方向要配合气流路径,否则积热严重。主动风扇适合车载,但风扇本身会增加噪音、功耗和故障点,而且风扇进风口如果设计不好,灰尘会快速堆积导致散热失效。
降频的连锁反应很多人没意识到:GPU降频不仅影响推理帧率,还会导致端到端延迟抖动加大。控制算法对延迟抖动非常敏感,延迟忽高忽低会让机器人运动不平滑,严重时甚至产生振荡。所以实测时不仅要测平均延迟,还要看P95延迟和最大延迟。我见过一个项目,PCB布局时把散热片附近放了颗电源芯片,结果电源芯片先过热,导致整个模组供电降额,AI算力直接腰斩。这类问题不实测根本发现不了。
4. 端侧部署的工程细节:框架选择、量化与实时性优化
芯片选完、散热方案定完,真正的硬仗在部署环节。同样的芯片,部署方式和模型优化做得好坏,性能可以差2-3倍。这个环节涉及推理引擎选择、模型量化、端到端流水线设计,每一步都有坑。
4.1 推理引擎怎么选:TensorRT、ONNX Runtime还是自研
推理引擎的选择,核心看两个维度:算子覆盖度和部署调试效率。对英伟达平台,TensorRT是性能首选,但有个前提条件:你的模型算子它都支持。稳妥的做法是先通过ONNX Runtime把整个模型链路跑通,确认功能正确,再转到TensorRT做优化。如果TensorRT某个算子不支持,可以先看能不能用等价结构替换,实在不行再写自定义插件,不过这会让交付周期拉长一到两周。
国产芯片平台目前的现状是,各家都有自己的推理引擎和模型转换工具,基本都支持PyTorch模型的直接转换,但对复杂模型的支持成熟度不一。我选型的判断标准是:先把项目里最复杂的那个模型完整转换一遍,不行的直接pass。这个验证不要放在最后,要在选型阶段就做掉。
4.2 量化与模型压缩:INT8量化到底怎么调才不掉点
端侧AI算力最有效的利用方式,就是把模型从FP16压到INT8。INT8的推理速度通常是FP16的1.5-2倍,但精度损失需要仔细控制。PTQ(训练后量化)最省事,但碰上小模型或对精度敏感的模型容易掉点;QAT(量化感知训练)效果更好,但需要重训模型,成本高。
我的操作流程是:先收集300-500张覆盖各种光照和场景的校准图片,用FP16引擎跑一遍保存输出,再转INT8引擎跑一遍,逐层对比输出差异,重点看检测框的置信度和位置偏差。以YOLOv8s为例,FP16模型mAP大约45,INT8量化后通常能保持在43-44,掉1-2个点属于正常范围。如果掉点超过2个点,先检查校准数据集是不是太单一,再检查有没有量化敏感的层,比如Detection Head或特殊的注意力结构,这些层可以单独保留FP16精度。
4.3 实时性优化:从串行到流水线,端到端延迟降一半
很多团队把AI推理做成“采集一帧、处理一帧、输出一帧”的串行结构,这样不仅延迟高,而且GPU利用率低。正确的做法是把整个链路拆成采集、预处理、推理、后处理、控制输出5个阶段,每个阶段放到独立的线程或硬件单元里,形成流水线。
以车载平台为例,摄像头采集通过DMA直接到内存,CPU对图像做缩放和归一化,GPU/AI加速器做推理,后处理放CPU跑NMS,控制指令则通过独立线程发送。两个阶段之间用环形缓冲区连接,这样整条链路里虽然单帧推理要20ms,但端到端延迟可以做到35ms左右,而不是所有阶段的简单累加。实测中,光是把预处理从CPU移到GPU,端到端延迟就能降10%以上。
5. 从样机到量产:供电、EMC、连接器这些隐藏的硬件坑
这一节是纯粹用钱和项目延期换来的经验。样机上跑得好好的系统,一装到真实载体上就各种奇奇怪怪的故障,十有八九出在供电、连接器和机械集成上。
5.1 振动环境下的连接器问题:偶发断联是最难查的故障
车载和机载都是强振动环境。某次无人车测试,AI盒子时不时报摄像头断流,排查了一周,换了一堆软件版本都没解决,最后发现是GMSL连接器在振动下接触不良。这类偶发问题极其隐蔽,因为静态测试时一切正常,一旦跑起来,振动频率和连接器的共振点对上,就会出现瞬断。
经验是:样机阶段用普通的HDMI/USB线没问题,但做中试和量产时,所有连接器都要换成带锁扣的类型,线束要留够应力释放环,并且用扎带固定在结构件上。PCB端的连接器尽量选带定位柱的,焊盘要做补强。机载环境更严苛,相机线、天线线最好直接走板对板连接器,减少线缆焊接点。
5.2 供电与EMC:大电流抽载导致的复位和花屏
AI模组在推理时会瞬间抽取大电流,比如Orin AGX从空闲到满载,电流可能从2A跳到8A以上。如果前端电源设计和储能电容不够,电压就会被拉低,轻则模组降频,重则直接复位。有一次车载平台一启动AI任务就重启,排查后发现是DC-DC转换器的响应速度跟不上负载变化,在输出端并联了几个470uF的固态电容后问题消失。
EMC问题更隐蔽。电机或电磁阀动作时产生的尖峰脉冲,会通过电源线或地线耦合进算力模组,造成推理结果偶发异常。排查方法是给模组供电单独走线,增加共模电感和TVS管,同时在PCB四角加接地过孔阵列降低地弹。这些措施在样机阶段看着是过度设计,但到了实车实测阶段,能帮你省下大量排障时间。
5.3 硬件选型速查清单:照着打勾就能少踩一半坑
每次做新项目的硬件选型,我都会用下面这个清单逐项过一遍,建议你也打印出来对照着看:
| 检查项 | 验收标准 |
|---|---|
| 稠密算力是否满足峰值负载 | 取标称算力的50%-60%做设计余量 |
| 内存带宽与模型数据量匹配 | 模型一次前向读取时间控制在帧间隔的50%以内 |
| 持续功耗是否在供电预算内 | 机载建议功耗墙控制在预算的80% |
| 散热方案能否在最高环境温度下压住温度 | 核心温度不超过规格书的85% |
| 连接器是否满足振动等级 | 带锁扣、线束固定、有应力释放 |
| 工具链是否支持核心模型所有算子 | 选型阶段实跑完整模型确认 |
| 供应链交期和供货稳定性 | 提前确认替代料或第二供应商 |
这套清单看着简单,但真能严格执行完的项目,基本不会出大岔子。反过来,凡是后面出问题的,回头看几乎都是清单里某一项没过就强行往下推了。
最后再补充一点我自己的体会。端侧AI算力的选型,本质上是在算力、功耗、价格、工具链成熟度之间做平衡,没有哪颗芯片能全都要。车载平台我会优先考虑持续算力和散热,机载平台我会优先考虑每瓦算力和稳定性。真正有用的选型经验,都是靠一轮一轮实测堆出来的,数据手册只能给你一个出发的起点,别让它成为你做决策的唯一依据。如果你也正在做类似的项目,欢迎带着你的实测数据来交流,踩坑经验这种东西,多分享一份,大家都能少走一段弯路。