3. 性能基准基础

在自动驾驶计算平台中,“性能”从来不是一个单一数字。一个感知模型在服务器上跑出 30 FPS,并不代表它在车端 SoC 上也能满足 50 ms 的端到端时延;一个 GPU 利用率达到 90%,也不意味着能效比合格。性能基准(Benchmark)的本质,是在受控、可复现、可比较的条件下,对计算平台在特定工作负载下的行为进行量化测量,从而支撑选型、验收、回归与调优决策。

基准测试的定义:基准测试是一套标准化的测量方法,包含明确的工作负载(Workload)、测量环境(Environment)、度量指标(Metric)与判定规则(Criterion)。它回答的不是“这台机器快不快”,而是“在给定任务、给定约束下,这台机器是否稳定地满足指标要求”。

3.1 指标分类:延迟、吞吐、能效与精度

自动驾驶计算平台的性能指标可以归纳为四类,它们之间往往存在此消彼长的关系,必须联合评估。

  • 延迟(Latency):从输入到输出所需的时间,常用 P50/P95/P99 分位数描述。对自动驾驶而言,尾延迟比平均延迟更关键,因为一次 200 ms 的抖动就可能错过制动窗口。
  • 吞吐(Throughput):单位时间内完成的任务量,如 FPS、TOPS 实际达成率、每秒推理请求数。吞吐衡量平台“能扛多少”,但高吞吐常以批处理(Batching)为代价,从而抬高单帧延迟。
  • 能效(Energy Efficiency):每瓦功耗完成的有效计算量,如 FPS/W、TOPS/W、每帧焦耳数。车端功耗与散热受限,能效直接决定平台能否长期稳定运行。
  • 精度(Accuracy):模型输出与真值的吻合程度,如 mAP、mIoU、RMSE。量化、剪枝、算子替换都会影响精度,性能优化不能以精度崩塌为代价。

四类指标构成一个相互制约的“性能四边形”:提高吞吐可能增加延迟,降低精度可以换取速度,压缩功耗可能限制算力释放。基准测试的价值,就是把这个权衡关系量化出来。

性能基准四维指标与权衡关系 工作负载固定 · 环境受控 · 指标可复现 基准工作负载 感知 / 规划 / 融合 固定输入与批次 延迟 Latency P50 / P95 / P99 (ms) 端到端时延、抖动 吞吐 Throughput FPS / QPS / TOPS 达成率 批处理与并发能力 能效 Efficiency FPS/W · TOPS/W 每帧焦耳、热约束 精度 Accuracy mAP / mIoU / RMSE 量化与算子误差 批处理↑ 吞吐↑ 但延迟↑ 量化↓ 速度↑ 但精度↓ 功耗墙 精度底线 判定规则:在精度达标前提下,同时满足延迟上限、吞吐下限与能效预算

3.2 基准测试原则:可复现、可比较、可归因

要让基准结果具备工程价值,必须遵循以下原则:

  1. 工作负载明确:固定模型版本、输入尺寸、批大小、精度模式(FP16/INT8)、前后处理范围,避免“测的是不同东西”。
  2. 环境受控:记录 SoC 型号、频率档位、散热状态、驱动与推理库版本、CPU 隔离与线程绑定策略。
  3. 预热与稳态:先跑预热轮次,待频率与温度进入稳态后再采样,避免冷启动数据污染结果。
  4. 统计而非单点:报告均值、P95、P99 与标准差,单次最快值没有决策意义。
  5. 可归因:能定位瓶颈在算子、内存带宽、调度还是 I/O,而不是只给一个总分。
实操建议:基准脚本应把配置固化为可版本管理的文件,让“同一份配置 + 同一份数据”在任何时间都能复现同一组指标。
# 典型基准配置片段(示意)
workload: yolov8s_int8
input_shape: [1, 3, 640, 640]
precision: int8
warmup_runs: 50
measure_runs: 500
metrics: [latency_p50, latency_p95, latency_p99, fps, power_w, fps_per_w]
env:
  soc: orin-agx
  power_mode: 30W
  cpu_affinity: [0-3]
  gpu_freq_lock: true

3.3 案例场景:同一模型,三种结论

某团队在 Orin 平台上测试同一感知模型,得到三组看似矛盾的数据:

测试条件批大小平均延迟P99 延迟吞吐能效
单帧实时模式128 ms46 ms35 FPS1.9 FPS/W
批处理吞吐模式896 ms140 ms83 FPS3.1 FPS/W
锁频 + 散热受限134 ms88 ms29 FPS1.4 FPS/W

三组数据都“正确”,但结论完全不同:实时控制链路必须看单帧 P99;离线数据回灌可以看吞吐;而车端长期运行必须看锁频与散热后的稳态能效。若只报告一个平均 FPS,就会掩盖尾延迟与热降频风险。

3.4 常见误区与行业标准组织

误区一:只测峰值,不测稳态。冷启动或短时爆发的高性能无法代表长时间运行表现。
误区二:混淆端到端与纯推理。把预处理、后处理、内存拷贝排除在外,会低估真实时延。
误区三:忽略精度约束。用 INT8 换来的速度若导致 mAP 下降超过阈值,优化即失败。
误区四:跨平台直接比数字。不同功耗模式、不同散热、不同库版本的结果不可直接横比。
误区五:只报均值。缺少 P95/P99 与方差,无法评估确定性。

行业标准组织为基准提供了共同语言:MLPerf(MLCommons)定义了训练与推理的标准任务、场景(Single-Stream、Multi-Stream、Server、Offline)与精度校验规则;SPEC 提供 CPU 与能效类基准方法学;ISO 26262 与 SOTIF 从功能安全角度约束性能验证流程;Khronos / OpenCL、ONNX 等则统一了算子与模型表达,使跨平台比较成为可能。理解这些组织的场景定义,是避免“自说自话式基准”的前提。

综上,性能基准不是一次跑分,而是一套贯穿选型、验收、回归与调优的工程方法:先定义工作负载,再固定环境,然后按延迟、吞吐、能效、精度四维采集统计量,最后用可归因的数据支撑决策。