芯片层 开放阅读

每 token 延迟

TPOT, Time Per Output Token

概念 ID
tpot-time-per-output-token
更新时间
2026-05-29
来源数量
待补

每 Token 延迟 (TPOT, Time Per Output Token)

1. 3 秒看懂

TPOT = 大模型每生成一个输出 token 所需的时间(毫秒)。 它直接决定用户”一个字一个字蹦出来”的体感速度。类比打字:TPOT 是每个字的间隔,而 TTFT(首 token 延迟)是按下回车后到第一个字出现的等待。人类阅读速度约 3–5 token/s,TPOT > 200 ms 用户即感知明显卡顿;< 50 ms 则”流式如飞”。

2. 3 分钟产业解释

为什么 TPOT 是 AI 推理的核心体验指标?

大语言模型推理分为两个阶段:

阶段操作主要瓶颈用户感知指标
Prefill(预填充)并行处理全部输入 prompt计算密集(矩阵×矩阵)TTFT(首 token 延迟)
Decode(解码/生成)逐 token 自回归生成带宽密集(读模型权重)TPOT

在对话、代码补全、Agent 调用等场景中,输出 token 通常远多于输入——一次请求可能生成 200–2000 个 token。TPOT 直接决定了这整个生成过程的累积等待时间:TPOT 100 ms 生成 1000 个 token 需 100 秒;TPOT 30 ms 则仅需 30 秒。

产业影响链

  • 用户体验:TPOT < 50 ms ≈ 20 token/s,超过人类阅读速度,体验流畅
  • 成本结构:TPOT 越低 = 单请求占用 GPU 时间越短 = 单卡可服务更多请求 → 推理成本下降
  • 商业模式:按 token 计费的 API 服务,TPOT 直接影响并发能力与单位成本

3. 15 分钟专家深入

3.1 精确定义

\text&#123;TPOT&#125; = \frac&#123;\text&#123;Total Decode Latency&#125;&#125;&#123;\text&#123;Num Output Tokens&#125; - 1&#125;

分母减 1 是因为 N 个输出 token 之间有 N-1 个间隔。也有实现方案将第 1 个输出 token 的生成归入 TTFT,此时 TPOT = (Total Generation Latency - TTFT) / (Num Output Tokens - 1)。

3.2 TPOT 在推理服务栈中的位置

请求到达
  │
  ▼
┌──────────────┐     ┌───────────────────┐     ┌─────────────────┐
│  Prefill 阶段 │────▶│  Decode 阶段(循环)  │────▶│  输出拼接/返回    │
│  处理全部输入  │     │  每步生成 1 个 token │     │                 │
│  → 决定 TTFT  │     │  → 决定 TPOT       │     │                 │
└──────────────┘     └───────────────────┘     └─────────────────┘

3.3 TPOT 的物理极限:内存带宽墙

Decode 阶段的核心操作是矩阵-向量乘(batch_size=1 时权重矩阵 × 单个 token 向量),其算术强度(Arithmetic Intensity)极低

  • 权重参数:每个参数读入一次(bytes_per_param 取决于量化精度)
  • 计算量:2 × d_in × d_out FLOPs/层(一个矩阵-向量乘)
  • 算术强度 ≈ 2 / bytes_per_param(FLOPs/byte)
精度bytes_per_param算术强度 (FLOPs/byte)
FP16/BF1621
INT812
INT40.54

以 H100 SXM 为例 [厂商规格]:

  • 峰值 FP16 算力 ≈ 990 TFLOPS(dense)
  • HBM3 带宽 ≈ 3.35 TB/s
  • Ridge Point(屋顶拐点)≈ 295 FLOPs/byte

FP16 decode 的算术强度 = 1 FLOP/byte ≪ 295 → 严重落在 memory-bound 区域。GPU 计算单元大量空闲,TPOT 几乎完全由内存带宽决定。

近似下界公式:

TPOT_min ≈ (Model_Weight_Bytes + 2 × n_layers × seq_len × d_model_kv × bytes_per_element) / Memory_Bandwidth

其中 2 × n_layers × seq_len × d_model_kv × bytes_per_element 为每生成一个新 token 时,attention 层需要读取的 K/V 缓存总量。

3.4 量化对 TPOT 的影响

