<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Flash Attention on KnightLi的博客</title>
        <link>https://www.knightli.com/tags/flash-attention/</link>
        <description>Recent content in Flash Attention on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Thu, 23 Apr 2026 00:15:00 +0800</lastBuildDate><atom:link href="https://www.knightli.com/tags/flash-attention/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>显卡推理速度测试的常用指标具体含义：FA、pp512、tg128、Q4_0 都是什么意思</title>
        <link>https://www.knightli.com/2026/04/23/how-to-read-llm-cuda-scoreboard-fa-pp512-tg128-q4-0/</link>
        <pubDate>Thu, 23 Apr 2026 00:15:00 +0800</pubDate>
        
        <guid>https://www.knightli.com/2026/04/23/how-to-read-llm-cuda-scoreboard-fa-pp512-tg128-q4-0/</guid>
        <description>&lt;p&gt;看显卡推理速度测试时，最容易把人看晕的不是分数本身，而是这些缩写：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;CUDA Scoreboard for Llama 2 7B, Q4_0 (no FA)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pp512 t/s
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tg128 t/s
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;下面直接按最常见的问题拆开解释。&lt;/p&gt;
&lt;h2 id=&#34;这行标题整体是什么意思&#34;&gt;这行标题整体是什么意思
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CUDA Scoreboard for Llama 2 7B, Q4_0 (no FA)&lt;/code&gt; 通常包含四层信息：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CUDA&lt;/code&gt;：说明跑分是在 NVIDIA GPU 的 CUDA 路径上完成的&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Llama 2 7B&lt;/code&gt;：说明测试对象是 &lt;code&gt;Llama 2&lt;/code&gt; 的 &lt;code&gt;7B&lt;/code&gt; 参数版本&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Q4_0&lt;/code&gt;：说明模型用了 4-bit 量化格式&lt;/li&gt;
&lt;li&gt;&lt;code&gt;no FA&lt;/code&gt;：说明这次测试关闭了 &lt;code&gt;Flash Attention&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一句话理解：这是某个量化版模型在 NVIDIA 显卡上的推理速度测试，而且没有开启 &lt;code&gt;Flash Attention&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;fa-是什么flash-attention&#34;&gt;FA 是什么：Flash Attention
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;FA&lt;/code&gt; 就是 &lt;code&gt;Flash Attention&lt;/code&gt;，它是注意力计算的加速技术。核心作用可以直接记成三点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;更快&lt;/li&gt;
&lt;li&gt;更省显存&lt;/li&gt;
&lt;li&gt;在数学上和普通注意力等价，不是“牺牲精度换速度”&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;no-fa-是什么意思&#34;&gt;no FA 是什么意思
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;no FA&lt;/code&gt; 就是没开 &lt;code&gt;Flash Attention&lt;/code&gt;。它通常出现在跑分表里，主要是为了：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;做对照组，方便看出开启 &lt;code&gt;FA&lt;/code&gt; 后到底提升了多少&lt;/li&gt;
&lt;li&gt;兼容某些不支持 &lt;code&gt;FA&lt;/code&gt; 的硬件或软件环境&lt;/li&gt;
&lt;li&gt;避免不同测试项混在一起，导致数据不可比&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;q4_0-是什么量化格式&#34;&gt;Q4_0 是什么：量化格式
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Q4_0&lt;/code&gt; 是一种 4-bit 量化格式，可以先这样记：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Q&lt;/code&gt;：Quantization，量化&lt;/li&gt;
&lt;li&gt;&lt;code&gt;4&lt;/code&gt;：4-bit&lt;/li&gt;
&lt;li&gt;&lt;code&gt;_0&lt;/code&gt;：某一种具体量化方案的标识&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它的作用是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;减少模型体积&lt;/li&gt;
&lt;li&gt;降低显存需求&lt;/li&gt;
&lt;li&gt;让本来装不下的模型变得能跑起来&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;pp512-ts-是什么意思&#34;&gt;pp512 t/s 是什么意思
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;pp512&lt;/code&gt; 一般是 &lt;code&gt;Prompt Processing 512 tokens&lt;/code&gt;，测的是输入处理速度。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pp&lt;/code&gt;：prompt processing&lt;/li&gt;
&lt;li&gt;&lt;code&gt;512&lt;/code&gt;：测试输入长度是 512 token&lt;/li&gt;
&lt;li&gt;&lt;code&gt;t/s&lt;/code&gt;：每秒多少 token&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它测的不是模型吐字速度，而是模型“先把输入读完”的速度。这个阶段并行度高，所以数值通常会很大，比如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pp512 ≈ 14000 t/s
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;tg128-ts-是什么意思&#34;&gt;tg128 t/s 是什么意思
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;tg128&lt;/code&gt; 一般是 &lt;code&gt;Text Generation 128 tokens&lt;/code&gt;，测的是输出生成速度。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tg&lt;/code&gt;：text generation&lt;/li&gt;
&lt;li&gt;&lt;code&gt;128&lt;/code&gt;：测试连续生成 128 token&lt;/li&gt;
&lt;li&gt;&lt;code&gt;t/s&lt;/code&gt;：每秒多少 token&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它更接近我们平时感受到的“模型回答快不快”。因为生成是逐 token 递推的，所以它通常会明显低于 &lt;code&gt;pp512&lt;/code&gt;，例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pp512&lt;/code&gt; 是上万 &lt;code&gt;t/s&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tg128&lt;/code&gt; 却只有几百 &lt;code&gt;t/s&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;为什么-pp512-和-tg128-会差这么多&#34;&gt;为什么 pp512 和 tg128 会差这么多
&lt;/h2&gt;&lt;p&gt;核心原因就一句话：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pp512&lt;/code&gt; 测的是并行吞吐，&lt;code&gt;tg128&lt;/code&gt; 测的是逐 token 生成。`&lt;/p&gt;
&lt;p&gt;具体来说：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;输入阶段更容易并行&lt;/li&gt;
&lt;li&gt;输出阶段更依赖逐步递推&lt;/li&gt;
&lt;li&gt;生成阶段通常更吃显存带宽和缓存效率&lt;/li&gt;
&lt;li&gt;所以生成速度远低于输入处理速度是正常现象&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ts-到底怎么理解&#34;&gt;t/s 到底怎么理解
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;t/s&lt;/code&gt; 就是 &lt;code&gt;tokens per second&lt;/code&gt;。它表示模型每秒能处理或生成多少 token。&lt;/p&gt;
&lt;p&gt;但 &lt;code&gt;token&lt;/code&gt; 不是“字”也不是“单词”，所以 &lt;code&gt;t/s&lt;/code&gt; 更适合做这些对比：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;同模型下不同显卡对比&lt;/li&gt;
&lt;li&gt;同环境下不同参数设置对比&lt;/li&gt;
&lt;li&gt;同一框架里开启或关闭某个优化项前后的对比&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;一页记住&#34;&gt;一页记住
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Q4_0&lt;/code&gt;：模型被压缩成了 4-bit 量化版本&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FA&lt;/code&gt;：是不是启用了 Flash Attention 加速&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pp512&lt;/code&gt;：处理 512 token 输入时有多快&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tg128&lt;/code&gt;：生成 128 token 输出时有多快&lt;/li&gt;
&lt;li&gt;&lt;code&gt;t/s&lt;/code&gt;：速度单位，每秒多少 token&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;结语&#34;&gt;结语
&lt;/h2&gt;&lt;p&gt;看这类显卡推理速度测试时，最重要的不是只看分高不高，而是先分清：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;模型和量化格式&lt;/li&gt;
&lt;li&gt;有没有开 &lt;code&gt;FA&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;测的是输入处理还是文本生成&lt;/li&gt;
&lt;li&gt;单位是不是 &lt;code&gt;t/s&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;把这几件事分清楚，绝大多数 scoreboard 都不会太难读。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
