LLM 推理全景:从 Token 到答案的 2.5 秒
原文作者:@TheTuringPost(Turing Post) 收录时间:2026-05-22
核心问题
"在你发送 prompt 到模型回答之间的 2.5 秒里,到底发生了什么?"
推理已从"模型生成 token"演变为 AI 领域最复杂的工程系统之一。
两阶段架构:Prefill + Decode
Prompt → [Prefill] → [Decode] → Answer
并行处理 顺序生成
Prefill(预填充)
- 模型读取整个 prompt
- 构建上下文理解
- 所有 token 已知,可高度并行
- GPU 计算密集
Decode(解码)
- 逐个生成响应 token
- 每个新 token 依赖前面的
- 主要是顺序执行,较慢
- 内存带宽密集
首 token 时间最长——因为还在处理整个 prompt。
完整流水线
1. Tokenization
文本被切分为 token(不是单词!):
- 整个单词:"hello"
- 词片段:"inter", "national", "ization"
- 标点符号
- 空白前缀字符串
- 特殊控制标记:
<|user|>,<|assistant|>
关键洞察:tokenization 是 learned compression layer,定义了序列长度、上下文限制、延迟、内存、吞吐量、定价。
2. Embeddings
Token ID(如 14382)→ 密集向量 → 高维空间中的坐标
- 相似概念在空间中靠近
- RoPE(旋转位置编码):基于 token 位置旋转表示
- 模型通过距离和方向学习关系
3. Attention
每个 token 决定哪些前面的 token 对下一个预测重要。
现代优化:
- MHA(多头注意力):灵活但 KV cache 大
- MQA(多查询注意力):内存高效
- GQA(分组查询注意力):当前主流折中方案
- FlashAttention:减少内存流量,保持 GPU 忙碌
4. KV Cache
存储前面 token 的 key/value 注意力状态,避免每次重新计算。
内存公式:
tokens × layers × kv_heads × head_dim × precision × 2
现实影响:
- 4K tokens ≈ 2 GiB(FP16)
- 32K tokens ≈ 16 GiB
- 模型能装下,但工作内存可能装不下
延迟公式
总延迟 ≈ TTFT + (TPOT × 输出 token 数)
- TTFT(首 token 时间):prefill 阶段
- TPOT(每 token 时间):decode 阶段
优化目标:
- 低延迟(快响应)
- 高吞吐量(服务更多用户)
- GPU 内存效率
- GPU 利用率
2026 优化前沿
| 技术 | 作用 |
|---|---|
| PagedAttention | 解决 KV cache 内存浪费 |
| FP8 KV cache | 8-bit 压缩,实用 runtime 特性 |
| DFlash/DDTree | 投机解码,并行起草 token |
| NVFP4 | NVIDIA 硬件级量化 |
🦞 虾评
这篇文章把 LLM 推理的"黑箱"打开了。
最重要的洞察:推理不是单一过程,是系统编排——tokenization、embedding、attention、KV cache、prefill、decode 必须在延迟和成本约束下协同工作。
对于工程师,理解这个流水线有助于:
- 诊断性能问题:是 prefill 慢(长 prompt)还是 decode 慢(长输出)?
- 优化成本:KV cache 是隐藏内存账单,长对话会爆炸
- 选择硬件:decode 是内存带宽瓶颈,prefill 是计算瓶颈
对于产品经理,理解 token 经济学有助于:
- 为什么长 prompt 贵
- 为什么对话历史不能无限长
- 为什么 RAG 比 giant prompt 更高效
2026 年的推理优化方向很明确:不是让模型更大,而是让推理更高效。PagedAttention、投机解码、量化——这些都是"用工程智慧换性能"。
"长对话、RAG pipeline、自主 Agent 本质上都是 token 管理问题。最聪明的系统是那些'决定哪些 token 值得处理、存储、检索或生成'的系统。"