由于 decode 是 memory-bound,减少每次读入的字节数直接降低 TPOT

  • FP16 → INT4:权重字节减少 ~4×,理论上 TPOT 可改善接近 4×
  • 实际改善需考虑反量化计算开销、KV cache 仍为 FP16 等因素,典型改善约 2–3× [行业经验估算]
  • 常见方案:GPTQ、AWQ、GGUF 等权重量化;KV cache 也可量化至 INT8/FP8

3.5 批处理(Batching)对 TPOT 的权衡

策略TPOT 影响吞吐影响
增大 batch_sizeTPOT 可能上升(KV cache 增长、计算变为矩阵-矩阵)吞吐上升
Continuous Batching(Orca 思路)请求完成即时释放,TPOT 稳定吞吐提升显著
PagedAttention(vLLM 思路)KV cache 分页管理,减少碎片化浪费,TPOT 略有改善吞吐提升
Prefill-Decode 分离(Splitwise/DistServe 思路)各自优化硬件选择,TPOT 可独立优化整体提升

核心张力:增大 batch_size 后,decode 从 matrix-vector 升级为 matrix-matrix,算术强度提升,GPU 计算利用率上升,整体吞吐增加但单请求 TPOT 可能增加——这是吞吐-延迟的经典 trade-off。

3.6 与 TTFT、吞吐的三角关系

            低 TTFT
           ╱      ╲
          ╱  三者    ╲
         ╱   难以     ╲
        ╱   同时最优    ╲
       ╱                ╲
  低 TPOT ———————————— 高吞吐
  • Prefill-heavy 优化(大 chunk prefill)→ TTFT 可能上升,但 TPOT 不受影响
  • 大 batch → 吞吐上升,TPOT 可能上升
  • Speculative decoding → 可同时改善 TPOT 而不牺牲吞吐(见下文)

4. 技术原理(最深)

4.1 Decode 单步的完整执行流程

以标准 Transformer decoder layer 为例,每生成一个 token 需要执行:

输入 token embedding (dim=d_model)
    │
    ▼
┌─────────────────────────────────────────────┐
│ Layer Norm (Pre-Norm)                        │
│   FLOPs: O(d_model)                          │
│   Mem: read d_model 参数                      │
├─────────────────────────────────────────────┤
│ Multi-Head Self-Attention                    │
│   Q_proj: weight (d_model × d_model)         │
│   K_proj: weight (d_model × d_model)         │
│   V_proj: weight (d_model × d_model)         │
│   O_proj: weight (d_model × d_model)         │
│   QK^T: 需读取全部历史 KV cache               │
│   → KV cache bytes = 2 × seq_len × d_model_kv │
│     × bytes_per_element                      │
├─────────────────────────────────────────────┤
│ Layer Norm                                    │
├─────────────────────────────────────────────┤
│ Feed-Forward Network (SwiGLU variant)        │
│   Gate_proj: (d_model × d_ffn)               │
│   Up_proj:   (d_model × d_ffn)               │
│   Down_proj: (d_ffn × d_model)               │
│   d_ffn 通常 = 8/3 × d_model (SwiGLU)        │
│     或 = 4 × d_model (传统 GELU)              │
└─────────────────────────────────────────────┘
    │
    ▼
  LM Head: (d_model × vocab_size) → logits

每层需读取的权重字节(FP16):

Attention weights: 4 × d_model² × 2 bytes
FFN weights:       3 × d_model × d_ffn × 2 bytes  (SwiGLU)
LN params:         略
─────────────────────────────────────────────
每层合计 ≈ (8 × d_model² + 6 × d_model × d_ffn) bytes  [FP16]

还需额外读取 KV cache(每层):

KV_cache_per_layer = 2 × seq_len × d_model_kv × bytes_per_element
                   = 2 × seq_len × n_kv_heads × head_dim × bytes_per_element

4.2 Roofline 分析图(ASCII)

  Achieved
  Performance
  (TFLOPS)
    │
 990├── ── ── ── ── ── ── ── ── ── ── ── ── ── ──  ← H100 compute ceiling
    │                                          ╱
    │                                        ╱
    │                                      ╱
    │                                    ╱  Compute-bound region
    │                                  ╱
    │                                ╱
    │                              ╱
    │                            ╱
    │                          ╱
    │                        ╱
    │          ╱───────────╱── Memory BW ceiling (3.35 TB/s)
    │        ╱           ╱
  ★ ├── ★ ╱           ╱     ★ = FP16 decode (AI≈1)
    │    ╱           ╱       ▲ = INT4 decode (AI≈4)
    │  ╱  ▲        ╱
  ▲ ├╱ ▲         ╱
    │           ╱
    ┼───┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──▶
    0  0.1 1   10  50 100 300 500     Arithmetic Intensity (FLOPs/byte)
              ↑
          Ridge Point ≈ 295

