晶片層 開放閱讀

每 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 節結構 公司投研頁 沿產業鏈找到受益公司 投資課 把概念轉成可跟蹤模型