ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

AI与硬件结合的系统架构:从模型部署到边缘计算落地的关键路径

2026/9/9 0:42:56 拓冰建站 浏览量
AI与硬件结合的系统架构:从模型部署到边缘计算落地的关键路径 做AI和硬件结合的开发这几年我最深的感受是AI模型本身是“软”的但一旦它要跑在真实设备上、去驱动真实世界的执行器就变成了一件非常“硬”的事。我说的“硬”不只是硬件意义上的硬更是“难题”的硬。比如你辛辛苦苦在服务器上训好的一个图像分类模型精度98%看起来完美。但把它部署到一块带NPU的嵌入式板卡上帧率跑不上去、内存直接爆掉、某些算子压根不支持这时候你会意识到一个问题——AI系统落地到物理世界从来不是一个单点问题而是一个系统工程。这就是我今天想聊的“AI与硬件结合的结构”。这篇文章不是某个特定产品的拆解而是我对这类系统整体架构的理解它分几层、每层干什么、层与层之间怎么衔接、做选型时的核心依据是什么。如果你是嵌入式工程师想往AI方向靠或者算法工程师想搞懂模型怎么在硬件上跑起来这篇应该能帮你把整张地图先铺开。1. AI与硬件结合的整体架构从数据采集到执行的完整链路1.1 一次语音唤醒背后的软硬件协作先从一个最直观的例子切入智能音箱的语音唤醒。你用“小X小X”唤醒音箱整个过程看起来只有一秒钟背后却经过了完整的AI硬件链路。麦克风把声音振动变成模拟电信号信号经过放大和ADC采样后变成数字PCM数据这时候硬件层面的第一个动作就完成了。数字音频进入主控芯片之后先做的是语音预处理——去回声、降噪、人声增强这些算法很多是跑在芯片的DSP或专用音频处理单元上的不需要动用大算力。预处理完的音频帧会被送进唤醒词检测模型也就是一个经过量化的、常驻内存的轻量级神经网络。这个网络把“是唤醒词还是非唤醒词”的判断结果输出出来一旦判定为唤醒系统才会把后续的音频送去云端或更大的本地模型做语义理解。我很喜欢用这个例子来向别人解释AI和硬件结合的结构因为它完整体现了分层的逻辑物理感知层负责把真实世界变成数字信号边缘处理层负责轻量级的实时算法推理层运行AI模型做模式识别执行层根据识别结果去驱动应用逻辑。1.2 四层架构模型每一层的职责边界把上面的例子抽象出来一个完整的AI硬件系统我习惯把它分成四层来看。这四层不是硬性的行业标准是我自己做项目时梳理的心智模型新手可以把它当成地图来用。物理层是最底层的感知和执行。麦克风、摄像头、温湿度传感器、IMU惯性测量单元、电机驱动、继电器这一层的核心矛盾是“信号质量”。模拟电路设计、PCB布局布线会影响传感器数据的信噪比这直接决定了上层AI模型输入的质量上限。我见过不少项目模型在公开数据集上跑得好好的一接上真实传感器就Garbage In Garbage Out问题往往就出在物理层。接入层负责把物理层的原始信号变成计算机能理解的数字结构。ADC采样率配置、I2S总线时序、图像传感器的MIPI接口、SPI总线上的寄存器读写都是这一层要处理的事情。这一层是最容易被AI工程师忽视的但它决定了数据的完整性和实时性。处理层是整个AI能力的执行单元。CPU、GPU、NPU、DSP各自承担不同类型的计算任务。AI推理主要在NPU或GPU上进行但整个系统的任务调度、通信管理、内存管理还是要靠CPU。这一层需要考虑的不是“模型精度”而是“算力效率”。应用层是AI的“智慧”真正转化为行动的地方。识别出人脸之后要不要开门检测到异常之后要不要报警这个决策逻辑和应用逻辑就在这一层。它看似简单却是整个系统价值交付的终点。把这四层放在一起看你就能明白为什么我强调“结构”这个概念——AI和硬件结合不是简单地把模型塞进芯片而是从传感器到决策执行的一条完整链条每一层都有自己需要解决的核心问题任何一层掉链子整个系统都跑不起来。2. 算力底座的选择逻辑算的是“硬件性价比账”2.1 常见的算力方案定位从MCU到GPU算力方案的跨度非常大。这也是很多嵌入式工程师刚接触AI项目时最大的困惑——芯片型号那么多到底哪个够用纯MCU跑AI的方案适合极轻量级的任务比如关键词唤起、异常声音检测、基于决策树的简单分类。Cortex-M4或者Cortex-M7运行CMSIS-NN优化后的模型可以跑运算量在1M MACs到几十M MACs之间的网络功耗可以控制在几十毫瓦级别成本几块钱到几十块钱。这类方案商用成熟智能门锁、TWS耳机里大量使用。带NPU的SoC是目前边缘AI设备的主流选择。瑞芯微的RK3588、算能的CV181x、地平线的旭日系列本质是CPUGPUNPU的异构SoCNPU算力从0.5 TOPS到6 TOPS不等。这类平台能跑2-4M参数量的模型或轻量级目标检测网络同时支持多路视频流接入是智能家居摄像头、边缘计算盒子、工业质检设备最常见的方案。根据我的实际测试体验Rockchip平台的RKNN工具链在算子支持度上这几年进步明显很多常见视觉模型基本能无痛转换。更高算力的方向就是英伟达的Jetson系列、华为昇腾系列等。Orin平台可以跑到275 TOPS支持Transformer结构的大模型在边缘端推理适合自动驾驶、机器人、复杂工业视觉这类需要更大模型和更高实时性的场景。如果算力需求再往上走就只能走服务器GPU或云端方案了。2.2 选型时最容易被忽略的三个维度很多人都知道“算力越高越好”这个道理但真正做选型的时候只看TOPS数值是远远不够的。有几个维度是纸面参数上看不出来的但不考虑清楚项目后面一定会吃苦头。内存带宽和片内SRAM大小。这是我最想强调的一点。很多NPU的实际利用效率远低于理论值就是因为数据在DDR和SRAM之间搬运的时间远远大于计算本身的时间。如果芯片的SRAM只有几百KB而你的模型中间层特征图有几十MB那NPU就只能反复从内存搬运数据效率非常低。我看过一个项目换了算力更低的芯片反而跑得更快就是因为新芯片的SRAM更大、带宽更高。工具链成熟度比芯片算力本身更影响开发进度。算力再高如果模型转换工具各种报错、算子各种不支持你怎么都跑不起来。我做项目评估一款芯片会先看它的模型转换工具支持哪些算子、失败率多高、社区活跃度怎么样这些信息比跑分数据更值钱。量产供货稳定性。选型不能只看性能还要看这颗芯片能不能稳定供货、未来会不会停产生命周期有多长。工业、车载这类长生命周期产品芯片的供货周期至少要看5年。2.3 一个实际的选型推演以工业缺陷检测项目为例。需求是检测产品表面的划痕、污渍精度要求达到95%以上速度要求每件产品检测时间在500毫秒以内。我先评估模型规模。用YOLOv5s或YOLOv8n这类轻量级目标检测网络模型大小在10-20MB之间INT8量化后算力需求大约在2-4 TOPS左右。这个算力在NPU SoC方案和Jetson方案里都能满足。再考虑实际使用环境工厂车间温度可能比较高要无风扇设计整机功耗控制在10W以内Jetson Nano的5W-10W功耗能满足但价格偏高。RK3588的NPU算力为6 TOPS功耗在3-8W之间价格比Nano低不少工具链支持YOLO系列已经很成熟。最后我选择RK3588不仅成本更优还能利用它的6路视频接入能力做多工位复用。核心逻辑只有一个在满足功能和性能需求的前提下综合评估成本、功耗、开发难度和长期供应稳定性选最经济可靠的组合。你会发现在绝大多数项目场景里算力适中、工具链成熟的工业级SoC比单纯的大算力方案更符合商业逻辑。3. 数据通路设计瓶子里装的到底是水还是沙子3.1 传感器数据是怎么走到AI模型里的我习惯把AI硬件系统的“数据通路”比作一条水管从传感器到算法模型数据的形态在每一段都不一样决定了整条管子的输送方式。以视觉系统为例图像传感器的CMOS阵列输出的原始RAW数据经过ISP图像信号处理器处理后变成RGB或YUV图像这段数据量是最大的。一颗500万像素传感器在30fps时每帧原始数据超过10MBYUV422格式也有近15MB。如果这部分所有帧都交给NPU去跑算力再强也难以支撑所以工程师会设计复杂的调度机制只有真正需要识别的关键帧才会进入推理模块其他帧只做编码存储或者直接丢弃。音频通路也有类似逻辑。麦克风采集到的PCM数据通常以16kHz/24kHz采样率进来相比图像数据不大但要保证数据没有撕口。音频的I2S接口采样的缓冲尤其重要如果DMA缓冲区处理不及时会出现“咔哒”声那样的数据丢失。这考验的是驱动和中断任务的实时性设计。3.2 推理结果如何变成控制指令AI模型输出的是概率值、类别编号、检测框坐标等逻辑层面的结果这些结果要被转换成物理世界的动作中间需要一条“解释”链路。比如一个自动门禁系统模型识别出“人脸是管理员”之后系统需要把结果映射为一个门锁控制信号。这个映射过程通常经历置信度阈值判断→业务逻辑校验比如当前时间是否允许通行→动作决策开门还是不开门→执行信号生成→功率驱动电机转动、电磁锁断电。这里有个容易被忽视的点是执行器动作的“平滑性”和安全机制。AI的输出是非连续的离散判断上一秒“识别到人”下一秒“没识别到人”如果直接把开关量丢给电机就会出现一顿一顿的抖动。好的设计会在AI决策和物理执行之间加一层“平滑层”结合时间相滤波、滞后阈值、超时保护这些机制让动作更自然。在工业场景里这层平滑机制也是安全逻辑的一部分需求里经常会要求“AI判断可能出错时系统要能自动进入安全状态”。3.3 通信协议选型一切都在为“实时性”服务在更复杂的系统中AI和硬件可能分布在多个板卡甚至多个设备之间通信就成为了数据通路的重要部分。通信协议的选择核心是看你要传什么数据、对实时性要求多高。板内传感器到主控通常用I2C、SPI或MIPI CSI接口带宽从几百Kbps到几Gbps不等选型主要看芯片外设支持。板间短距离实时控制CAN总线是最稳的选择。ARM Cortex-M芯片上跑CAN透传大概能到1Mbps抗干扰能力强、支持多主通信在汽车、机器人底盘中大量使用。需要大带宽视频图像传输时千兆以太网是常见选择。在工控场景GigE Vision标准能让每个摄像头以千兆速率回传视频。此时需要考虑的是网络拓扑和传输延迟的预算——从摄像头到AI推理到结果回传几百毫秒的延迟通常是质检场景的底线。选择通信协议时我的经验是三条原则能传得通带宽余量至少在需求值的3倍以上不会“拖后腿”——总线调度不会因为大数据包阻塞关键控制帧不搞复杂——增加一个协议就增加一个故障点能用现成协议栈就别自己发明。4. 迈向终端推理模型如何从“浮在水面上”到“扎进硬件里”4.1 模型压缩与量化的现实意义在服务器上训练的深度学习模型参数默认是FP32浮点类型。“模型跑在GPU上是正常的部署到嵌入式设备上就走不通”原因很简单嵌入式硬件算浮点的能力要么很弱要么根本没有。量化是解决这个问题最有效的手段。把FP32的权重和激活值映射到INT8或INT16的整数空间模型体积缩小到原来的1/4计算量也大幅下降。以YOLOv5s模型为例原始权重文件大约14MBINT8量化后在3.5-4MB左右推理速度可以提升2-4倍。一套完整的量化流程最关键的是校准阶段。挑一批有代表性的数据喂给模型统计每一层激活值的动态范围再确定合适的缩放因子。数据选得不好量化后的精度损失会超出预期。我的经验是校准数据不要只用“最理想”的数据集加入真实场景的噪声、遮挡、光照变化量化的鲁棒性会更好。精度损失控制在1-2%以内就是一个可以接受的量化模型。4.2 算子映射从网络结构到NPU微架构模型转换到NPU运行本质上是一个“算子映射”的过程。你的PyTorch或TensorFlow模型里每一个层卷积、池化、全连接、归一化最终都要映射到NPU上对应的计算单元。不同厂商的工具链有不同的算子实现方式。以卷积层为例NPU为了提升效率通常会把多维卷积运算转换到矩阵运算单元上执行过程中要做数据重排。矩阵运算单元本质上是一个二维的乘加阵列数据排布方式决定了计算效率。有些工具链会插入一些“内存重排”的数据移动操作这些操作本身不产生计算但会消耗时间。如果模型里小算子太多比如频繁使用各种细碎激活函数或拼接操作NPU会有大量时间花在等待数据搬运上。这解释了为什么同样一个模型在不同厂商芯片上的运行效率差异会那么大。芯片的算子库对特定网络结构做了深度优化的就快反之就慢。我也建议做嵌入式模型部署时不要“闭门造车”——先看看目标芯片的算子支持列表再决定模型的网络结构搭建。4.3 值得关注的硬件加速新方向除了传统NPU大模型催生了新的硬件加速方案。很多做端侧AI的公司开始在芯片中增加针对Transformer结构的加速单元比如Flash Attention的硬件化、KV Cache专用加速设计。这类技术让原本需要几十TOPS算力的LLM在几瓦功耗的设备上运行成为可能。另一个方向是存内计算Computing-in-Memory。传统架构里数据不停在存储和计算单元之间搬家存内计算直接把计算搬进存储器大幅减少数据搬运开销特别适合大矩阵乘法的场景。目前很多厂商还在从实验室走向量产的过程中但这代表了AI硬件新的发展方向。作为软件或算法背景的工程师了解这些方向能够帮助你理解未来1-2年硬件平台的能力边界在哪里在做架构方案预留时心里有数。5. 联调阶段的“排雷”经验性能与稳定性的平衡5.1 实际项目中高频碰到的三类问题跑通一个AI硬件系统模型在开发板上能够推理出结果只是第一步联调阶段才是真正锤炼能力的时期。根据我做过的项目经验有三类问题格外高频。内存溢出问题。嵌入式设备的内存是有限的而AI推理框架往往需要申请大量临时内存。如果在跑推理的同时还要处理图像编解码、网络传输内存竞争就非常激烈。一个常见的处理方式是把推理的输入输出固定为预分配内存避免每一个局部块频繁分配释放内存碎片也会减轻很多。推理延迟抖动问题。你测平均耗时可能只有80ms但在某个特殊输入上突然变成了300ms这种抖动在实时性要求高的场景里是致命的。延迟抖动往往来自系统调度、内存带宽竞争和缓存miss处理方法是给推理任务绑核设置高优先级同时把推理用到的内存设为不换出mLock/unlock方式锁住。精度回归问题。模型的仿真精度是97%在硬件上推理只剩90%这种精度负优化很常见。除了量化损失很多时候是因为输入数据的预处理和服务器端不完全一致比如图像缩放算法不同、归一化参数不同、颜色通道顺序搞反。这是我强烈建议排查的第一个方向——“对照服务器端的预处理做端到端的输出排查”确定问题出在哪个环节。5.2 性能瓶颈的定位方法论如果你得到的推理性能离预期差距太大不要慌乱按照我的方法一步一步排查通常能快速定位瓶颈。第一确认高效计算单元的真实利用率。芯片厂商提供的profiler工具比如RKNN Toolkit的profiling功能或者NVIDIA的Nsight能显示出NPU的利用率和各算子耗时。利用率低就要留意数据搬运是否成为瓶颈。第二做层级的耗时分析。把模型的每一层在芯片上的耗时拉出来看哪一层最慢。如果某个算子耗时为总耗时的一半以上优先考虑优化这个算子看看有没有替代算子、是否能用内核融合技术减少数据搬移。第三确认DDR带宽占用情况。AI推理对内存带宽的需求敏感程度超出了很多人的预期系统的其他部件对带宽的占用会直接拖慢推理速度。我经历过一个出乎意料的场景主控芯片在跑视频编码任务时推理速度几乎慢了3倍问题根因就在DDR带宽竞争。5.3 稳定性和信任基础硬件安全设计AI硬件项目一旦涉及身份认证、支付、数据隐私场景安全设计就成了硬件工程师关注的重头戏。硬件信任根Root of Trust是我强烈推荐大家在设计中尽早考虑的方向。所谓信任根简单理解就是硬件上一个可信的起点通常是一个非易失性的安全单元里面预置了根密钥和校验算法。整个系统的安全启动都建立在这个起点之上芯片上电后首先运行信任根里的代码它验证引导加载程序的数字签名引导加载程序再验证操作系统、再验证AI模型文件的完整性和合法性。这样一层层校验下来能有效防止固件被篡改、模型文件被窃取替换这类攻击路径。安全方案设计最忌“事后补救”。在原型阶段就要把安全需求梳理清楚要不要防抄板、模型要不要加密存储、密钥怎么管理、安全启动链路怎么规划。否则到后期想加安全功能往往需要在硬件上预留Secure Element芯片或者更换主控改动量会非常大。很多做设备的老工程师常挂在嘴边的一句话“硬件保密靠一拆损坏”指的是在结构设计上让暴力拆解变得更困难这是物理层的防护手段它和安全芯片的逻辑防护是互补的。6. 给跨界工程师的几条实战建议6.1 嵌入式工程师如何切入AI方向如果你是有经验的嵌入式/硬件工程师想往AI方向拓展我的建议很直接不要一上来就啃深度学习理论先跑通一条端到端的最小链路。买一块带NPU的开发板比如RK3588或者Jetson系列跑一个官方demo比如YOLOv5目标检测、语音关键词识别。你要关注的不是模型本身而是整个链路的调通机制怎么把模型文件转成对应工具链的模型格式怎么写推理代码怎么分配内存怎么处理输入输出。跑通一个demo之后试着换成你自己的场景数据微调一下模型再部署上去。这个过程中你自然而然会理解数据标定、量化导出、端侧部署中涉及的大量工程细节。还有一个比较高效的途径是去读开源项目的代码。比如BMS硬件里的电池状态估计算法有的是用神经网络做SOC/SOH评估的开源项目既有硬件设计又有AI算法的完整实现能同时锻炼多方面的能力建议去找一两个精读一下。6.2 算法工程师如何补硬件短板反过来做算法或AI应用开发的工程师往往会面临“模型训练部署之后无法达到预期效果”的尴尬。模型部署到真实设备上表现不佳未必是模型网络结构的问题。很多AI项目实际上线后暴露的深度学习相关问题和模型本身关联有限算法团队并不需要理解硬件的每一条电路但以下几个概念必须有直觉。在BIOS或Bootloader里能确认内存配置正确、CPU/GPU/NPU驱动正常加载。在很多平台NPU驱动加载失败不会报严重错误只会导致模型推理速度异常慢。系统能否为AI推理任务预留专用的内存区域避免大模型和系统服务互相踩踏。温控策略是否合理。NPU高负载运行发热严重如果温控策略太激进温度墙一卡住计算能力就降一半这会让你误以为是模型或者代码出了问题。我在实际项目里的经验是算法工程师至少要能和硬件工程师对话。不被“这个模型跑不动”一句话挡回来而是能追问出“跑不动”的具体原因算力不够内存不够算子不支持这样沟通效率会高很多。6.3 练手项目推荐路径给想系统性入门“AI硬件”这个方向的开发者推荐一条从简单到复杂的练手路径应该能帮你少走弯路。先做一个关键词唤起KWS项目。这个项目数据量要求不大对算力要求低但能让你完整体验音频采集→特征提取→模型推理→触发动作的完整链路。代码量和调试难度都很友好适合作为第一个项目。再到视觉物体识别项目。用YOLO系列做简单目标检测把你的桌面物品当作识别目标。这个阶段你会接触到图像采集、ISP调优、视觉预处理、目标框后处理、屏幕显示或机械结构响应开发难度上一个台阶但收获也更大。进阶可以做异常检测或预测性维护项目。比如给电机加振动检测传感器训练模型识别正常和异常振动的模式。这类项目涉及时间序列数据处理、小样本训练、实时性和稳定性的平衡更接近工业场景的真实需求。在这个过程中你会逐渐建立起属于自己的“AI硬件”知识框架积累起后续做更复杂项目的能力底气。最后说一个我自己的体会。做AI和硬件结合的系统核心思路是“合适的模型放在合适的位置用合适的方式运行起来”。云端大模型负责复杂的理解本地小模型负责实时可靠的执行两者之间的边界取决于算力、功耗、带宽、隐私、成本这些综合因素。绝大多数产品根本不需要在设备端跑大模型但几乎所有产品都需要把那一大堆成熟的小模型高效稳定地用好。把这条链路跑顺了把每一层之间接口对齐了你手上的硬件就能真正“长出”AI来。