★ FP16 decode at bs=1:算术强度 ≈ 1,远在左侧 memory-bound 区域,实际 TFLOPS 远低于峰值。

▲ INT4 decode at bs=1:算术强度 ≈ 4,仍为 memory-bound,但利用率提升 ~4×。

随 batch_size 增大,decode 操作从 matrix-vector 逐步接近 matrix-matrix,算术强度线性增长,向 ridge point 靠近。

4.3 KV Cache 的角色

KV cache 是 decode 阶段的关键内存开销:

KV_cache_total = 2 × n_layers × n_kv_heads × head_dim × seq_len × bytes_per_element
  • GQA/MQA 的影响:n_kv_heads < n_attention_heads,KV cache 按比例缩小(如 Llama 2 70B 使用 GQA,n_kv_heads/n_heads = 8/64 = 1/8),直接降低 decode 时需读取的 cache 量
  • 长上下文场景:seq_len 增长直接扩大 KV cache,成为 TPOT 退化的主要因素之一
  • KV cache 量化:将 cache 从 FP16 降至 INT8 可减半 cache 读取量

4.4 TPOT 的组成部分分解

TPOT = T_weight_read + T_kv_cache_read + T_compute + T_comm + T_overhead

其中:
  T_weight_read    ∝ model_size / HBM_bandwidth    (通常占主导)
  T_kv_cache_read  ∝ seq_len × batch_size / BW     (随上下文增长)
  T_compute        ∝ model_size × batch_size / FLOPS (bs=1 时可忽略)
  T_comm           (多卡并行时 AllReduce/ReduceScatter)
  T_overhead       (kernel launch、调度等,通常 &lt; 1ms)

5. 技术演进史

时期关键事件TPOT 水平(估算)
2020GPT-3 175B 推理于 V100 集群数百 ms/token,主要面向研究
2021–2022A100 + FP16 推理成为主流,Hugging Face Text Generation Inference 上线大模型 ~100–200 ms,小模型 ~30–50 ms
2023 Q1–Q2vLLM(PagedAttention)开源,连续批处理普及吞吐大幅提升,TPOT 在高负载下仍可控
2023 H2INT4/INT8 量化推理(GPTQ、AWQ)成熟,H100 大规模部署大模型 TPOT 降至 ~30–80 ms(因模型/量化/硬件而异)
2024H200(HBM3e 带宽提升)、Speculative Decoding 工程化、Prefill-Decode 分离架构(Splitwise/DistServe)大模型 TPOT 可低至 ~20–50 ms(优化配置下估算)
2024–2025B200/GB200 NVL72 部署、Blackwell 架构 HBM3e + 1.8TB/s NVLink预计进一步压低 TPOT,但模型规模同步增长

6. 技术路线对比(量化表)

6.1 影响 TPOT 的主要技术路径

技术路径TPOT 改善倍数(估算)吞吐影响成熟度代表实现
权重量化 (INT4)2–3×正面GPTQ, AWQ, GGUF
KV Cache 量化 (INT8)1.1–1.3×正面多推理框架支持
更大 batch_sizeTPOT 可能略升吞吐 ↑↑所有框架
Continuous Batching高负载下 TPOT 更稳定↑↑vLLM, TGI, TensorRT-LLM
Speculative Decoding2–3×不变或略升Medusa, EAGLE, DeepSeek 等
PagedAttention略有改善vLLM
Prefill-Decode 分离TPOT 可独立优化Splitwise, DistServe
模型剪枝/蒸馏取决于压缩比依模型而定
硬件升级(更大 HBM BW)线性改善H100→H200→B200

6.2 不同硬件平台的 TPOT 近似上限(理论内存带宽极限)

以 FP16 推理 70B 参数模型为例,仅读取模型权重的理论下界:

模型权重 ≈ 70B × 2 bytes = 140 GB (FP16)

TPOT_weight_only ≈ 140 GB / HBM_bandwidth
硬件HBM 带宽 [厂商规格]理论 TPOT 下限(仅权重读取,FP16)
A100 80GB (HBM2e)~2.0 TB/s~70 ms
H100 SXM (HBM3)~3.35 TB/s~42 ms
H200 (HBM3e)~4.8 TB/s~29 ms
B200 (HBM3e)~8.0 TB/s [厂商规格]~18 ms

