1. 嵌入式AI概述:边缘计算与AI推理的融合趋势、GPU与NPU的定位差异、混合推理的核心理念

1.1 边缘计算与AI推理的融合趋势

说实话,五年前我刚开始做嵌入式AI的时候,大家还觉得在单片机上跑神经网络是天方夜谭。现在呢?连智能门锁都能做人脸识别了。这背后就是边缘计算和AI推理的深度融合。

为什么会有这个趋势?我总结下来有三个核心驱动力:

  • 延迟敏感:自动驾驶、工业质检这类场景,数据传到云端再回来,黄花菜都凉了。边缘推理的延迟能控制在毫秒级。
  • 隐私合规:医疗影像、金融数据,你敢往公有云上传吗?边缘设备上直接处理,数据不出门。
  • 带宽成本:一个高清摄像头每秒产生几十兆数据,全传云端?网络带宽和存储成本扛不住。

我在一个智慧安防项目里遇到过这种情况:客户要求100路摄像头实时分析,云端方案报价一年上百万。后来我们用边缘盒子本地推理,成本直接砍到三分之一。嗯,这就是趋势的力量。

核心观点:边缘AI不是云端的替代品,而是互补品。云端做训练和复杂推理,边缘做实时响应和轻量推理。这个分工在未来五年内会越来越清晰。

1.2 GPU与NPU的定位差异

很多刚入行的朋友问我:「GPU和NPU到底有啥区别?不都是加速器吗?」

我习惯用一个比喻来解释:GPU是瑞士军刀,NPU是专用菜刀

GPU能处理图形渲染、通用计算、科学模拟,甚至挖矿。它灵活,但为了灵活性付出了功耗和面积的代价。NPU呢?它只做一件事——神经网络推理。但这件事它做得又快又好。

维度 GPU NPU
架构设计 大量CUDA核心,通用并行计算 脉动阵列,专为矩阵乘法优化
精度支持 FP32/FP16为主 INT8/INT4为主,部分支持FP16
功耗表现 典型50-300W 典型1-15W
灵活性 高,支持各种算子 低,算子需预先支持
典型场景 云端训练、高性能推理 边缘端、移动端推理

你想想看,在嵌入式场景下,功耗是硬约束。一个边缘盒子可能只有5W的散热能力,你放个GPU进去?分分钟过热降频。这时候NPU的优势就体现出来了。

我的经验:选型时别只看算力(TOPS),要看能效比(TOPS/W)。我曾经被一个标称4TOPS的NPU坑过,实际跑模型只有1.2TOPS——因为它的算力是在特定稀疏度下测的。嗯,这里要注意看小字。

1.3 混合推理的核心理念

好了,既然GPU和NPU各有优劣,那能不能让它们合作?这就是混合推理的出发点。

说白了,混合推理就是把神经网络的不同部分,分配到最合适的计算单元上。比如:

  • 卷积层计算密集、数据复用率高 → 交给NPU
  • 全连接层、动态分支、后处理 → 交给GPU或CPU
  • 控制逻辑、数据预处理 → 交给CPU

我在一个目标检测项目里实践过这个思路。模型是YOLOv5s,纯用NPU跑,mAP掉了2个点。后来我把检测头(全连接层)挪到GPU上跑,NPU只负责骨干网络。结果呢?mAP只掉了0.3个点,延迟还降低了15%。

混合推理的核心原则

  1. 数据流驱动:以数据在计算单元间的流动为主线设计
  2. 异构调度:根据算子特性动态选择计算单元
  3. 内存共享:避免数据在CPU、GPU、NPU之间反复拷贝

为什么内存共享这么重要?我举个例子。假设NPU处理完特征图,要传给GPU做后处理。如果数据先拷贝到CPU内存,再拷贝到GPU显存,这个开销可能比推理本身还大。所以混合推理的架构设计,第一件事就是搞定内存共享。

避坑指南:我曾经在一个项目里忽略了NPU和GPU的内存地址映射问题。结果每次数据传输都要走PCIe,延迟直接翻倍。后来改用ION内存(连续物理内存)才解决。所以,硬件层面的内存一致性是混合推理的基石。

1.4 我的架构选型建议

如果你现在要做一个嵌入式AI产品,我建议按这个思路来:

  • 纯NPU方案:模型固定、算子全支持、对精度不敏感的场景(比如关键词唤醒)
  • GPU+NPU混合:模型复杂、需要灵活调整、对精度要求高的场景(比如自动驾驶感知)
  • CPU+NPU混合:成本敏感、功耗极低、模型轻量的场景(比如智能家居传感器)

记住,没有银弹。混合推理不是炫技,而是为了解决实际问题。我见过有人为了混合而混合,结果性能还不如纯NPU。嗯,架构设计要务实。

好了,这一章我们聊了边缘AI的趋势、GPU和NPU的差异、以及混合推理的核心思想。下一章我会深入讲NPU的硬件架构细节——包括脉动阵列、数据流、以及如何写出对NPU友好的模型。到时候见。