每次对 LLM 的generate()调用都会在同一个 GPU 上运行两个不同的计算阶段:
- •Prefill(处理提示词)是计算密集型
- •Decode(逐个生成 token)是内存密集型
大多数推理优化都针对其中一个阶段,而诊断哪个阶段是瓶颈是提高部署效率的第一步。
今天,我们来完整走一遍整个流程——从 token 化输入到流式输出,并分析每个阶段的时间消耗。
分词与嵌入
像字节对编码(BPE)这样的分词器会将原始文本转换为大约 50,000 个词表中的整数 ID。
每个 ID 映射到嵌入表中的一行,这是一个形状为[vocab_size, hidden_dim]的学习矩阵。对于隐藏维度为 4,096 的模型,每个 token 变成一个 4,096 维的向量。
位置信息也在这一阶段被注入。
大多数现代架构使用旋转位置嵌入(RoPE),它通过旋转嵌入向量来编码位置,而不是添加单独的位置向量。
Transformer 层
嵌入后的序列会通过一堆 Transformer 层(通常为 32 到 80+ 层,取决于模型规模)。
每一层依次应用两个操作:
自注意力为每个 token 计算三个投影(Query Q、Key K、Value V),通过学习到的权重矩阵实现。
每个 token 的 query 会与所有其他 token 的 key 进行评分,这些评分(经过缩放和 softmax 后)决定了每个 token 的 value 被混合多少。
前馈网络(FFN)通过一个两层的 MLP 独立处理每个 token 的向量。注意力在位置之间传递信息,而 FFN 则对信息进行转换。
在最后一层之后,模型将最后一个 token 的隐藏状态投影回词表大小([hidden_dim, vocab_size]),应用 softmax,从得到的分布中采样以产生第一个输出 token。
Prefill:计算密集型阶段
处理输入提示词是第一个阶段。所有 token 并行处理:每个 token 的 Q、K、V 同时计算,注意力以大型矩阵-矩阵乘法的方式运行。
这是计算密集型工作。GPU 的算术吞吐量是瓶颈,利用率很高。衡量这个阶段的指标是首 token 时间(TTFT)——即第一个输出 token 出现之前的延迟。
在 prefill 期间,模型还会填充 KV 缓存:每层的 K 和 V 张量被存储在 GPU 内存中以供重用。
Decode:内存密集型阶段
一旦生成第一个 token,模型就切换为逐个生成 token。对于每个新 token,只计算该单个 token 的 Q、K、V。所有先前 token 的 K 和 V 已在缓存中。
每一步的算术运算量很小(一个查询向量与缓存的键矩阵相乘,而不是完整的矩阵-矩阵乘法)。但 GPU 仍然为这个小型计算加载每个权重矩阵和整个缓存的 K/V。瓶颈从计算转为内存带宽。
这个阶段的指标是Token 间延迟(ITL):连续输出 token 之间的时间。低 ITL 是让模型感觉响应迅速的关键。
KV 缓存
没有缓存的情况下,生成 1,000 个 token 的响应需要在每一步都重新计算整个增长序列的注意力,产生二次复杂度。
KV 缓存存储每层的 K 和 V 张量一次,然后增量追加新条目。
视频内容:展示 LLM 推理在使用与不使用 KV 缓存时的速度对比
加速比大约为5 倍或更高,用于长生成任务。
代价是缓存随序列长度线性增长,并且是按层存在的。对于一个 13B 参数的模型,缓存大约每 token 消耗 1 MB。4K token 的上下文仅缓存就要消耗 4 GB 的 VRAM。
这就是长上下文成本高昂的原因。缓存直接与批量大小竞争 GPU 内存——即每个请求的缓存越多,每个 GPU 能处理的并发请求就越少。
一些标准缓解措施包括:
- • 将缓存量化为 INT8 或 INT4
- • 滑动窗口注意力(丢弃固定窗口外的 token)
- • 分组查询注意力(GQA,在注意力头之间共享 K/V 以减少缓存的张量数量)
- • PagedAttention(vLLM 背后的内存管理技巧,像操作系统分页虚拟内存一样对缓存进行分页,消除碎片化)
前沿:围绕缓存重新设计注意力
量化和分页将 KV 缓存视为需要管理的固定成本。DeepSeek 的 V4 系列(2025 年 4 月发布)采用了不同的方法:从一开始就重新设计注意力,使缓存结构性地更小。
V4 使用两种压缩注意力机制的混合:
- •压缩稀疏注意力(CSA):通过 softmax 门控池化将 KV 条目压缩 4 倍,然后对压缩后的 token 应用稀疏注意力。
- •深度压缩注意力(HCA):更激进。将 128 个 token 的 KV 条目合并为一个压缩条目,并对这些表示应用密集注意力。
在 1M token 上下文中,V4-Pro 只需要 DeepSeek-V3.2 单 token 推理 FLOPs 的27%和 KV 缓存的10%。
绝对值方面,这在 bf16 的 1M 上下文中每个序列需要 9.62 GiB 的 KV 缓存,而 V3.2 风格架构估计需要 83.9 GiB。加上 fp4/fp8 量化,缓存再缩小 2 倍。
KV 缓存已经成为整个领域围绕它优化模型架构的约束。当注意力本身被重新设计以最小化缓存占用时,瓶颈已从"如何服务模型"转变为"如何为服务而设计模型"。
量化
训练使用 FP32 或 BF16 以保证梯度稳定性。推理不需要这种精度。降低位宽带来的内存节省是线性的:
- 7B 参数在 FP32精度下: 需要28 GB内存
- 7B 参数在FP16/BF16精度下: 需要14 GB内存
- 7B 参数在 INT8精度下: 需要7 GB内存
- 7B 参数在INT4精度下: 需要3.5 GB内存
INT4 是 7B 模型能在具有 4-6 GB VRAM 的笔记本电脑 GPU 上运行的原因。像 GPTQ 和 AWQ 这样的方法使用每通道缩放因子来最小化有损压缩带来的质量下降。
处理得当的话,INT4 在标准基准测试中与全精度模型的差距在 1-2 个百分点以内。
从 FP16 到 INT8 通常能将推理延迟减半,质量损失可以忽略不计,这使得量化成为大多数部署中杠杆效应最高的优化。
服务基础设施
现代推理服务器围绕 prefill-decode 循环应用了多项优化:
- •连续批处理(Continuous Batching):在同一个 GPU 步骤中交错来自多个请求的 token,即使在内存密集型的 decode 阶段也能保持高利用率。
- •推测解码(Speculative Decoding):使用小型草稿模型提出多个 token,然后大模型在一次前向传播中验证它们。当草稿模型的接受率高时,这有效地将多个顺序 decode 步骤转换为一个并行验证。
- •PagedAttention(vLLM):以固定大小的块管理 KV 缓存内存,消除碎片化,实现每个 GPU 更多并发请求。
像 vLLM、TensorRT-LLM 和 Text Generation Inference(TGI)这样的框架结合了这些技术。一个 GPU 可以同时服务数十个并发用户,因为 decode 使大部分算术容量闲置,而连续批处理用其他请求填补那些空闲容量。
总结
综合前面所述,完整的推理路径如下图:
- Tokenize:文本通过 BPE 变成整数 ID
- Embed:ID 变成向量,RoPE 编码位置
- Prefill:所有输入 token 通过每一层并行处理。计算密集型。KV 缓存填充。发出第一个 token。
- Decode 循环:每步一个 token:投影新 token 的 Q,attend 缓存的 K/V,运行 FFN,采样。将新 K/V 追加到缓存。内存密集型。
- Detokenize:Token ID 映射回文本并流式输出。
一些实际影响:
- •长提示词在 TTFT(prefill)上成本高昂
- •长输出在 ITL(decode)上成本高昂
- • 它们消耗不同的硬件资源
- • 上下文长度不是免费的,因为它膨胀了 KV 缓存,直接降低了批处理容量
- • 即使在满载的服务器上,decode 期间的 GPU 利用率也可能降到 30%,因为瓶颈是内存带宽,而不是算术
- • 解决方案不是更多计算,而是更快的内存、更小的缓存、或更好的批处理
- • 当有人说模型很慢时,第一个诊断是:启动慢(prefill 受限,优化 TTFT)还是流式输出慢(decode 受限,优化 ITL)
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~