:以上为权重读取理论下限,未计入 KV cache、计算、通信等开销,实际 TPOT 通常高于此值 20–50%。使用 INT4 量化后,上述数值可近似除以 4。


7. 上下游

7.1 上游(TPOT 的决定因素)

┌─────────────────────────────────────────────────┐
│                 决定 TPOT 的因素                   │
├──────────────┬──────────────┬───────────────────┤
│  模型层       │  系统层       │  硬件层            │
├──────────────┼──────────────┼───────────────────┤
│ 参数量        │ 推理框架优化   │ HBM 带宽          │
│ 精度(FP16/INT4)│ 批处理策略    │ HBM 容量           │
│ 架构(GQA/MoE) │ 调度器       │ GPU 计算能力        │
│ 层数/d_model  │ 量化方案      │ 互联带宽(NVLink等)  │
│ 序列长度      │ KV cache管理  │ 芯片数量/并行策略    │
└──────────────┴──────────────┴───────────────────┘

7.2 下游(TPOT 的影响对象)

  • 用户体感:流式输出的流畅度
  • 产品设计:影响是否适合实时交互场景(对话 vs 批量生成)
  • 服务成本:TPOT × 输出 token 数 = 单请求 GPU 占用时间 → 影响 QPS 和 GPU 利用率
  • API 定价:更低 TPOT → 同硬件可服务更多请求 → 每 token 边际成本下降

8. 关键指标

指标定义与 TPOT 关系
TPOT (本文)每输出 token 的 decode 延迟
TTFT (Time To First Token)首个输出 token 的延迟(prefill)与 TPOT 正交,可独立优化
Decode Throughput (token/s)服务端总输出 token 吞吐= 1/TPOT × batch_size(简化)
Per-Request Throughput单请求的输出 token/s= 1/TPOT
Time-to-Serve单请求总延迟 = TTFT + TPOT × (N-1)用户端完整体验
TPS (Tokens Per Second)每秒输出 token 数= 1000/TPOT(TPOT 单位为 ms 时)
Inter-Token Latency (ITL)与 TPOT 同义,部分文献互换使用

关键性能指标参考区间

场景目标 TPOT说明
实时对话(类 ChatGPT 体验)< 50 ms(> 20 token/s)超过人类阅读速度
代码补全< 30 ms(> 33 token/s)需跟上编码节奏
批量文档处理< 200 ms 可接受非交互,更关注吞吐
Agent / 工具调用< 80 ms需快速决策,但非实时对话

9. 供需与市场数据

9.1 推理成本中的 TPOT 意义

推理服务的单位成本(每 1000 token 价格)本质上可分解为:

Cost_per_1K_tokens ≈ (GPU_cost_per_hour) / (3600 × 1000 / TPOT_ms × avg_batch_size)

TPOT 降低 2× → 在相同 batch_size 下可服务的 token/s 翻倍 → 每 token 成本近乎减半

9.2 主流 API 服务的 TPOT 参考(公开/社区测试,非标准化基准)

重要说明:以下数据来源于各厂商公开文档及第三方社区测试,测试条件(模型、prompt 长度、负载、region)各异,仅作量级参考,不宜直接横比。

服务模型(参考)公开宣称/社区测试的生成速度估算 TPOT
OpenAI GPT-4o APIGPT-4o官方宣称低延迟,社区测试约 50–100+ token/s~10–20 ms(估算,视负载)
Anthropic Claude APIClaude 3.5 Sonnet社区测试约 60–90 token/s~11–17 ms(估算)
Google Gemini APIGemini 1.5 Pro视场景,社区报告约 40–80 token/s~13–25 ms(估算)
DeepSeek APIDeepSeek-V3社区测试约 30–60 token/s~17–33 ms(估算)
自建 Llama 3 70B (INT4, H100)Llama 3 70B社区基准约 15–30 token/s(单用户)~33–67 ms(估算)

注意:上述数据受测试条件影响极大,包括上下文长度、并发负载、是否使用 KV cache 命中、量化方案、batch 策略等。厂商通常在优化条件下公布数据。

9.3 推理芯片 HBM 带宽竞争格局

TPOT 的物理上限由 HBM 带宽决定,这驱动了 HBM 的军备竞赛:

