显卡推理速度测试的常用指标具体含义:FA、pp512、tg128、Q4_0 都是什么意思

显卡推理速度测试里经常会出现 FA、pp512、tg128、Q4_0、t/s 这些缩写。它们都和性能有关,但测的不是同一件事。这篇文章用更短的方式把它们分别解释清楚。

看显卡推理速度测试时,最容易把人看晕的不是分数本身,而是这些缩写:

1
2
3
CUDA Scoreboard for Llama 2 7B, Q4_0 (no FA)
pp512 t/s
tg128 t/s

下面直接按最常见的问题拆开解释。

这行标题整体是什么意思

CUDA Scoreboard for Llama 2 7B, Q4_0 (no FA) 通常包含四层信息:

  • CUDA:说明跑分是在 NVIDIA GPU 的 CUDA 路径上完成的
  • Llama 2 7B:说明测试对象是 Llama 27B 参数版本
  • Q4_0:说明模型用了 4-bit 量化格式
  • no FA:说明这次测试关闭了 Flash Attention

一句话理解:这是某个量化版模型在 NVIDIA 显卡上的推理速度测试,而且没有开启 Flash Attention

FA 是什么:Flash Attention

FA 就是 Flash Attention,它是注意力计算的加速技术。核心作用可以直接记成三点:

  • 更快
  • 更省显存
  • 在数学上和普通注意力等价,不是“牺牲精度换速度”

no FA 是什么意思

no FA 就是没开 Flash Attention。它通常出现在跑分表里,主要是为了:

  • 做对照组,方便看出开启 FA 后到底提升了多少
  • 兼容某些不支持 FA 的硬件或软件环境
  • 避免不同测试项混在一起,导致数据不可比

Q4_0 是什么:量化格式

Q4_0 是一种 4-bit 量化格式,可以先这样记:

  • Q:Quantization,量化
  • 4:4-bit
  • _0:某一种具体量化方案的标识

它的作用是:

  • 减少模型体积
  • 降低显存需求
  • 让本来装不下的模型变得能跑起来

pp512 t/s 是什么意思

pp512 一般是 Prompt Processing 512 tokens,测的是输入处理速度。

  • pp:prompt processing
  • 512:测试输入长度是 512 token
  • t/s:每秒多少 token

它测的不是模型吐字速度,而是模型“先把输入读完”的速度。这个阶段并行度高,所以数值通常会很大,比如:

1
pp512 ≈ 14000 t/s

tg128 t/s 是什么意思

tg128 一般是 Text Generation 128 tokens,测的是输出生成速度。

  • tg:text generation
  • 128:测试连续生成 128 token
  • t/s:每秒多少 token

它更接近我们平时感受到的“模型回答快不快”。因为生成是逐 token 递推的,所以它通常会明显低于 pp512,例如:

  • pp512 是上万 t/s
  • tg128 却只有几百 t/s

为什么 pp512 和 tg128 会差这么多

核心原因就一句话:

pp512 测的是并行吞吐,tg128 测的是逐 token 生成。`

具体来说:

  • 输入阶段更容易并行
  • 输出阶段更依赖逐步递推
  • 生成阶段通常更吃显存带宽和缓存效率
  • 所以生成速度远低于输入处理速度是正常现象

t/s 到底怎么理解

t/s 就是 tokens per second。它表示模型每秒能处理或生成多少 token。

token 不是“字”也不是“单词”,所以 t/s 更适合做这些对比:

  • 同模型下不同显卡对比
  • 同环境下不同参数设置对比
  • 同一框架里开启或关闭某个优化项前后的对比

一页记住

  • Q4_0:模型被压缩成了 4-bit 量化版本
  • FA:是不是启用了 Flash Attention 加速
  • pp512:处理 512 token 输入时有多快
  • tg128:生成 128 token 输出时有多快
  • t/s:速度单位,每秒多少 token

结语

看这类显卡推理速度测试时,最重要的不是只看分高不高,而是先分清:

  • 模型和量化格式
  • 有没有开 FA
  • 测的是输入处理还是文本生成
  • 单位是不是 t/s

把这几件事分清楚,绝大多数 scoreboard 都不会太难读。

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计