大模型推理面试高频考点,Prefill与Decode两阶段详解
📌。
大模型推理分为Prefill和Decode两个阶段。Prefill阶段一次性处理完整prompt,进行大批量矩阵计算生成初始KV Cache,影响首token延迟(TTFT);Decode阶段token-by-token生成后续内容,结合KV Cache进行小批量计算,影响整体吞吐(TPOT)。这种划分源于KV Cache机制,两个阶段需采用不同优化策略,如Prefill优化大矩阵并行效率,Decode优化单token延迟。
导语
在大模型推理面试中,Prefill 和 Decode 阶段是高频考点。那为什么会有Prefill和Decode两个阶段,针对两个阶段,又有那些不同的优化方法,本文一起探究一下。
模型推理过程
先从宏观角度看下,大模型推理的过程:

如图所示,我们在使用LLM时,会先输入一个prompt(我是小),LLM根据我们输入的prompt,逐词预测下一个词,直到句子结束。
从技术角度来看,大致会经历这么几个过程:
📌 tokenize:将输入的文本进行分词,得到token,简言之就是将文本中的词,用一个数字来进行表示,以方便后续运算。

📌 Embedding:将离散的token id,转到高维的向量连续向量。简言之就是将对应数字表示的词,转为用一个向量来表示,方便LLM进行计算。

📌 Norm:归一化,LLM中LayerNorm和RMSNorm比较常见。主要为了稳定数值范围和提高模型泛化能力。
📌 Self-Attention:自注意力计算,简单理解就是输入的各个Token之间进行计算,这样每个token就能感知到其他token的信息。
📌 FFN:一般由矩阵计算和激活函数为主,主要作用是引入非线性和加强token内信息加工(Attention专注于token间)。
📌 Norm、Self-Attention、FFN 组合为transformer block,一般一个模型中会叠加多层,以扩充模型能力。
📌 lm_head:将隐空间投影回词表空间。简单来说,之前每个词向量大小为hidden_size,经过计算后和词表大小相同。词向量里每一个位置的值即是下一个词是当前token的概率。
📌 sample:通过一定的方式解码。
KV Cache
这里需要注意的点有几个:
📌 如第一张图所示,推理的过程是一个 自回归 的过程: 当前词结合 前文的信息,预测文本下一个词,结合前文 的过程,通过Attention机制来实现。
📌 大模型的构成部分,只有Attention是token之间存在计算的。其他的计算,token之间都是彼此独立的。
📌 深探 Attention 的计算过程可以发现,当前词结合 前文信息的过程,通过当前词的query和前文的key、value计算获得。
上面所提到的这几点,便是KV Cache的原理。根据上面这几点,便可以在系统中分配一块显存,将前文的Key和Value缓存起来,用来节省计算量。
但是,在第一次进行计算时,比如我们前文举得例子,输入“我是小”,根据“小”来预测下一个词,但因为第一次输入,“我是”的key和value并没有被计算过,也就没得缓存。
因此,计算过程被分为了两个阶段,Prefill和Decode。
以上给出了Prefill和Decode划分的原理。
推理两阶段
接下来给Prefill和Decode下个定义:
📌Prefill 阶段:把用户输入的完整 Prompt一次性送进模型,做第一轮前向计算,得到初始的 KV Cache 和第一个 token 的概率分布。
- 本质是 大批量矩阵乘法(输入序列长,算子是大 GEMM)。
- 这个阶段耗时多,但并行度很高。
📌 Decode 阶段:从第二个 token开始,模型每次只接收前一步生成的一个 token,结合之前缓存下来的 KV Cache,计算下一个 token 的分布。
- 本质是 小批量矩阵乘法 + KV Cache累积(输入是单 token,算子是小 GEMM)。
- 这个阶段耗时更长(因为 token-by-token),但计算量相对小。
正因为Prefill和Decode两个阶段计算特点不同,因此优化点和评估****指标也不同:
📌 优化点:
- Prefill 阶段:要优化大矩阵并行效率(比如张量并行、FlashAttention)。
- Decode 阶段:要优化 token-by-token 延迟(比如 speculative decoding、kv cache 压缩、多请求并行 batch)。
📌指标:
- Prefill阶段:主要影响首 token 延迟(TTFT);
- Decode 阶段: 主要影响整体吞吐(TPOT)。
参考回答
什么是Prefill和Decode阶段?
📌 下定义
Prefill阶段:推理系统加载完整 Prompt,做第一轮前向计算,所有token都参与计算,得到初始的 KV Cache 和第一个 token。
Decode阶段:从第二个 token开始,上一个token结合前文的KV Cache计算,自回归生成后续token,直至结束。
📌 说原理
大模型的推理过程本质上是一个自回归的推理过程;
使用当前词来预测下一个词的概率;
而大模型推理过程中,除了Attention计算,其他计算各token之间都是独立的;
为了保证句子的通顺,当前词的query需要和前文的key和value做计算,来获取前文信息。
为了提升系统整体的性能,一般会用kv cache来缓存前文的key和value,节省计算;
但预测第一个词时,前文的kv cache还未计算过,因此需要所有的token先参与计算,得到首字和kv cache。再token-by-token生成后续token。
这便是Prefill和Decoding两阶段。
📌 聊影响
正因为Prefill和Decoding阶段参与计算的token数量不一致,因此后续催生了针对不同阶段的优化方法:
Prefill阶段:chuck-Prefill、prefix-cache等;
Decode阶段:Flash Decoding等;
(📢:这里往自己熟悉的知识点引导)
如何系统学习掌握AI大模型?
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。

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

5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费】

更多推荐



所有评论(0)