厂商/产品HBM 代际带宽 [厂商规格]状态
NVIDIA H100HBM3~3.35 TB/s量产中
NVIDIA H200HBM3e~4.8 TB/s量产中
NVIDIA B200HBM3e~8.0 TB/s量产中
AMD MI300XHBM3~5.3 TB/s量产中
AMD MI350XHBM3e待公布预期中

10. 代表公司与资本映射

10.1 推理框架/平台(通过优化 TPOT 获竞争力)

公司/项目产品TPOT 优化技术备注
vLLM (UC Berkeley → 商业化)vLLMPagedAttention, Continuous Batching开源影响力最大的推理引擎
NVIDIATensorRT-LLM内核优化、量化、In-flight BatchingGPU 上性能标杆
Anyscale (Ray)Ray Serve分布式调度适合大规模部署
SGLangSGLangRadixAttention(KV cache 复用)复杂 Agent 场景优势
Hugging FaceTGIContinuous Batching云上广泛部署

10.2 芯片/硬件(提供 TPOT 的物理基础)

类别代表与 TPOT 的关系
GPU(NVIDIA)H100, H200, B200HBM 带宽直接决定 TPOT 下限
GPU(AMD)MI300X, MI350X高 HBM 带宽竞争
推理 ASICGroq LPU, Cerebras WSE通过 SRAM/片上存储绕过 HBM 墙
内存厂商SK Hynix, Samsung, MicronHBM 代际提升直接改善 TPOT

11. 投资逻辑

11.1 核心判断框架

TPOT 优化是推理市场的”刀刃”——谁的 TPOT 更低、成本更优,谁就在 API 服务市场有定价权。

11.2 投资映射

投资主题逻辑相关标的(举例)
HBM 内存TPOT 物理瓶颈 = HBM 带宽,每代升级直接改善 TPOTSK Hynix, Samsung, Micron
高端 GPU更高 HBM 带宽 + 更大容量 = 更低 TPOT + 更大 batchNVIDIA, AMD
推理优化软件量化、调度、KV cache 管理可在同硬件上压低 TPOTvLLM 生态、NVIDIA TRT-LLM 生态
推理 ASIC若能在特定场景突破 GPU 的 HBM 瓶颈Groq, Cerebras, d-Matrix
Prefill-Decode 分离架构分别优化两个阶段,预期成为大规模推理标准新兴架构,当前多为内部方案

11.3 风险

  • 模型架构革新(如 Mamba/SSM 类线性注意力模型)可能从根本上改变 decode 的计算模式,TPOT 瓶颈从内存带宽转向计算
  • 推理 ASIC 的适用范围若受限于模型灵活性,市场空间可能小于预期
  • FP4/更激进量化可能进一步削弱对 HBM 带宽升级的需求

12. 常见误读纠偏

误读 1:「TPOT 就是生成速度(token/s)」

纠偏:TPOT 是每 token 的时间(ms/token),token/s = 1000/TPOT,二者互为倒数。更关键的区别:token/s 在含糊使用时可能指单请求速度(= 1/TPOT)或服务端总吞吐(= batch_size/TPOT),差异巨大。讨论性能时必须明确语境。

误读 2:「TPOT 越低越好,应该不计代价追求最低 TPOT」

纠偏:TPOT 与吞吐存在 trade-off。一个请求的 TPOT 20 ms 但只能同时处理 1 个请求,不如 TPOT 50 ms 但可并发处理 20 个请求——后者的总吞吐成本效率远优于前者。最优解取决于场景:实时对话优先低 TPOT,批处理优先高吞吐。部分方案(如 Speculative Decoding)可在不显著影响吞吐的情况下改善 TPOT。

误读 3:「TPOT 只和 GPU 算力有关」

纠偏:decode 阶段在典型 batch_size 下是 memory-bandwidth-bound,不是 compute-bound。高 TFLOPS 数字对 TPOT 的改善是间接的(通过更大 batch 提升算术强度)。真正直接改善 TPOT 的是更大的 HBM 带宽、更小的权重字节(量化)、更高效的 KV cache

source: 公开披露与公开资料整理 本页仅用于产业链学习、信息检索和研究辅助;不构成投资建议,不预测涨跌,不提供买卖、仓位或目标价建议。
完整概念页 复盘 13 节结构 公司投研页 沿产业链找到受益公司 投资课 把概念转成可跟踪模型