2、Edge AI与功耗基础:边缘计算、AI推理、功耗定义、能量与功率的区别

在着手进行任何功耗 profiling 与优化之前,必须先厘清几个核心概念:Edge AI 的边界在哪里?AI 推理在边缘设备上以何种形态存在?功耗(Power)与能量(Energy)这对极易混淆的物理量,在嵌入式 AI 场景下分别决定了哪些设计决策?本章将从工程视角出发,建立一套统一的功耗分析语言,为后续章节的测量、分析与调优打下坚实的理论基础。

边缘计算层 AI推理引擎 功耗/能量域 传感器/数据采集 Camera · IMU · Mic 实时处理单元 MCU / CPU / DSP 通信模块 BLE / Wi-Fi / LTE 电源管理单元 PMIC / LDO / DC-DC 边缘节点(电池供电) 模型加载/解析 TFLite · ONNX · 自定义 算子执行 Conv · FC · Activation 内存访问 DMA · Cache · SRAM 后处理/输出 Softmax · NMS · 编码 推理流水线 瞬时功率 P(t) V(t) × I(t) [W] 能量 E ∫P dt [J] 或 [mAh] 平均功耗 P_avg E / T_total [W] 峰值功耗 P_peak 热设计/电源选型依据 Profiling 目标域 数据流 计算请求 功耗采样 能量统计 供电/时钟 反馈控制

2.1 边缘计算与 AI 推理的工程边界

核心原理:边缘计算(Edge Computing)并非一个模糊的营销术语,而是一个具有明确物理约束的计算范式。在 Edge AI 场景下,推理任务通常在靠近数据源头的设备上完成,而非上传至云端数据中心。这种部署方式带来了三个根本性变化:数据路径缩短(减少传输延迟与带宽消耗)、隐私性增强(原始数据不出设备)、能源自治(设备必须依靠电池或能量采集独立运行)。从功耗 profiling 的角度看,边缘设备的计算资源是受限的——CPU 频率、内存带宽、NPU 算力、热设计功耗(TDP)均有明确上限,这决定了我们不能简单套用云端 GPU 服务器的功耗分析方法。

判断方法:在开始 profiling 之前,必须明确你的设备属于哪一类边缘节点。下表给出了三种典型边缘设备的功耗特征对比:

设备类型 典型算力 平均功耗范围 峰值功耗 Profiling 重点
MCU 级(Cortex-M) < 100 GOPS 1 mW - 100 mW 200 mW 睡眠/唤醒周期、外设功耗
应用处理器级(Cortex-A) 0.5 - 2 TOPS 0.5 W - 3 W 5 W DVFS 调频、多核调度
NPU 加速级(如 RK3588) 3 - 6 TOPS 2 W - 8 W 12 W 算子级功耗、内存带宽瓶颈

案例拆解:以一款智能门锁的人脸识别功能为例。该设备采用 Cortex-M7 内核(主频 480 MHz)配合硬件加速器。初始设计时,工程师将人脸检测模型(MobileNet-SSD)直接部署在 MCU 上,每次推理耗时 800 ms,平均功耗 85 mW。若用户每天触发 20 次识别,单日识别能耗约为 1.36 J。然而,通过 profiling 发现,设备在待机状态下的功耗高达 3.2 mW(主要来自 LDO 静态电流和触摸唤醒电路),这意味着待机 24 小时的能耗为 276 J,是识别能耗的 200 倍。这个案例说明:在边缘设备上,待机功耗往往比推理功耗更值得关注,profiling 必须覆盖完整的工作周期,而非仅关注推理瞬间。

工程要点:边缘 AI 功耗 profiling 的第一步不是连接功率计,而是明确设备的工作状态机(State Machine)。通常需要区分:深度睡眠(Deep Sleep)、浅睡眠(Light Sleep)、空闲(Idle)、活跃推理(Active Inference)、通信(Communication)等状态,并分别测量各状态的功耗与持续时间。

2.2 功耗(Power)与能量(Energy)的本质区别

核心原理:功耗(Power)是单位时间内消耗的能量,单位是瓦特(W),即 P = dE/dt。在数字电路中,瞬时功耗由动态功耗(开关电容充放电:P_dyn = α·C·V²·f)和静态功耗(漏电流:P_static = V·I_leak)组成。而能量(Energy)是功耗对时间的积分,单位是焦耳(J),在电池供电场景下也常用 mAh(毫安时)表示电荷量。两者的工程意义截然不同:功耗决定电源设计、散热方案和电池最大放电电流;能量决定电池续航时间。

判断方法:在实际 profiling 中,我们需要同时关注四个关键指标:

  1. 峰值功耗(P_peak):决定 DC-DC 转换器选型、电池放电倍率、热管理方案。例如,若 SoC 峰值电流达到 2 A,而电池只能安全提供 1.5 A,则必须增加超级电容或调整调度策略。
  2. 平均功耗(P_avg):在固定时间窗口内(如一个推理周期)的总能量除以时间。这是评估能效比(FPS/W)的基础。
  3. 能量(E):完成一次完整任务(如一次推理、一轮通信)所消耗的总能量。优化目标是降低 E,而非单纯降低 P_avg。
  4. 待机功耗(P_sleep):设备在非活跃状态下的功耗,通常决定了设备的最低续航底线。

