3、算力指标深度解读:TOPS、FLOPS、MACs、GOPS的含义与区别、有效算力与峰值算力的差距、如何根据功能需求估算算力。

各位工程师朋友,咱们今天聊聊算力指标。说实话,这可能是选型时最容易被忽悠的地方。厂商宣传的算力动辄几百TOPS,但实际用起来,嗯,你懂的。

3.1 这些指标到底在说什么?

先理清几个基本概念。我习惯把它们分成两类:一类是理论峰值,一类是实际有效

TOPS(Tera Operations Per Second)

万亿次操作每秒。这是目前智能驾驶芯片最常用的指标。注意,它通常指整数运算,尤其是INT8精度。为什么?因为神经网络推理主要用INT8,速度快、功耗低。

核心区别:

  • TOPS:整数运算,主要用于AI推理
  • FLOPS:浮点运算,主要用于训练或高精度计算
  • MACs:乘加运算次数,衡量计算量
  • GOPS:十亿次操作每秒,常用于DSP或传统算法

举个例子。我去年评估一款芯片,厂商标称200 TOPS(INT8)。但仔细看小字,那是稀疏化后的理论值。实际跑ResNet-50,能到120 TOPS就不错了。所以,别只看数字

FLOPS vs TOPS

FLOPS是浮点运算。智能驾驶里,训练用FP32/FP16,推理用INT8/INT4。你想想看,一个FP32的MAC操作,功耗是INT8的4倍以上。所以芯片厂商拼命推INT8算力,就是这个道理。

指标 精度 典型用途 换算关系(约)
1 TOPS INT8 推理 ≈ 0.5 TFLOPS (FP16)
1 TFLOPS FP32 训练 ≈ 2 TOPS (INT8)
1 GOPS INT16 传统算法 ≈ 0.001 TOPS

MACs 与 GOPS

MACs是乘加操作次数。一个MAC = 一次乘法 + 一次加法。在卷积神经网络里,90%以上的计算都是MAC。我个人习惯用MACs来估算模型的计算量,再反推需要的TOPS。

GOPS常用于DSP或传统视觉算法。比如做车道线检测,用Canny边缘检测,那就是GOPS级别的计算。但一旦上深度学习,直接跳到TOPS。

3.2 峰值算力 vs 有效算力

这是最大的坑。峰值算力是芯片在理想条件下(比如所有MAC单元全速运行、数据在片上SRAM)的理论最大值。但实际中,你永远达不到。

我曾经踩过的坑:

选了一款标称100 TOPS的芯片,结果实际跑多传感器融合模型,有效算力只有40 TOPS。原因?内存带宽不够,数据搬运占用了大量时间。从那以后,我选型必看三个指标:算力、带宽、内存延迟。

有效算力通常只有峰值算力的30%~70%。影响因素包括:

  • 内存带宽:数据喂不饱计算单元
  • 算子利用率:有些算子(如池化、激活)计算密度低
  • 数据精度:INT8 vs FP16,实际吞吐差很多
  • 模型结构:稀疏模型、剪枝模型对硬件不友好

我的经验法则:

选型时,按峰值算力的50%来估算有效算力。如果芯片有专门的数据预取引擎或稀疏计算支持,可以放宽到60%~70%。但别信厂商说的80%以上,除非你亲自测过。

3.3 如何根据功能需求估算算力?

这是实战环节。我一般分三步走:

第一步:列出功能模块

智能驾驶功能通常包括:

  • 感知:目标检测、语义分割、车道线检测
  • 融合:多传感器融合(Camera + LiDAR + Radar)
  • 规划:路径规划、行为预测
  • 控制:车辆控制、执行器接口

第二步:估算每个模块的计算量

以感知为例。假设你用ResNet-50做目标检测,输入分辨率1920x1080,帧率30fps。

# 估算计算量
# ResNet-50 一次推理约 4.1 GMACs
# 输入分辨率 1920x1080,需要下采样到 224x224
# 但实际多尺度检测,计算量翻倍

单帧计算量 = 4.1 GMACs * 2(多尺度) = 8.2 GMACs
每秒计算量 = 8.2 GMACs * 30 fps = 246 GMACs
换算成TOPS:246 GMACs ≈ 0.246 TOPS(INT8)

等等,这只是单模型。实际感知系统通常跑3~5个模型(检测、分割、跟踪)。再加上融合和规划,总计算量轻松上1~2 TOPS。

注意:这只是推理计算量。实际系统还有数据预处理(图像缩放、归一化)、后处理(NMS、聚类)、通信开销。这些通常占20%~30%的算力。

第三步:考虑冗余和余量

我建议留出30%~50%的算力余量。为什么?

  • 未来算法升级(比如从ResNet换到Transformer)
  • 多任务并行(同时跑多个模型)
  • 安全冗余(ASIL-D要求)

举个例子。L2级辅助驾驶,大约需要10~30 TOPS(有效算力)。L3级,需要50~100 TOPS。L4/L5,200 TOPS以上。这是基于当前主流算法的估算。但记住,算法每年都在变,算力需求也在涨。

3.4 知识体系图

下面这张图总结了算力指标的核心逻辑。我建议你保存下来,选型时对照着看。

算力指标核心逻辑图 理论峰值指标 实际有效指标 功能需求估算 TOPS (INT8) FLOPS (FP32) 有效算力 带宽利用率 感知模块 融合 影响因素 • 数据精度 (INT8/FP16) • 稀疏化支持 瓶颈因素 • 内存带宽 (GB/s) • 算子利用率 估算方法 • 模型GMACs × fps • 冗余30%~50% 选型核心:看有效算力,不看峰值 有效算力 ≈ 峰值算力 × 50%~70% 注:实际选型还需考虑功耗、散热、生态、工具链等因素 理论 实际 需求

3.5 避坑指南

我曾经犯过的错:

选型时只看TOPS,没注意内存带宽。结果芯片算力够,但数据搬不过来,帧率上不去。后来我学乖了,选型必看三个参数:

  • 算力:TOPS(INT8)
  • 带宽:DDR带宽,至少256 GB/s以上
  • 内存:片上SRAM大小,决定能否放下模型权重

这三个参数缺一不可。否则就是木桶效应,最短的那块板决定了系统性能。

另外,别被「稀疏算力」忽悠。有些芯片支持稀疏计算(比如50%稀疏),理论算力翻倍。但实际模型稀疏度很难达到50%,而且稀疏计算对硬件有特殊要求。我建议按稠密算力来评估,稀疏算力当bonus。

好了,算力指标这块就聊到这。记住一句话:峰值算力是广告,有效算力是现实。选型时多问一句「实际跑XX模型能到多少?」,比看参数表有用得多。

我的个人习惯:

每次选型,我都会拿一个典型模型(比如ResNet-50或YOLOv8)在目标芯片上跑一遍,测实际帧率和功耗。厂商给的参数表,嗯,参考一下就好。实测数据才是王道。


公众号:蓝海资料掘金营,微信deep3321