深入解析LLM推理流程:从Token化到流式输出,小白也能看懂大模型优化秘籍!

发布时间:2026/7/5 14:20:23
深入解析LLM推理流程:从Token化到流式输出,小白也能看懂大模型优化秘籍! 本文详细解析了LLM从接收输入到生成输出的完整推理流程包括Token化、嵌入、Transformer层的自注意力和前馈网络等关键阶段。文章分析了预填充和解码两个主要计算阶段的特点指出预填充是计算密集型解码是内存密集型并深入探讨了KV缓存的作用及其优化策略如量化、滑动窗口注意力等。此外还介绍了现代推理服务器的优化技术如连续批处理和推测解码以及vLLM框架等。最后文章提出了实际部署中可能遇到的瓶颈问题及解决方案帮助读者更好地理解和优化LLM的推理性能。每次对 LLM 调用 generate() 都会在同一块 GPU 上运行两个不同的计算阶段预填充prefill即处理提示词属于计算密集型compute-bound而解码decode即逐 token 生成属于内存密集型memory-bound大多数推理优化都针对其中一个阶段诊断哪个阶段是瓶颈是让部署变快的第一步。本文将带你走完整个流水线——从 token 化输入到流式输出并分析每个阶段的时间都花在了哪里。Token 化与嵌入像字节对编码BPE这样的分词器将原始文本转换为来自约 50,000 个 token 词汇表的整数 ID。prompt How does inference work? ids tokenizer.encode(prompt) # ids - [2437, 1374, 32278, 670, 30]每个 ID 映射到嵌入表中的一行嵌入表是一个形状为 [vocab_size, hidden_dim] 的学习矩阵。对于一个隐藏维度为 4,096 的模型每个 token 变成一个 4,096 维的向量。# embedding_table has shape [vocab_size, hidden_dim] vectors embedding_table[ids] # shape: [num_tokens, 4096]位置信息在这一阶段被注入。大多数现代架构使用旋转位置嵌入RoPE它通过旋转嵌入向量来编码位置而不是加上一个单独的位置向量。Transformer 层嵌入后的序列会经过一个由多个 transformer 层组成的堆栈通常在 32 到 80 层之间取决于模型规模。每一层依次执行两个操作自注意力self-attention 通过已学习的权重矩阵为每个 token 计算三个投影查询 Q、键 K、值 V。每个 token 的查询与所有其他 token 的键进行打分这些分数经过缩放和 softmax 后决定了每个 token 的值被混入多少。# scores: how much each token attends to every other token Q, K, V x Wq, x Wk, x Wv scores (Q K.T) / sqrt (d_k) weights softmax(scaled) # one row per token, sums to 1 attn_output weights V2. 前馈网络FFN 通过一个两层 MLP 独立地处理每个 token 的向量。注意力在位置之间传递信息FFN 则对其进行变换。经过最后一层后模型将最后一个 token 的隐藏状态投影回词汇表大小[hidden_dim, vocab_size]应用 softmax并从结果分布中采样以生成第一个输出 token。预填充prefill计算密集型阶段处理输入提示词是第一阶段。所有 token 并行处理同时为所有 token 计算 Q、K、V注意力以大矩阵-矩阵乘法的形式运行。这是计算密集型工作。GPU 的算术吞吐量是瓶颈利用率很高。衡量这一阶段的指标是首 token 延迟TTFT即第一个输出 token 出现之前的等待时间。在预填充阶段模型还会填充 KV 缓存KV cache每一层的 K 和 V 张量被存储在 GPU 内存中以供复用。# Prefill: process the whole prompt in one shot hidden embed(prompt_tokens) positions for layer in model.layers: Q, K, V project(hidden) # for ALL tokens at once hidden attention(Q, K, V) hidden hidden feedforward(hidden) hidden cache_kv(layer, K, V) # save for later first_token sample(project_to_vocab(hidden[-1]))解码decode内存密集型阶段一旦第一个 token 生成模型便切换为一次生成一个 token。对于每个新 token它只计算该单个 token 的 Q、K、V。所有先前 token 的 K 和 V 已经在缓存中。# Decode: one token per iteration token first_token steps 0 while token ! STOP and steps MAX_STEPS: x embed(token) position(steps) for layer in model.layers: q, k, v project(x) K_all, V_all caches[layer].append(k, v) # cached history new x layer.forward(q, K_all, V_all, x) # attention FFN, residuals token sample(project_to_vocab(x)) steps 1 yield token每一步的计算量都很小一个查询向量与缓存的键矩阵相乘而不是完整的矩阵-矩阵乘法。但 GPU 仍然需要为这点计算加载每一个权重矩阵和整个缓存中的 K/V。瓶颈从计算转向了内存带宽。衡量这一阶段的指标是 token 间延迟ITL连续输出 token 之间的间隔时间。低 ITL 是让模型感觉流畅响应的关键。KV 缓存如果没有缓存生成 1,000 个 token 的响应需要在每一步重新计算整个不断增长的序列上的注意力导致二次复杂度。KV 缓存一次性存储每一层的 K 和 V 张量并逐步追加新条目。对于长文本生成加速比约为 5 倍或更高。代价是缓存随序列长度线性增长并且每一层都存在一份。对于一个 13B 参数的模型缓存每 token 大约消耗 1 MB。一个 4K token 的上下文仅缓存就要烧掉 4 GB 的显存。这就是长上下文变得昂贵的原因。缓存在 GPU 内存中与批量大小batch size直接竞争——即每个请求的缓存越多每个 GPU 上能并发的请求就越少。标准的缓解方案包括将缓存量化quantization到 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%。按绝对值算在 1M 上下文、bf16 精度下每个序列的 KV 缓存为 9.62 GiB而 V3.2 风格的架构预估需要 83.9 GiB。再叠加上 fp4/fp8 量化缓存还能再缩小 2 倍。KV 缓存已经成为该领域在模型架构层面围绕其进行优化的核心约束。量化训练使用 FP32 或 BF16 以保证梯度稳定性。推理不需要那么高的精度。降低位宽带来的内存节省是线性的7B 参数FP3228 GB7B 参数FP16/BF1614 GB7B 参数INT87 GB7B 参数INT43.5 GBINT4 正是 7B 模型能在 4-6 GB 显存的笔记本 GPU 上运行的原因。GPTQ 和 AWQ 等方法使用逐通道缩放因子以最小化有损压缩带来的质量下降。做得好的话INT4 在标准基准测试上能达到与全精度模型相差 1-2 个百分点的水平。从 FP16 到 INT8 通常能将推理延迟减半且质量损失可忽略不计这使得量化成为大多数部署中杠杆最高的单一优化手段。推理服务基础设施现代推理服务器在预填充-解码循环之上叠加了若干优化连续批处理continuous batching 在同一 GPU 计算步骤中交错处理来自多个请求的 token即使在内存密集型的解码阶段也能保持高利用率。推测解码speculative decoding 使用一个小型草稿模型提议多个 token然后由大模型在单次前向传播中验证它们。当草稿模型的接受率较高时这实际上将多个串行的解码步骤转换为一次并行验证。分页注意力PagedAttentionvLLM以固定大小的块管理 KV 缓存内存消除碎片使每个 GPU 能容纳更多并发请求。vLLM、TensorRT-LLM 和 Text Generation InferenceTGI等框架整合了这些技术。一块 GPU 可以同时服务数十个并发用户因为解码阶段留下了大部分算术计算能力处于空闲状态而连续批处理用其他请求填补了这些空闲算力。完整的推理路径Token 化 文本通过 BPE 转换为整数 ID。嵌入 ID 变为向量。RoPE 编码位置。预填充 所有输入 token 并行通过每一层处理。计算密集型。填充 KV 缓存。产出第一个 token。解码循环 每步一个 token为新 token 投影 Q在缓存的 K/V 上执行注意力运行 FFN采样。将新的 K/V 追加到缓存。内存密集型。去 Token 化 Token ID 映射回文本并流式输出。一些实际启示长提示词在 TTFT预填充上代价高昂长输出在 ITL解码上代价高昂且它们施压于不同的硬件资源上下文长度不是免费的因为它会膨胀 KV 缓存并直接降低批处理容量即使服务器满载解码阶段的 GPU 利用率也可能降至 30%因为瓶颈是内存带宽而非算术计算解决方案不是更强的算力而是更快的内存、更小的缓存或更好的批处理当有人告诉你他们的模型很慢时第一步诊断就是判断它是启动慢预填充受限优化 TTFT还是流式输出慢解码受限优化 ITL。 轮到你来说你的部署中遇到的是 TTFT 还是 ITL 瓶颈你是如何解决的以上就是全部内容最后如果说程序员已经是高薪职业那么干AI的程序员就是高薪中的高薪。现在的市场已经用数据给程序员指明了方向学AI大模型就是冲刺高薪的最优解看着身边越来越多的同行转型大模型、拿到高薪offer很多人心里都动了心但真正的难题来了零基础小白不知道从哪入门有基础的程序员找不到系统学习路径实战项目练手无门面试不知道考什么别慌今天就给大家整理了一份【2026年最新版】AI大模型免费学习资源包覆盖从入门到实战、从理论到面试、从基础到进阶的全流程所有资料均已整理归档无冗余、无套路免费分享给每一位想抓住AI风口的程序员和小白扫码免费领取全部内容1、大模型系统化学习路线2、大模型学习书籍文档3、AI大模型最新行业报告4、大模型项目实战配套源码5、大模型大厂面试真题四阶段精细化学习规划附时间节点可直接照做结合上述资源给大家整理了一份可直接落地的四阶段学习规划总时长约2个月小白可循序渐进程序员可根据自身基础调整节奏高效掌握大模型核心能力快速实现从“入门”到“能落地、能面试”的跨越。第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…扫码免费领取全部内容6、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】