3. 性能指标定义:吞吐量、延迟、能效比、利用率、带宽效率
各位同学,今天我们聊聊芯片性能的“度量衡”。
做AI芯片,说白了就是跟数字打交道。你设计了一款芯片,怎么证明它牛?光靠嘴说不行,得拿出硬指标。我个人习惯把这五个指标称为“五维评价体系”——吞吐量、延迟、能效比、利用率、带宽效率。它们就像五根柱子,撑起了一颗芯片的真实性能。
3.1 吞吐量(TOPS)—— 芯片的“力气”有多大
吞吐量,英文叫Throughput,单位是TOPS(Tera Operations Per Second)。
什么意思?就是芯片一秒钟能干多少万亿次操作。我经常跟团队说:“TOPS就是芯片的蛮力。” 你算力越高,理论上能跑的模型就越大。
但这里有个坑——TOPS分两种:
- 定点TOPS:通常指INT8精度下的算力。这是AI芯片最常用的指标。
- 浮点TOPS:指FP16、FP32等精度下的算力。一般比定点低不少。
计算公式很简单:
TOPS = 频率(Hz) × MAC数量 × 2 × 精度系数
举个例子:一颗芯片有1024个MAC单元,跑1GHz,做INT8计算:
TOPS = 1e9 × 1024 × 2 × 1 = 2.048 TOPS
嗯,这里要注意:乘以2是因为一个MAC单元一次能做一次乘法和一次加法。
3.2 延迟(Latency)—— 芯片的“反应”有多快
延迟,就是芯片处理一个任务需要多长时间。单位通常是毫秒(ms)或微秒(μs)。
你想想看,自动驾驶场景下,摄像头拍到障碍物到芯片做出刹车指令,这中间的时间就是延迟。如果延迟超过100ms,车都撞上了。
我个人习惯把延迟分成三类:
- 端到端延迟:从输入到输出,整个pipeline的时间。
- 计算延迟:纯计算的时间,不包括数据传输。
- 通信延迟:数据从内存搬到计算单元的时间。
3.3 能效比(TOPS/W)—— 芯片的“性价比”
能效比,就是每瓦功耗能产生多少TOPS。单位是TOPS/W。
说白了,就是芯片吃多少饭,干多少活。数据中心里,电费是很大一笔开销。一颗芯片如果TOPS/W高,长期下来能省不少钱。
我建议大家在选型时,把能效比放在第一位。为什么?因为:
- 手机芯片功耗受限,必须高能效
- 边缘设备电池容量小,能效比决定续航
- 云端虽然不差电,但散热成本高
| 应用场景 | 典型能效比要求 | 说明 |
|---|---|---|
| 手机SoC | > 10 TOPS/W | 电池供电,发热敏感 |
| 边缘盒子 | > 5 TOPS/W | 被动散热,空间有限 |
| 云端加速卡 | > 1 TOPS/W | 主动散热,功耗预算宽裕 |
3.4 利用率(Utilization)—— 芯片的“效率”有多高
利用率,就是芯片实际干活的时间占总时间的比例。单位是百分比。
你想想看,一颗标称100TOPS的芯片,如果利用率只有30%,那实际只能跑30TOPS。这就是典型的“纸面算力”和“实际算力”的差距。
我见过最夸张的情况:某芯片标称50TOPS,实际跑ResNet-50时利用率不到20%。为什么?因为数据加载太慢,计算单元一直在等数据。
实际算力 = 峰值算力 × 利用率
所以,提升利用率比提升峰值算力更实在。
影响利用率的因素:
- 数据依赖:后一个操作必须等前一个操作完成
- 内存带宽:数据喂不饱计算单元
- 算子粒度:小算子太多,启动开销大
3.5 带宽效率(Bandwidth Efficiency)—— 芯片的“消化”能力
带宽效率,就是每字节数据能产生多少次计算。单位是OPS/Byte。
说白了,就是芯片从内存里读一个字节,能“消化”出多少计算量。这个指标特别重要,因为内存带宽往往是瓶颈。
计算公式:
带宽效率 = 计算量(TOPS) / 内存带宽(GB/s)
举个例子:一颗芯片有100TOPS算力,内存带宽是200GB/s:
带宽效率 = 100 / 200 = 0.5 TOPS/GB = 500 OPS/Byte
这个值越高,说明芯片对带宽的利用越充分。我建议:
- 卷积层:带宽效率通常较高,因为数据复用多
- 全连接层:带宽效率较低,因为权重矩阵大
- Transformer:介于两者之间
3.6 五维指标的关系
这五个指标不是孤立的。它们互相影响:
- TOPS高 ≠ 实际性能好,还要看利用率
- 延迟低 ≠ 吞吐量高,可能只是单任务优化
- 能效比高 ≠ 绝对功耗低,还要看绝对算力
- 带宽效率高 ≠ 带宽够用,还要看绝对带宽
我习惯用一张图来展示它们的关系:
这张图想表达的是:五个指标像五根手指,各有各的用处。你不能只看TOPS,也不能只看延迟。真正的好芯片,是五个指标都平衡的。
好了,这五个指标就讲到这里。记住:指标是死的,场景是活的。同样的芯片,跑不同的模型,表现可能天差地别。所以,别只看数字,要结合场景去理解。