算力口径扫盲:稠密与稀疏 TFLOPS 差多少、厂商怎么"注水"
选型 AI 芯片时,最容易被数字晃点的地方就是算力表。同一颗 H100,有的页面写 990 TFLOPS,有的写 1979 TFLOPS,两个都没错——错的是拿来做对比的那个人。这篇文章把算力口径拆开讲清楚。
稠密与稀疏:恰好两倍的差距
稠密(dense)算力指计算单元对每一对数据都做真实乘加时的峰值吞吐;稀疏(sparse)算力则假设输入矩阵里有一定比例的零可以被跳过。NVIDIA 自 Ampere 架构起支持 2:4 结构化稀疏:每四个权重里固定有两个为零,硬件直接跳过对应的乘加,峰值算力恰好翻倍。
以公开规格为例:
| 芯片(SXM) | BF16 稠密 | BF16 稀疏 | FP8 稠密 | FP8 稀疏 |
|---|---|---|---|---|
| A100 80GB | 约 312 TFLOPS | 约 624 TFLOPS | 不支持 | 不支持 |
| H100 | 约 990 TFLOPS | 约 1979 TFLOPS | 约 1979 TFLOPS | 约 3958 TFLOPS |
NVIDIA 官方数据表中标注的数字默认就是稀疏口径,并附有"不采用稀疏技术时规格降低一半"的脚注。问题在于,这个脚注在传播过程中经常被丢掉,于是 1979 就成了流传更广的那个数。
为什么"注水"能成立:真实负载很少吃到稀疏红利
结构化稀疏要兑现收益,前提相当苛刻:模型必须经过配套的剪枝与微调,让权重收敛到 2:4 的稀疏模式,且精度损失可接受;推理软件栈还要支持稀疏数据布局。现实是,主流大模型的训练和推理几乎都以稠密方式运行,市面上真正把结构化稀疏打满的生产级部署屈指可数。换句话说,稀疏算力是一张"理论上限的支票",多数负载兑不了现。
除了稀疏口径,规格表里还埋着几层口径差:精度档位(FP4 数字天然比 BF16 大数倍)、单芯还是整机(机柜级数字除以 GPU 数才有可比性)、峰值还是持续(散热和功耗墙会让持续算力明显低于峰值)。厂商倾向把对自己最有利的那一格放到宣传页首行,这不是造假,而是"选择性呈现"。
四步把规格表读出真实算力
- 统一精度:对比双方换算到同一精度档,BF16 对 BF16,FP8 对 FP8,绝不跨档比较。
- 还原稠密值:看到带稀疏角标的数字,先除以二再进表。粗略经验是,宣传数字越大越可能是稀疏或低精度口径。
- 确认统计边界:是单芯片、单模组还是整机柜数字;是否有双芯封装的合并口径。
- 换算成业务指标:用你的模型参数量和显存带宽反推 tokens 上限,与标称算力互相校验。算力再高,喂不饱就是虚的。
小结
稠密算力才是大多数真实负载能摸到的天花板,稀疏算力是需要软硬件全套配合的期权。选型时把所有候选芯片统一到"同精度、稠密、单芯"的口径上做对比,再用显存带宽和互连带宽交叉验证,就能过滤掉大部分注水成分。记住一条朴素规律:如果某个宣传数字比同代竞品高得离谱,先查它的口径,而不是急着惊叹。