案例拆解:假设有两款 AI 加速芯片可选:芯片 A 推理时功耗 500 mW,耗时 20 ms;芯片 B 推理时功耗 300 mW,耗时 50 ms。若仅看功耗,芯片 B 更优;但计算能量:芯片 A 单次推理能量 = 0.5 W × 0.02 s = 10 mJ,芯片 B = 0.3 W × 0.05 s = 15 mJ。实际上芯片 A 更节能。更关键的是,若设备每 100 ms 执行一次推理,芯片 A 的占空比为 20%,平均功耗 = 0.5 × 0.2 + 0.01 × 0.8 = 108 mW(假设待机 10 mW);芯片 B 占空比 50%,平均功耗 = 0.3 × 0.5 + 0.01 × 0.5 = 155 mW。芯片 A 在续航表现上全面胜出。这个案例揭示了 profiling 的核心原则:必须用能量(J)而非功率(W)来评估算法效率,用平均功耗来评估系统续航。

常见误区:很多工程师在优化时只盯着“降低峰值功耗”,却忽略了“缩短高功耗持续时间”往往更有效。例如,将推理频率从 400 MHz 降至 200 MHz,功耗可能降低 60%,但推理时间延长 2 倍,总能量几乎不变。正确的做法是:在热预算允许的前提下,尽量“快跑快停”(Race to Idle),让设备尽快回到低功耗状态。

2.3 AI 推理的功耗构成与 Profiling 维度

核心原理:一次完整的 AI 推理任务,其功耗并非均匀分布。从系统层面看,功耗由四大部分构成:计算单元(CPU/GPU/NPU 的动态功耗)、内存子系统(SRAM/Cache/DRAM 的读写功耗)、数据搬运(DMA、总线传输功耗)以及外围设备(传感器、屏幕、无线模块)。在边缘设备中,内存访问功耗往往被严重低估——一次 32-bit DRAM 访问消耗的能量约是 32-bit 计算的 100 倍以上。

操作流程:建立功耗 profiling 的完整视图,建议按以下步骤执行:

  1. 硬件级测量:在电源路径上串联采样电阻(如 10 mΩ),使用高精度 ADC(如 INA226)以 1 kHz 采样率记录电压和电流。
  2. 时间戳对齐:将功耗数据与软件日志(如推理开始/结束、算子执行时间)通过 GPIO 或时间戳同步。
  3. 状态分解:将功耗曲线按设备状态切分,计算每个状态的持续时间和平均功耗。
  4. 算子级归因:在推理框架中插入探针,记录每个算子的执行时间与对应的功耗增量。
  5. 能量汇总:计算各模块的能量占比,形成 Pareto 图,确定优化优先级。

案例拆解:某智能摄像头设备使用 RK3588 平台运行 YOLOv5s 模型。初步 profiling 发现,一次完整推理(含前后处理)平均功耗 4.2 W,耗时 45 ms,能量 189 mJ。进一步分解:NPU 计算占 60% 能量(113 mJ),内存访问占 25%(47 mJ),CPU 后处理占 10%(19 mJ),其余外设占 5%。优化策略:首先将输入图像从 640×640 降至 512×512,NPU 计算能量降至 72 mJ(降 36%),但精度下降 2.1% AP;随后将后处理中的 NMS 算法从 CPU 迁移至 NPU 的定制算子,CPU 能量降至 8 mJ。最终单次推理能量降至 127 mJ,能效提升 33%,且精度损失控制在 1% 以内。这个案例说明:profiling 的价值在于量化每个环节的贡献,从而指导针对性的优化。

经验提醒:在边缘设备上,不要只关注“推理”阶段的功耗。数据采集(传感器)、预处理(图像缩放/归一化)、输出(显示/通信)往往占据 30%-50% 的总能量。完整的 profiling 必须覆盖从“唤醒”到“再次睡眠”的整个任务周期。

2.4 常见误区与本章总结

常见误区一:混淆功耗与能量。在汇报优化成果时,必须明确指标。例如,“推理功耗降低了 30%”可能只是频率降低导致速度变慢,能量并未减少。正确的表述应为“单次推理能量从 15 mJ 降至 10 mJ,同时推理时间缩短 20%”。

常见误区二:忽略电压的影响。动态功耗与电压的平方成正比(P ∝ V²)。降低 10% 的电压(在安全范围内)可带来约 19% 的功耗下降。但电压降低会增加时序收敛难度,可能导致频率下降。因此,DVFS(动态电压频率调节)策略必须在 profiling 数据支持下进行,不能盲目降压。

常见误区三:只测平均功耗,不测峰值。峰值功耗决定了电源噪声、电池压降和热冲击。若峰值电流超过电源纹波规格,可能导致系统复位或数据错误。必须使用示波器(而非仅万用表)捕捉瞬态电流尖峰。

总结复盘:本章建立了 Edge AI 功耗分析的基础框架。核心要点归纳如下:

  • 边缘设备是资源受限系统,profiling 必须覆盖完整工作周期(睡眠→唤醒→推理→通信→睡眠)。
  • 功耗(W)用于电源与散热设计,能量(J)用于续航评估,两者不可混淆。
  • AI 推理的功耗由计算、内存、数据搬运、外设四部分构成,内存访问往往是隐藏的能耗大户。
  • 优化目标应设定为“降低任务总能量”而非单纯“降低瞬时功耗”,优先采用“快跑快停”策略。
  • 建立硬件测量与软件日志的时间同步机制,是实现算子级功耗归因的前提。