大模型推理中Prefill与Decode、KV Cache三者说明

大语言模型推理基于自回归生成范式,严格分为 Prefill(预填充)Decode(解码) 两个阶段。二者在计算形态、访存特征、硬件瓶颈上存在本质差异。KV Cache(键值缓存) 是实现两阶段衔接、消除重复计算的核心机制。而 PD 分离(Prefill-Decode Separation) 则是针对两阶段异构特性提出的推理调度与架构优化方案。

一、大模型推理的Prefill与Decode阶段

LLM基于Transformer架构的自回归生成特性,决定了其推理过程需分阶段完成。Prefill阶段完成对输入提示词的并行处理与缓存构建,Decode阶段则基于缓存进行串行的token生成,两个阶段衔接构成完整的推理流程,且各自具备鲜明的技术特征。
在这里插入图片描述

Prefill阶段的理论计算量比较大,但在整个推理过程中的耗时占比并不多。
ecode阶段的理论计算量比较小,但因为是串行计算(按顺序生成token),整个推理过程中的耗时占比较大。

1.1 Prefill(预填充)阶段

Prefill阶段是模型对用户输入的完整Prompt进行一次性编码、计算并生成首个token的批量并行计算阶段,也是推理的前置核心步骤。

  1. 核心流程:首先对用户输入的自然语言进行Tokenization(分词),转换为模型可理解的token序列;随后模型对所有输入token进行并行计算,逐层完成Transformer的注意力机制与前馈网络(FFN)计算,为每个token生成对应的Key(键)和Value(值)向量;最后基于这些向量生成推理的首个输出token,并将所有输入token的KV向量填充至KV Cache中,为Decode阶段做准备。
    在这里插入图片描述

  2. 关键特征一次性处理整个Prompt序列,所有计算并行完成,GPU利用率接近100%,属于计算密集型阶段;耗时仅由原始Prompt的长度决定,与后续生成的token数量无关;该阶段指标为TTFT(Time To First Token,首Token生成时间),是用户感知推理延迟的首要指标。

  3. 计算瓶颈:核心计算量集中在注意力机制的O(n2⋅d)O(n^2·d)O(n2d)运算(nnn为Prompt长度,ddd为特征维度),当Prompt序列较长时,注意力矩阵的计算会成为主要瓶颈,同时带来临时的高显存占用。

1.2 Decode(解码)阶段

Decode阶段是模型以Prefill阶段的输出为基础,逐一生成后续每一个token的串行迭代计算阶段,是自回归生成的核心过程。每一步只生成一个新 token

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万里鹏程转瞬至

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值