每次对 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 以减少缓存的张量数量• PagedAttentionvLLM 背后的内存管理技巧像操作系统分页虚拟内存一样对缓存进行分页消除碎片化前沿围绕缓存重新设计注意力量化和分页将 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 步骤转换为一个并行验证。•PagedAttentionvLLM以固定大小的块管理 KV 缓存内存消除碎片化实现每个 GPU 更多并发请求。像 vLLM、TensorRT-LLM 和 Text Generation InferenceTGI这样的框架结合了这些技术。一个 GPU 可以同时服务数十个并发用户因为 decode 使大部分算术容量闲置而连续批处理用其他请求填补那些空闲容量。总结综合前面所述完整的推理路径如下图Tokenize文本通过 BPE 变成整数 IDEmbedID 变成向量RoPE 编码位置Prefill所有输入 token 通过每一层并行处理。计算密集型。KV 缓存填充。发出第一个 token。Decode 循环每步一个 token投影新 token 的 Qattend 缓存的 K/V运行 FFN采样。将新 K/V 追加到缓存。内存密集型。DetokenizeToken ID 映射回文本并流式输出。一些实际影响•长提示词在 TTFTprefill上成本高昂•长输出在 ITLdecode上成本高昂• 它们消耗不同的硬件资源• 上下文长度不是免费的因为它膨胀了 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时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
简介LLM 推理的内部工作原理
每次对 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 以减少缓存的张量数量• PagedAttentionvLLM 背后的内存管理技巧像操作系统分页虚拟内存一样对缓存进行分页消除碎片化前沿围绕缓存重新设计注意力量化和分页将 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 步骤转换为一个并行验证。•PagedAttentionvLLM以固定大小的块管理 KV 缓存内存消除碎片化实现每个 GPU 更多并发请求。像 vLLM、TensorRT-LLM 和 Text Generation InferenceTGI这样的框架结合了这些技术。一个 GPU 可以同时服务数十个并发用户因为 decode 使大部分算术容量闲置而连续批处理用其他请求填补那些空闲容量。总结综合前面所述完整的推理路径如下图Tokenize文本通过 BPE 变成整数 IDEmbedID 变成向量RoPE 编码位置Prefill所有输入 token 通过每一层并行处理。计算密集型。KV 缓存填充。发出第一个 token。Decode 循环每步一个 token投影新 token 的 Qattend 缓存的 K/V运行 FFN采样。将新 K/V 追加到缓存。内存密集型。DetokenizeToken ID 映射回文本并流式输出。一些实际影响•长提示词在 TTFTprefill上成本高昂•长输出在 ITLdecode上成本高昂• 它们消耗不同的硬件资源• 上下文长度不是免费的因为它膨胀了 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时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】