小白程序员必看!从入门到精通:大模型推理全解析(含收藏资源)
本文深入解析了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 @ V
- 2. 前馈网络(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 以减少缓存的张量数量),以及分页注意力(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%。
按绝对值算,在 1M 上下文、bf16 精度下,每个序列的 KV 缓存为 9.62 GiB,而 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 显存的笔记本 GPU 上运行的原因。GPTQ 和 AWQ 等方法使用逐通道缩放因子,以最小化有损压缩带来的质量下降。
做得好的话,INT4 在标准基准测试上能达到与全精度模型相差 1-2 个百分点的水平。
从 FP16 到 INT8 通常能将推理延迟减半,且质量损失可忽略不计,这使得量化成为大多数部署中杠杆最高的单一优化手段。
推理服务基础设施
现代推理服务器在预填充-解码循环之上叠加了若干优化:

- 连续批处理(continuous batching) 在同一 GPU 计算步骤中交错处理来自多个请求的 token,即使在内存密集型的解码阶段也能保持高利用率。
- 推测解码(speculative decoding) 使用一个小型草稿模型提议多个 token,然后由大模型在单次前向传播中验证它们。当草稿模型的接受率较高时,这实际上将多个串行的解码步骤转换为一次并行验证。

- 分页注意力(PagedAttention)(vLLM)以固定大小的块管理 KV 缓存内存,消除碎片,使每个 GPU 能容纳更多并发请求。
vLLM、TensorRT-LLM 和 Text Generation Inference(TGI)等框架整合了这些技术。一块 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 瓶颈?你是如何解决的?
以上就是全部内容!
最后
近期科技圈传来重磅消息:行业巨头英特尔宣布大规模裁员2万人,传统技术岗位持续萎缩的同时,另一番景象却在AI领域上演——AI相关技术岗正开启“疯狂扩招”模式!据行业招聘数据显示,具备3-5年大模型相关经验的开发者,在大厂就能拿到50K×20薪的高薪待遇,薪资差距肉眼可见!

业内资深HR预判:不出1年,“具备AI项目实战经验”将正式成为技术岗投递的硬性门槛。在行业迭代加速的当下,“温水煮青蛙”式的等待只会让自己逐渐被淘汰,与其被动应对,不如主动出击,抢先掌握AI大模型核心原理+落地应用技术+项目实操经验,借行业风口实现职业翻盘!
深知技术人入门大模型时容易走弯路,我特意整理了一套全网最全最细的大模型零基础学习礼包,涵盖入门思维导图、经典书籍手册、从入门到进阶的实战视频、可直接运行的项目源码等核心内容。这份资料无需付费,免费分享给所有想入局AI大模型的朋友!

👇👇扫码免费领取全部内容👇👇

部分资料展示
1、 AI大模型学习路线图

2、 全套AI大模型应用开发视频教程
从入门到进阶这里都有,跟着老师学习事半功倍。

3、 大模型学习书籍&文档

4、 AI大模型最新行业报告
2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

5、大模型大厂面试真题
整理了百度、阿里、字节等企业近三年的AI大模型岗位面试题,涵盖基础理论、技术实操、项目经验等维度,每道题都配有详细解析和答题思路,帮你针对性提升面试竞争力。


6、大模型项目实战&配套源码
学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
- 👇👇扫码免费领取全部内容👇👇

这些资料真的有用吗?
这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

168



被折叠的 条评论
为什么被折叠?



