3. 硬件平台概览

视觉推理适配的第一步不是改模型,而是认清目标硬件的“性格”。同一段卷积或注意力计算,在不同硬件上的执行路径、数据搬运方式和瓶颈位置可能完全不同。本节从架构特点、并行粒度、内存层次和典型能力边界四个角度,梳理六类常见推理载体,并给出可操作的判断依据。

一、六类硬件的架构定位

CPU 是通用标量/向量处理器,核心数量少但单核能力强,拥有大容量缓存和复杂分支预测。它适合处理控制逻辑、前后处理、非规则算子和小批量推理。其瓶颈在于算力密度低:以典型服务器 CPU 为例,FP32 峰值约 1~3 TFLOPS,而一块中端 GPU 可达数十 TFLOPS。因此 CPU 通常不作为大模型主算力,而是承担调度、解码后处理和 fallback 算子。

GPU 拥有数千个流处理器,采用 SIMT 执行模型,擅长高吞吐的规则并行计算。其内存层次为“寄存器—共享内存/L1—L2—显存”,显存带宽可达数百 GB/s 至数 TB/s。GPU 的强项是矩阵乘、卷积等密集算子;弱项是频繁的小规模 kernel 启动和分支发散。视觉推理中,GPU 常作为训练和服务器端批量推理的主力。

NPU 是面向神经网络的专用加速器,通常内置 MAC 阵列、片上缓存和量化单元,支持 INT8/INT4 甚至更低精度。它的优势是能效比高、时延稳定,适合固定算子图的端侧推理。边界在于算子覆盖有限:自定义算子、动态 shape、复杂控制流往往需要回退到 CPU,回退比例过高会抵消加速收益。

DSP 采用 VLIW 或 SIMD 架构,擅长定点信号处理和滤波类运算,常见于摄像头、音频和雷达前端。它的编程模型偏底层,需要手工管理内存和流水,适合把预处理(如去噪、色彩转换、缩放)与轻量推理融合在一起。

FPGA 提供可重构逻辑资源,可以按算子定制数据通路,实现极低时延和确定性吞吐。代价是开发周期长、频率较低、片上资源有限。它适合协议解析、多路视频拼接、超低时延触发等场景,而不是通用大模型推理。

边缘加速器(如 Jetson、昇腾 Atlas、瑞芯微 RKNN、Google Coral)通常是 SoC 内集成 CPU+GPU/NPU+DSP 的异构组合,通过统一内存或共享总线协作。其能力边界由最弱环节决定:如果内存带宽不足,NPU 算力再高也无法跑满。

六类推理硬件:并行粒度 · 内存层次 · 能力边界 CPU 并行粒度:4~64 核,SIMD 向量 内存:大缓存 + DDR,低时延 强项:控制流、前后处理、小算子 边界:算力密度低,不适合大矩阵 GPU 并行粒度:数千流处理器,SIMT 内存:共享内存/L2/显存,高带宽 强项:矩阵乘、卷积、批量推理 边界:小 kernel 启动开销、分支发散 NPU 并行粒度:MAC 阵列,INT8/INT4 内存:片上缓存 + 共享 DRAM 强项:固定图、量化模型、低功耗 边界:算子覆盖有限,动态 shape 弱 DSP 并行粒度:VLIW / SIMD 定点 内存:片上 SRAM,手工管理 强项:滤波、去噪、色彩转换、融合 边界:编程底层,通用性差 FPGA 并行粒度:可重构逻辑,定制通路 内存:BRAM + 外部 DDR 强项:超低时延、确定性吞吐、协议 边界:开发周期长,频率低,资源有限 边缘加速器(SoC) 并行粒度:CPU+GPU/NPU+DSP 异构 内存:统一内存 / 共享总线 强项:能效比、集成度、部署便捷 边界:受最弱环节制约(常为带宽) 推理能力边界:算力密度 vs 灵活性 灵活性 / 通用性 → 算力密度 ↑ CPU GPU NPU DSP FPGA 边缘 SoC

二、判断某硬件能否承载目标模型

不要只看 TOPS 数字。一个可操作的判断顺序是:先看算子覆盖,再看内存带宽,最后看精度支持。

算子覆盖:把模型导出为 ONNX 或框架中间表示,统计算子种类。若 NPU 的算子库不支持某类算子(如可变形卷积、复杂激活、动态索引),该算子会被切到 CPU,形成“NPU—CPU—NPU”的往返。每次往返都伴随数据拷贝和同步,实测中可能让端到端时延增加 30%~200%。判断标准是:回退算子数量占比低于 5%,且回退算子不在关键路径上。

内存带宽:视觉模型的特征图往往比权重更大。以 1080p 输入、ResNet-50 为例,中间激活约数十 MB,若每层都读写外部内存,带宽需求会迅速超过边缘 SoC 的 10~30 GB/s。此时即使 NPU 标称 4 TOPS,实际利用率也可能低于 30%。可用“算术强度 = 计算量 / 访存量”估算:算术强度低于硬件拐点的算子,属于带宽受限。

精度支持:NPU 通常只高效支持 INT8,部分支持 INT4/FP16。若模型必须保持 FP32 精度,NPU 可能退化为 FP16 甚至 CPU 执行。量化前应做逐层敏感度分析,把首尾层和检测头保留为 FP16,中间主干量化到 INT8,通常能在精度损失小于 1% 的前提下获得 2~4 倍加速。

三、异构协同的典型分工

在边缘视觉推理中,合理的分工不是“全部塞给 NPU”,而是按数据流切分:

  • CPU:图像解码、ROI 裁剪、NMS、结果组装、业务逻辑。
  • DSP/GPU:去噪、白平衡、缩放、色彩空间转换等预处理。
  • NPU:主干网络和检测头的量化推理。
  • FPGA:多路视频同步、触发采集、超低时延预处理。

以 4 路 1080p@30fps 的智能相机为例,若把解码和缩放放在 CPU,CPU 占用可能超过 70%,导致 NPU 等待输入。把缩放迁移到 DSP 或 GPU 后,CPU 占用可降到 30% 以下,NPU 利用率从 45% 提升到 80% 以上。这个例子说明:瓶颈往往不在推理本身,而在数据供给链。

判断硬件适配是否合理的三个快速指标:① NPU 利用率是否持续高于 60%;② 回退算子占比是否低于 5%;③ 端到端时延中,数据搬运与预处理是否超过总时延的 40%。若第③项超标,优先优化数据通路,而不是换更强算力。

四、能力边界的量化参照

硬件 典型算力 内存带宽 适合的推理形态 主要边界
服务器 CPU 1~3 TFLOPS FP32 100~300 GB/s 小批量、控制密集、前后处理 算力密度低
数据中心 GPU 50~1000 TFLOPS 1~3 TB/s 批量推理、大模型、训练 功耗高、成本高
端侧 NPU 1~50 TOPS INT8 10~100 GB/s 固定图、量化模型、单路实时 算子覆盖、动态 shape
DSP 0.1~2 TOPS 定点 片上 SRAM 高带宽 预处理、滤波、轻量网络 编程复杂、通用性差
FPGA 取决于逻辑资源 BRAM + DDR 超低时延、确定性流水 开发周期、频率、资源
边缘 SoC 1~30 TOPS 异构合计 10~50 GB/s 共享 多路视频、端侧实时 最弱环节制约

表中数值为公开资料的典型区间,用于建立量级感,不代表某一具体型号的实测值。实际选型时,应以目标板卡的 datasheet、算子支持列表和实测 profiling 为准。

五、适配前的检查清单

在把模型部署到某类硬件之前,建议按以下顺序确认,避免后期返工:

  1. 导出模型并统计算子清单,与目标硬件的算子支持表逐项比对,标记回退算子。
  2. 估算峰值内存占用:权重 + 激活 + 输入输出,确认不超过设备可用内存的 70%。
  3. 计算关键层的算术强度,识别带宽受限层,判断是否需要算子融合或分块。
  4. 确定量化策略:逐层敏感度分析,决定哪些层保留 FP16、哪些层用 INT8。
  5. 规划数据通路:解码、预处理、推理、后处理分别落在哪个单元,避免频繁跨单元拷贝。
  6. 准备 profiling 方案:记录各阶段耗时、NPU 利用率、回退次数和内存峰值。